Está en la página 1de 13

Direccin estratgica de equipos de

desarrollo de software

Actividad de Aprendizaje 03.

Desarrollo de Proyecto de Software

Docente: Mtro. Eduardo Pazos Gutierrez


Antonio Alvarez Galicia
Matrcula: 78691
Grupo: IS15

Objetivo: Desarrollar la primera parte de la administracin de un


proyecto de software, entendiendo la complejidad de cada una
de las etapas.

19 de Noviembre de 2017
Introduccin

Es el Proceso de gestin para la creacin de un Sistema o software, la cual encierra un


conjunto de actividades, una de las cuales es la estimacin, estimar es echar un posible
vistazo al futuro y aceptar resignados cierto grado de incertidumbre.Aunque la estimacin,
es mas un arte que una Ciencia, es una actividad importante que no debe llevarse a cabo
de forma descuidada.Existen tcnicas tiles para la estimacin de costes de tiempo. Y dado
que la estimacin es la base de todas las dems actividades de planificacin del proyecto y
sirve como gua para una buen a Ingeniera Sistemas y Software.
Al estimar tomamos en cuenta no solo del procedimiento tcnico a utilizar en el proyecto,
sino que se toma en cuenta los recursos, costos y planificacin. El Tamao del proyecto es
otro factor importante que puede afectar la precisin de las estimaciones. A medida que el
tamao aumenta, crece rpidamente la interdependencia entre varios elementos del
Software.
La disponibilidad de informacin Histrica es otro elemento que determina el riesgo de la
estimacin.

La planeacin efectiva de un proyecto de software depende de la planeacin detallada de


su avance,anticipando problemas que puedan surgir y preparando con anticipacin
soluciones tentativas a ellos. Se supondr que el administrador del proyecto es responsable
de la Planeacin desde la definicin de requisitos hasta la entrega del sistema terminado.
Los puntos analizados posteriormente generalmente son requeridos por grandes sistemas
de
programacin, sin embargo estos puntos son vlidos tambin para sistemas pequeos.
Panorama. Hace una descripcin general del proyecto detalle de la organizacin del
plan y resume el resto del documento.
Plan de fases. Se analiza el ciclo de desarrollo del proyecto como es: anlisis de
requisitos, fase de diseo de alto nivel, fase de diseo de bajo nivel, etc. Asociada
con cada fase debe de haber una fecha que especifique cuando se debe terminar
estas fases y una indicacin de como se pueden solapar las distintas fases del
proyecto.
Plan de organizacin. Se definen las responsabilidades especificas de los grupos
que intervienen en el proyecto.
Plan de pruebas. Se hace un esbozo general de las pruebas y de las herramientas,
procedimientos y responsabilidades para realizar las pruebas del sistema.
Plan de control de modificaciones.Se establece un mecanismo para aplicar las
modificaciones que se requieran a medida que se desarrolle el sistema.
Plan de documentacin. Su funcin es definir y controlar la documentacin asociada
con el proyecto.
Plan de capacitacin. Se describe la preparacin de los programadores que
participan en el proyecto y las instrucciones a los usuarios para la utilizacin del
sistema que se les entregue.
Plan de revisin e informes. Se analiza como se informa del estado del proyecto y se
definen las revisiones formales asociadas con el avance de proyecto.
Plan de instalacin y operacin.Se describe el procedimiento para instalar el sistema
en la localidad del usuario.
Plan de recursos y entregas. Se resume los detalles crticos del proyecto como
fechas programadas,marcas de logros y todos los artculos que deben entrar bajo
contrato.

ADMINISTRACIN DE PROYECTO

Descripcin del Software.

Nombre del Sistema: Sistema para la evaluacin de productividad de empleados en


fbrica.

Este sistema consiste en la evaluacin de los empleados en una fbrica de muebles


de acuerdo a su produccin con el propsito de generar estadsticamente cuando la fbrica
est en capacidad de recibir nuevos trabajos sin retrasarse, asimismo el rol de supervisor
que contendr este sistema tendr la capacidad de reportar de acuerdo a cada fase de
desarrollo de los productos cuando un mueble est en condiciones ptimas y otorgar un
puntaje adecuado para cada uno de los empleados que trabajan en ellos en sus diferentes
fases de produccin.

Calendarizacin de fechas de entrega

GRFICA DE GANTT

MESES

Julio
Junio

ACTIVIDADES SEMANAS SEMANAS

1 2 3 4 1 2 3 4

Roles

Permisos

Reglas

Usuarios

Catlogos

Muebles

Generador de
cdigo de barras

Proyectos

Asignacin de Roles de Trabajo

Puesto Actividad Momentos de Intervencin

Director de Es el encargado de gestionar con los clientes Al trmino de cada sprint de


Desarrollo los requerimientos y es el ltimo en la lista de desarrollo en la metodologa SCRUM
sobrellevar requerimientos pendientes,
tcticamente funge con los lderes de
desarrollo para determinar los rumbos de
nuevos desarrollos asi como la
implementacin de nuevas tecnologas e
investigacin sobre nuevos caminos en el
software.

Lder de El lder de desarrollo es el encargado de A lo largo del flujo de desarrollo.


Desarrollo obtener los requerimientos del cliente y
transmitirlos al equipo de desarrollo, se
encarga de vigilar el flujo de desarrollo en la
plataforma de desarrollo donde se registran
los avances constantes del proyecto.

Project Manager Es la encargada del sostenimiento de los A lo largo del seguimiento de


proyectos que entran en la fabrica de proyectos en general y
software, actualmente esta a cargo de la certificaciones que adquiere la
administracion, seguimiento y control de empresa
CMMI nivel 3 y de la obtencion de ISO 27000

Desarrollador Es el puesto encargado de llevar el control de Durante el desarrollo de


web la codificacion de los requerimientos en los requerimientos en codigo fuente
proyectos con el proposito de llevarlos a
plataformas de QA

Area de SQA y Es el equipo encargado de probar las Se encarga de gestionar las pruebas
Testing aplicaciones generadas por la fabrica. automatizadas para antes de entrega
al cliente.

COSTOS Y EQUIPAMIENTO.

Requerimiento Version Costo Observaciones

Yii2 2+ Open Source Framework de desarrollo agil para


aplicaciones de alto desempeo
escalables y extensibles.

PHP 7+ Open Source Lenguaje integrado del lado del


servidor
Maria DB 10+ Open Source SGBD relacional de alto
performance

Apache Web server 2+ Open Source Servidor web de alto rendimiento

Computadora Personal NO APLICA NO APLICA Equipo de computo proporcionado


por la empresa

Bitbucket GIT 2+ 30 dolares americanos al Versionador para equipos de


mes desarrollo agil

SO Linux Ubuntu 17.04 Open Source Sistema operativo de la familia


linux altamente seguro y usable

JIRA NO APLICA 200 dolares americanos Sistema de gestion de proyectos


al mes en linea

Help Desk NO APLICA 200 dolares americanos Sistema de ayuda y comunicacion


al mes organizada Cliente Empresa

Scrutinizer NO APLICA 200 Euros al mes Evaluador de codigo fuente para


calidad del mismo

Swagger 2+ Gratuito Base de escritura de contratos


para servicios en REST

SSH Server NO APLICA Open Source Servidor de comunicacion integral


por protocolo SSH

Calendarizacin de avance y pruebas a realizar

METRICAS TECNICAS

Cualquier cosa que queramos medir o predecir en un software es un atributo de


cualquier entidad de un producto, proceso o recurso asociado a este. Cada entidad de
software tiene varios atributos que pueden ser medidos. Es por eso que se necesita hacer
una distincin entre atributos que son internos o externos y medidas directas e indirectas.

Los atributos internos de un producto, proceso o recurso son aquellos que podemos
medir puramente en terminos del producto, proceso o recurso del mismo, por ejemplo, la
longitud de un programa o del tiempo transcurrido de cualquier documento de software

Aplicacion en el proyecto desarrollado.

Las actividades y atributos medibles del proyecto estan expresados en la grafica de


Gantt de las actividades.
Estas actividades son las necesarias para el desarrollo de la primera fase del
proyecto indicando modularmente cada una de las implicaciones del proyecto.

Los atributos externos de un producto, proceso o recurso son aquellos que


solamente pueden ser medidos con respecto al como el producto, proceso o recurso se
relacionan a su ambiente. Estos tienden a ser los que el administrados y el usuario del
software comunmente gustan de medir y predecir.

Implicaciones sobre el proyecto

El proyecto esta pensado para ser con orientacion a recursos, esto implica que cada
una de las funcionalidades debe estar desarrollada a un nivel atomico e indertependiente
entre si al desarrollarse como un webservice. Esta arquitectura implica:

1) Los servicios orientados a recursos deben ser desarrollados independientes


unos de otros
2) Los servicios son reutilizables, mantenibles y versionados.
3) Toda orientacion a recursos debera mantener una version estable, una
deprecada y una obsoleta con el objetivo que a lo largo del tiempo estos
evolucionen con la tecnologia.
4) Cada servicio desarrollado en el proyecto representa funciones unicas que
pueden ser usadas en otros proyectos si se requiere.

METRICAS PARA LA CALIDAD DE SOFTWARE

Las metricas de calidad proporcionan una indicacion de como se ajusta el software,


a los requerimientos implicitos y explicitos del cliente.

Para lograr este objetivo, los ingenieros del software deben utilizar mediciones que
evaluen la calidad del analisis y los modelos de desafio, el codigo fuente y los casos de
prueba que se han creado al aplicar la ingenieria del software. Para lograr esta evaluacion
de calidad en tiempo real, el ingeniero debe utilizar medidas tecnicas que evaluan la calidad
con objetividad, no con subjetividad.

El primer objetivo del equipo del equipo de proyecto es medir errores y defectos. Las
metricas que provienen de estas proporcionan una indicacion de la efectividad de las
actividades de control y de la garantia de calidad.

Aplicaciones dentro del proyecto

La fase final de la planeacion en la grafica de Gantt consiste en que pase al area de


SQA y Testing donde se garantizara que se contiene una alta calidad en el software
desarrollado a lo largo del tiempo de la planeacion.

Las pruebas que desarrolla el area son:

1) Pruebas de aceptacion: Estas pruebas estan orientadas a la Aceptacion del cliente


es decir que cumplen con la funcionalidad que espera el usuario final, por lo regular
se ejecutan como un navegador en vivo y se probara la aplicacion cumpliendo con
los requerimientos de la solicitud de la aplicacion.
2) Pruebas Unitarias: Estas pruebas estan orientadas a la ejecucion del codigo fuente
metodo a metodo de modo tal que la cobertura del codigo se ejecute en la mayor
parte que sea posible. En el area de la calidad es muy importante que la mayoria del
codigo se ejecute de modo tal que se de cobertura a la maxima cantidad de la
aplicacion, esto es beneficioso ya que se espera que se genere una adecuada
cobertura del codigo implicando que todo el software se haya probado.
3) Pruebas de funcionalidad: Estas pruebas se espera que cumplan con el deber ser
del sistema, esto involucra que el sistema funcione como deberia de acuerdo a la
evaluacion del codigo fuente y a la funcionalidad que espera el cliente.

Cabe sealar que estas pruebas deberan ser automatizadas y agregadas a la matriz de
pruebas de modo que se genere un historico automatico de modo tal que con cada ciclo de
pruebas se puedan ejecutar las pruebas anteriores y comprobar que lo que ya funcionaba
continua haciendolo.
METRICAS DE PRODUCTIVIDAD DEL DESARROLLO DE SOFTWARE

Esta clase de metricas se centran en el rendimiento del proceso de la ingenieria de


software.

1) Cantidad por unidad de tiempo de trabajo: dentro del ambito de desarrollo se realiza
una metrica determinada y estricta de dos semanas por desarrollador, estos
periodos se conocen como sprints bajo metodologia SCRUM con una duracion de 2
semanas por lo que se contabilizara las tareas desarrolladas por hora y tiempo
trabajado en estas dos semanas.
2) El ritmo de entrega: Este involucra como y cada cuanto se entreguen las tareas. En
el proceso de desarrollo las tareas se contabilizan en tiempos con estatus EN
TIEMPO, EN PROGRESO, LISTO. Con estos estatus se puede contabilizar cuantos
y cuales han sido las tareas que son registradas.
3) Funcionalidad entregada por unidad de coste: En el software JIRA de administracion
de proyectos en linea se puede contabilizar cuantas tareas y cuantos recursos
fueron necesarios para desarrollar involucrando un mayor control sobre las mismas
tareas.
METRICAS ORIENTADAS A LA PERSONA

Proporcionan medidas e informacion sobre la forma que la gente desarrolla el


software de computadoras y sobre todo el punto de vista humano de la efectividad de las
herramientas y metodos. Son las medidas que voy a hacer de mi persona que va y hara el
sistema.

Implicaciones dentro del proyecto

Para evaluar el desarrollo de software por persona se utiliza la herramienta


Scrutinizer. Esta herramienta es un evaluador por cada commit de codigo que evalua:

1) Lineas de codigo insertadas por el usuario


2) Posibles oyos de seguridad insertados.
3) Dependencias entre clases
4) Codigo duplicado
5) Cobertura de codigo en el total del proyecto
6) Ejecucion de pruebas automaticas y sus errores o aprobaciones.

De este modo es posible evaluar por persona los avances sobre el desarrollo de un
desarrollador sobre el proyecto trabajando en equipo.

METRICAS ORIENTADAS AL TAMAO

Las metricas del software orientadas al tamao provienen de la normalizacion de las


medidas de calidad y/o productividad considerando el tamao del software que se haya
producido. Es para saber en que tiempo se va a terminar el software y cuantas personas
voy a necesitar. Son medidas directas al software y el proceso por el cual se desarrolla, si
una organizacion de software mantiene registros sencillos, se puede crear una tabla de
datos orientados al tamao.

En este punto se realiza bajo 3 rubros dentro de la implicacion del proyecto.

1) Estimacion de tiempo: para tareas similares el equipo de desarrollo realiza una


estimacion de las tareas en tiempo por horas, las estimaciones por dias son validas,
sin embargo, esto implica que los tiempos pueden ser muy cortos o muy largos
dependiendo de la experiencia del equipo de desarrollo en tareas similares o de esta
misma indole.
2) Tiempo de desarrollo realizado: Este es el tiempo real que se tardo en realizar la o
las tareas por lo cual se registra en bitacora de historico para proximas estimaciones.
3) Historico de tareas: el historico de las tareas ayuda para definir los tiempos quse
tardaron a lo largo de la historia de vida de uno o varios proyectos para esitmar
mucho mejor los tiempos de desarrollo de las tareas con la facultad depoder dar
mejores resultados durante el desarrollo del sprint.

ANLISIS DE REQUERIMIENTOS

Modulo LOC Funciones Funciones Tiempo de


Prioritarias Estimadas Desarrollo

Roles 230 CRUD Roles Administracin 100H


de roles.

Asignacin de
permisos a
roles

Asignacin de
roles a usuarios

Permisos 450 CRUD Administracin 35H


Permisos de permisos

Asignacion de
permisos a
roles

Reglas 120 CRUD Reglas Administracion 25H


de reglas

Asignacion de
reglas a
permisos

Usuarios 350 CRUD usuarios Adminustracion 150H


de roles

Asignacion de
roles a
usuarios.

Catlogos 250 CRUD Administracion 90H


Catalogos de catalogos
del sistema

Muebles 150 CRUD Muebles Administracion 55H


de muebles de
la fabrica

Generador de 340 Impresion de Generacion de 60H


codigo de codigo de codigo de
barras barras barras unico y
aleatorio

Impresion de
codigo de
barras tamao
variado

Generacion de
imagen con
PHP

Proyectos 260 CRUD Administracion 80H


Proyectos de proyectos.

Asignacion de
codigo de
barras unico a
cada usuario.

Comentarios: Esta tabla est basada en las actividades para la fase 1 del proyecto
donde se realizarn los cuestionamientos bsicos sobre los permisos y administracin de
los catlogos ms generales del sistema.

ESPECIFICACIN DEL PROBLEMA

La prioridad de las empresas es la administracin correcta de los recursos que en


ellas se manejan, esto quiere decir que se preocupan por gastar solo lo suficiente para
mantener una estabilidad correcta y generar la mayor cantidad de recursos ms altos dentro
del ramo que manejen.

La problemtica de muchas empresas del corte de desarrollo de software es la


obtencin de nuevos proyectos y su correcto mantenimiento y desarrollo a lo largo de sus
fases en cmo se desarrolla.

Para conseguir esta clase de desarrollo ptimo es importante saber cuales y en qu


fases de desarrollo se encuentra uno u otro producto/servicio, por ello, el problema principal
es saber cuando tienes posibilidades de desarrollar y obtener nuevo trabajo sin interrumpir
otros o generar retrasos.

Para la programacin se requieren algoritmos que contemplen tiempos de inicio y


trmino, de tiempos y contrastacion con proyectos alternos.

REFERENCIAS

1) Plan de proyecto software. (2016, agosto 15). Wikiversidad, . Consultado el 03:50, mayo
20, 2017 en
https://es.wikiversity.org/w/index.php?title=Plan_de_proyecto_software&oldid=120618.
2) Cobian Media. (2017). Cul es el mejor software de gestin de proyectos?. [online]
Disponible en: http://www.cobianmedia.com/2014/07/09/software-de-gestion-proyectos/
[Accesado 20 May 2017].
3) Sg.com.mx. (2017). El Importante Papel del Cliente en un Proyecto gil de Software |
SG. [online] Disponible en:
https://sg.com.mx/revista/43/el-importante-papel-del-cliente-un-proyecto-agil-software#.
WR_b0HU1_Dc [Accesado 20 May 2017].
4) management, B., gantt, D. and sirve?, . (2017). Qu es un diagrama de Gantt y para
qu sirve? | OBS Business School. [online] Obs-edu.com. Disponible en:
http://www.obs-edu.com/int/blog-project-management/diagramas-de-gantt/que-es-un-dia
grama-de-gantt-y-para-que-sirve [Accesado 20 May 2017].
5) E-mas.co.cl. (2017). PLANEACION DE PROYECTOS DE SOFTWARE. [online]
disponible en: http://www.e-mas.co.cl/categorias/informatica/analisisyd.htm [Accesado 20
May 2017].
6) Cidecame.uaeh.edu.mx. (2017). 2.3.1 Mtricas Orientadas al Tamao |. [online] Disponible
en :
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro22/231_mtricas_orientadas_al_tama
o.html [Accesado 3 Jun. 2017].
7) Anon, (2017). [online] Disponible en:
http://www.aeipro.com/files/congresos/2005malaga/ciip05_1766_1772.227.pdf [Accesado 3
Jun. 2017].
8) Anon, (2017). [online] Disponible en:
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/gonzalez_d_h/capitulo3.pdf [Accesado 3
Jun. 2017].
9) Anon, (2017). [online] Disponible en:
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/gonzalez_d_h/capitulo2.pdf [Accesado 3
Jun. 2017].
10) Raw.githubusercontent.com. (2017). Citar un sitio web - Cite This For Me. [online] Disponible
en: https://raw.githubusercontent.com/Qafoo/QualityAnalyzer/master/src/images/screen.png
[Accesado 3 Jun. 2017].
11) MAYRA (2017). Metricas de software. [online] Es.slideshare.net. Disponible en:
https://es.slideshare.net/May11IM0883/metricas-de-software-4278643 [Accesado 3 Jun.
2017].
12) Ecured.cu. (2017). Metricas para la calidad del software - EcuRed. [online] Disponible en:
https://www.ecured.cu/Metricas_para_la_calidad_del_software [Accesado 3 Jun. 2017].
13) MODELO COCOMO. (2017). MTRICAS PARA LA PRODUCTIVIDAD Y CALIDAD DEL
SOFTWAREMTRICAS PARA LA PRODUCTIVIDAD Y CALIDAD DEL SOFTWARE. [online]
Disponible en:
https://acevedodelacru.wordpress.com/metricas-para-la-productividad-y-calidad-del-software/
[Accesado 3 Jun. 2017].
14) T.I. (2017). Mtricas de tamao (Ingeniera de Software). [online] Es.slideshare.net.
Disponible en:
https://es.slideshare.net/profetiacademico/mtricas-de-tamao-ingeniera-de-software [Accesado
3 Jun. 2017].

También podría gustarte