Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MODALIDAD DE EDUCACIN
SEMIPRESENCIAL Y A DISTANCIA
GUA DE ESTUDIO
INGENIERA DE SOFTWARE I
QUINTO SEMESTRE
INGENIERA DE SOFTWARE I
TABLA DE CONTENIDO
Introduccin.
.
Informacin
general....
objetivos..
Sistema de contenidos.
..
Bibliografa
Problema,
.
objeto,
Estrategias
Metodolgicas.
Sistema
Evaluacin...
Actividades
de
..
11
de
13
Aprendizaje.....
14
INGENIERA DE SOFTWARE I
INTRODUCCIN
Con la perseverancia se obtiene la fortaleza
y esto nos permite, no dejarnos llevar por lo fcil y lo cmodo.
Bertha Mazn
Querido estudiante.!
Empezar una nueva asignatura representa reafirmar el compromiso que al principio
te propusiste, y al igual que muchos que iniciaron esta modalidad, te encuentras entre
aquellos que lograron las metas inciales.
Estudiar una profesin como sistemas en modalidad semipresencial o a distancia no
es fcil, tus propsitos deben mantenerse firmes, debes levantarte al caer y gozar del
triunfo que acompaa al trabajo terminado.
Vamos a iniciar el estudio de INGENIERA DE SOFTWARE I, cuyo requisito es Bases
de Datos I y Programacin Visual I. En esta asignatura iniciamos con el aprendizaje y
el desarrollo de habilidades concernientes al desarrollo de un proyecto de software.
Ahora, con tus aprendizajes podrs desarrollar software para empresas y/u
organizaciones, logrando alcanzar el nivel que en nuestra Institucin exigimos a los
futuros ingenieros de sistemas.
El objetivo de esta asignatura es desarrollar software de calidad que resuelvan
problemas de todo tipo, aplicando mtodos, tcnicas y herramientas del proceso de
ingeniera de software como anlisis, diseo e implementacin y los conocimientos
adquiridos de programacin, sistemas operativos, bases de datos y redes de
computadoras, para lo cual dividiremos el contenido temtico en cuatro temas que
son:
TEMA I: INTRODUCCIN A LA INGENIERA DE SOFTWARE. Nos permitir
caracterizar los conceptos, elementos y procesos de la Ingeniera de Software.
UTSAM-Modalidad Semipresencial y a Distancia
INGENIERA DE SOFTWARE I
TEMA II: INGENIERA DE REQUISITOS. Con este tema te preparars para realizar la
especificacin de los requisitos de software del problema planteado.
TEMA III: GESTIN DE PROYECTOS DE SOFTWARE. Aprenders a desarrollar la
gestin del proyecto de software mediante la elaboracin de la planificacin del
proyecto, el anlisis de riesgos, la configuracin del software y el control de calidad
que permita desarrollar un producto que satisfaga las necesidades del cliente.
TEMA IV: ANLISIS DEL SOFTWARE: Con este tema sers capaz de elaborar el
modelado del software segn el enfoque estructurado mediante el estudio y anlisis
de los requisitos del usuario.
As querido amigo, lograremos alcanzar el 90% de una de las principales habilidades
del ingeniero de sistemas, el desarrollo, por lo que te pido considerar las sugerencias
y sobretodo asistir con puntualidad a los encuentros programados.
En este curso utilizars herramientas como: Microsoft Project, Erwin y Visual CASE.
Recordemos la misin y visin de nuestra institucin en esta modalidad:
Misin
A travs de la modalidad semiprensencial y a distancia la Universidad tiene el
compromiso de formar profesionales e investigadores, competitivos, creativos y
humanistas, con capacidad de liderazgo, pensamiento crtico y reflexivo, capaces de
participar activamente en el fortalecimiento de las capacidad es productivas y de
servicio.
Visin
Brindar el acceso del sector a los procesos de educacin superior, generando una
nueva orientacin de su vinculacin con la comunidad local, regional y nacional,
demostrando la apertura de la Institucin de servir a la comunidad.
INGENIERA DE SOFTWARE I
INGENIERA DE SOFTWARE I
INFORMACIN GENERAL
DATOS GENERALES
Escuela
Especialidad
Asignatura
Nmero de crditos
Total Horas
:
:
:
:
:
INFORMTICA.
Ingeniera en Sistemas.
Ingeniera de Software I.
7
112 Hrs.
Docente
Telfono
INGENIERA DE SOFTWARE I
OBJETO
OBJETIVOS
INSTRUCTIVO
Al terminar el estudio de la asignatura el estudiante estar en capacidad de:
EDUCATIVO
COMPETENCIA
INGENIERA DE SOFTWARE I
SISTEMA DE CONTENIDOS
TEMA I:
OBJETIVO:
COMPETENCIA:
DURACIN:
INGENIERA DE REQUISITOS
Realizar la especificacin de los requisitos de software del problema
planteado.
COMPETENCIA:
Redacta documentos de especificacin del software.
DURACIN:
(32 horas)
SISTEMA DE
SISTEMA DE
SISTEMA DE CONOCIMIENTOS
HABILIDADES
VALORES
Conceptos
de
Ingeniera
de Identificar
y Responsabilidad
Requisitos
recolectar requisitos
Criticidad
Descripcin de las actividades del Validar y
Honestidad
proceso de la IR
gestionar requisitos
Obtencin de requisitos
Elaborar
los
Anlisis de requisitos
requisitos del software
Especificacin de Requisitos
segn el estndar de IEEE 830
UTSAM-Modalidad Semipresencial y a Distancia
INGENIERA DE SOFTWARE I
Validacin de requisitos
Gestin de requisitos
TEMA III:
GESTIN DE PROYECTOS DE SOFTWARE
OBJETIVO: Gestionar el proyecto de software mediante planificacin, seguimiento y
control del proceso de desarrollo de software y la realizacin de actividades
de soporte como: anlisis de riesgos, configuracin del software y control
de calidad que permita la construccin de un producto que satisfaga las
necesidades del cliente.
COMPETENCIA:
Gestiona proyectos de software. DURACIN:
(48 horas)
SISTEMA DE
SISTEMA DE
SISTEMA DE CONOCIMIENTOS
HABILIDADES
VALORES
CONCEPTOS SOBRE GESTIN DE
Gestionar el
Responsabilidad
PROYECTOS DE SOFTWARE
personal, el proceso y el Compaerismo
El espectro de gestin, el
problema durante el
Honestidad
personal, el producto, el proceso, el
proyecto de software
proyecto
PLANIFICACIN DEL PROYECTO DE
Identificar y
Responsabilidad
SOFTWARE
generar equipos de
Compaerismo
Objetivos de la planificacin
software, estimaciones
Honestidad
del proyecto
fiables del esfuerzo,
mbito del software, recursos
costes y duracin del
Estimacin del proyecto de
proyecto
software
o
Tcnicas de puntos de
funcin
o
Modelos empricos de
estimacin
La decisin desarrollarcomprar
PLANIFICACIN TEMPORAL Y
Desarrollar la
Responsabilidad
SEGUIMIENTO DEL PROYECTO
planificacin temporal de Compaerismo
Conceptos bsicos, la relacin
proyecto
Honestidad
entre las personas y el esfuerzo
Definicin de un conjunto de
tareas para el proyecto de software.
Seleccin de las tareas de Ing.
SW
Refinamiento de las tareas
principales
Definir una red de tareas
ANLISIS DE RIEGOS
Identificar y
Responsabilidad
Estrategias de riesgos
utilizar las tcnicas para
Compaerismo
Riesgos del software
la evaluacin de los
Honestidad
Identificacin y proyeccin del
riesgos que pueden
riesgo
tener impacto en el xito
UTSAM-Modalidad Semipresencial y a Distancia
INGENIERA DE SOFTWARE I
Reduccin, supervisin y
gestin del riesgo
Riesgos y peligros para la
seguridad
PLAN DE GARANTA DE CALIDAD
Introduccin
Documentacin
Revisiones y auditorias
Gestin de Configuracin
PLAN DE GESTIN DE
CONFIGURACIN
Introduccin
Actividades de GCS
Programacin
del proyecto.
Definir y
controlar la calidad de un
proyecto
Responsabilidad
Compaerismo
Honestidad
Identificar y
realizar la forma de
gestionar los cambios
durante el desarrollo de
software y despus de
entregar al cliente
Responsabilidad
Compaerismo
Honestidad
TEMA IV:
OBJETIVO:
10
INGENIERA DE SOFTWARE I
BIBLIOGRAFA
TEXTO BSICO:
Roger S. Pressman. Ingeniera del Software un Enfoque Practico. Sexta Edicin. McGraw-Hill/Interamerica de Espaa S.A.U. 2005
BIBLIOGRAFA COMPLEMENTARIA:
REVISTAS TCNICAS
Revista PC WORLD
Revista PC MAGAZINE (Ingles, Espaol)
URLs:
"SWEBOK, Software Engineering Body of Knowledge". 2004. www.swebok.org
Rational. http://www.rational.com
Navegapolis.net. http://www.navegapolis.net
Vico.org. http://www.vico.org
http://www.uag.mx/66/contenido.htm
http://www.inf.udec.cl/~ingsoft/transparenciasmvc.html
http://148.202.148.5/cursos/cc321/fundamentos/unidad6/tema6_4.html
11
INGENIERA DE SOFTWARE I
Con toda esta referencia bibliogrfica t puedes ampliar tus conocimientos acerca de la
temtica propuesta.
12
INGENIERA DE SOFTWARE I
ESTRATEGIAS METODOLGICAS
13
INGENIERA DE SOFTWARE I
Para realizar las actividades, adems de la lectura puedes ayudarte con la tcnica del
subrayado, mapas conceptuales, cuadros sinpticos, etc.
Presente el trabajo desarrollado en computadora con el formato siguiente.
o Papel INEN A4, utilice sangra, mrgenes, ortografa
o Margen Superior
:
3 cm
o Margen Inferior
:
2.5 cm.
o Margen Izquierdo
:
3.5 cm.
o Margen Derecho
:
2.5 cm.
Incorporamos en esta gua los siguientes grficos para un mejor desarrollo
Orientaciones de Tarea
Las especificaciones para los trabajos a desarrollar como
parte del proceso de aprendizaje
Resumen:
Sintesis de los temas desarrollados
Nota importante:
Aspectos a los que debes poner atencin y que considero
clave para el desarrollo de la asignatura.
Recuerde
14
INGENIERA DE SOFTWARE I
SISTEMA DE EVALUACIN
La evaluacin ser continua durante el desarrollo de las temticas programadas y se la
realizar con base en los siguientes criterios:
10%
10 %
30%
50%
Reflexiona:
15
INGENIERA DE SOFTWARE I
16
INTRODUCCIN A LA
INGENIERA DE SOFTWARE (ISW)
INGENIERA DE SOFTWARE I
SISTEMA DE CONTENIDOS
SISTEMA DE CONOCIMIENTOS
-
Conceptos:
software,
ingeniera
de
software,
producto, proceso, mtodo,
tcnica,
metodologa,
herramienta,
paradigma
(modelo o ciclo de vida).
Actividades genricas
de la ingeniera de software
Modelos
de
la
ingeniera del software
Evolucin
de
la
ingeniera de software
Crisis del software
Principales
organizaciones
de
estandarizacin de la ingeniera
del software
Principales estndares
de la ingeniera del software.
SISTEMA DE HABILIDADES
-
Conceptualizar
terminologa referente a la
ingeniera del software.
Caracterizar los
modelos (paradigmas o ciclos
de vida) de desarrollo del
software.
Diferenciar el
producto y el proceso
Describir la evolucin
de la ingeniera del software y
la crisis del software
Describir las
principales organizaciones de
estandarizacin y los
estndares que se promueven
SISTEMA DE
VALORES
Responsabilidad
Criticidad
Honestidad
Compaerismo
8
8
16
8
24
INTRODUCCIN
INTRODUCCIN
En la actualidad, el software de computador es la tecnologa ms importante en el mbito
mundial, las economas de los pases desarrollados dependen en gran parte del software,
UTSAM-Modalidad Semipresencial y a Distancia
20
INGENIERA DE SOFTWARE I
ESQUEMA
ESQUEMADEL
DELTEMA
TEMAI I
21
INGENIERA DE SOFTWARE I
ACTIVIDADES
ACTIVIDADESDE
DEAPRENDIZAJE
APRENDIZAJETEMA
TEMAI I
Para el estudio del Tema I necesitas revisar la siguiente bibliografa:
En este tema se realiza una introduccin a la Ingeniera del software. Se revisan conceptos
como: software, ingeniera de software, producto, proceso, actividad, tarea, paradigma,
metodologa, tcnica, herramientas, estndares, entre otros.
Principales conceptos a tener en cuenta en la ingeniera de software
Proceso a seguir para resolver una situacin o
Proceso a seguir para resolver una situacin o
problema con un orden y objetivos establecidos.
Mtodo
problema con un orden y objetivos establecidos.
Mtodo
Proceso {actividades} {tareas}
Proceso {actividades} {tareas}
Tcnica
Tcnica
Metodologa
Metodologa
Herramienta
Herramienta
Producto
Producto
22
INGENIERA DE SOFTWARE I
programas, datos y documentos. Cada uno de estos elementos componen una configuracin
que se crea como parte del proceso de la ingeniera del software.
Qu es la ingeniera de software? Hay diferentes autores que conceptualizan la
ingeniera de software desde sus propias perspectivas, sin embargo todos guardan relacin.
A continuacin se presentan algunos conceptos de diferentes autores:
Por ejemplo la definicin que propuso Fritz Bauer en una conferencia mundial en 1968: La
ingeniera de software es el establecimiento y uso de principios de la ingeniera para obtener
econmicamente un software confiable y que funcione eficiente en mquinas reales
Ingeniera del Software es la aplicacin practica del conocimiento cientfico en el diseo y
construccin de programas de computadora y la documentacin necesaria requerida para
desarrollar, operar (funcionar) y mantenerlos (Bohem, 1976).
Disciplina para producir software de calidad desarrollado sobre las agendas y costes
previstos y satisfaciendo los requisitos (S. Schach 1990, Software Engineering).
Ingeniera al software es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable
al desarrollo, operacin (funcionamiento) y mantenimiento del software (IEEE, 1993).
La ingeniera de software es una disciplina que integra al proceso, los mtodos y las
herramientas para el desarrollo del software de computadora. Se ha propuesto un gran
nmero de modelos para la ingeniera de software, pero todos definen un conjunto de
actividades del marco de trabajo, una coleccin de tareas conducidas para realizar cada
actividad, productos de trabajo generados como consecuencia de las tareas y un conjunto de
actividades de soporte que acompaan el proceso entero.
Un objetivo de dcadas ha sido el encontrar procesos o metodologas predecibles y
repetibles que mejoren la productividad y la calidad. Los modelos prescriptitos (paradigmas
o ciclos de vida) del proceso de software se han aplicado durante muchos aos en un
esfuerzo encaminado a ordenar y estructurar el desarrollo del software. Cada uno de estos
modelos convencionales sugiere un flujo de proceso o ciclo de vida que de alguna forma es
diferente, pero todos realizan un conjunto de actividades genricas del marco de trabajo:
comunicacin, planeacin, modelado, construccin y despliegue.
2. ACTIVIDADES GENRICAS DE LA INGENIERA DE SOFTWARE
Comunicacin
Esta actividad del marco de trabajo implica una intensa colaboracin y comunicacin con los
clientes; adems abarca la investigacin de requisitos y otras actividades relacionadas.
Planeacin
Esta actividad establece un plan para el trabajo de la ingeniera del software. Describe las
tareas tcnicas que deben realizarse, los riesgos probables, los recursos que sern
requeridos, los productos del trabajo que han de producirse y un programa de trabajo.
Modelado
Esta actividad abarca la creacin de modelos que permiten al desarrollador y al cliente
entender mejor los requisitos del software y el diseo que lograr satisfacerlos.
UTSAM-Modalidad Semipresencial y a Distancia
23
INGENIERA DE SOFTWARE I
Construccin
Esta actividad combina la generacin del cdigo y la realizacin de pruebas necesarias para
descubrir errores en el cdigo.
Despliegue
El software (como una entidad completa o un incremento completado de manera parcial) se
entrega al cliente, quin evala el producto recibido y proporciona informacin basada en su
evaluacin.
Segn el estndar ISO 12207, los procesos de la ingeniera de software se organizan en:
proceso primario (Actividades: adquisicin, suministro, desarrollo, operacin y
mantenimiento), proceso de soporte (Actividades: documentacin, gestin de la
configuracin, control de calidad, verificacin, validacin, reuniones, auditora, resolucin de
problemas) y proceso organizacional (Actividades: gestin, infraestructura, mejora y
formacin). Tambin, se identifican como actividades genricas del la ingeniera del software
a las siguientes:
Anlisis
Anlisis
Implementaci
Implementaci
n
n
Gestin
Gestin
del
del
Proyect
Proyect
o
o
Pruebas
Pruebas
Planeaci
Planeaci
nn
Desarroll
Desarroll
o
o
24
INGENIERA DE SOFTWARE I
(< 1968)
Dominios sencillos
El software era diseado a medida
Carencia de mtodos sistemticos
La programacin del software se consideraba como un arte.
(1968)
Fritz Bauer, utiliza por primera vez el trmino Ingeniera del Software, en la 1era.
Conferencia sobre desarrollo de software patrocinada por el Comit de Ciencia de la
OTAN celebrada en Garmisch, Alemania.
(>1968)
Dominios complejos
Aplicaciones variadas y complejas
Separacin desarrollador cliente
Exigencias de calidad
Desarrollo en grupos
Crisis del software
Se evidencia una preocupacin de las universidades y organismos de
estandarizacin (SEI, IEEE, ISO) por el desarrollo de estndares, metodologas,
tcnicas y herramientas para la ingeniera de software.
5. CRISIS DEL SOFTWARE
El trmino crisis del software se acu en 1968, en la primera conferencia organizada por
la OTAN sobre desarrollo de software.
La crisis del software es el hecho de que el software que se construye no solamente no
satisface los requerimientos ni las necesidades pedidos por el cliente, sino que adems
excede los presupuestos y los horarios de tiempos. La industria del software no ha podido
satisfacer la demanda. La complejidad del software producido y demandado se incrementa
constantemente. El software es solicitado para ejecutar las tareas demandantes de hoy y
est presente en todos los sistemas que van desde los ms sencillos hasta los de misin
crtica. Las aplicaciones de software son complejas porque modelan la complejidad del
mundo real. En estos das, las aplicaciones tpicas son muy grandes y complejas para que
un individuo las entienda y, por ello, lleva gran tiempo implementar software.
A continuacin se citan algunas causas de la crisis del software:
Imprecisin en la planificacin del proyecto y estimacin de los costos.
Baja calidad del software.
Dificultad de mantenimiento de programas con un diseo poco estructurado, etc.
Por otra parte se exige que el software sea eficaz y barato tanto en el desarrollo como en
la compra.
Tambin se requiere una serie de caractersticas como fiabilidad, facilidad de
mantenimiento y de uso, eficiencia, etc
25
INGENIERA DE SOFTWARE I
19%
53%
23%
xito
29%
49%
28%
28%
46%
40%
1995
1994
Problemtico
26%
33%
31%
27%
53%
16%
(http://www.standishgroup.com/)
Desde la identificacin del fenmeno crisis del software, han sido muchas las
organizaciones que han abordado, con mayor o menor rigor, el anlisis de problemas en el
desarrollo de sistemas de software. Sus trabajos se han encaminado a la localizacin de las
causas; y a la exposicin en textos didcticos, normativos o estndares de procesos o
prcticas necesarias para abordar el desarrollo, mantenimiento y operacin con las mayores
garantas de xito.
Han sido muchos los departamentos de universidades, organismos de normalizacin o
investigacin nacionales o internacionales, sociedades de profesionales, departamentos de
defensa, departamentos de calidad y procesos de empresas los que han ido generando
normas y estndares.
Se considera como entidades de mayor reconocimiento internacional, por sus trabajos y
esfuerzos realizados para la normalizacin, y reconocimiento de la Ingeniera del software a:
ISO, SEI e IEEE- Computer Society.
ISO. Organizacin Internacional para la Estandarizacin, fundada en 1947.
Son miembros 87 pases. En 1987 la Organizacin
Internacional para la Estandarizacin (ISO) y la Comisin
UTSAM-Modalidad Semipresencial y a Distancia
26
INGENIERA DE SOFTWARE I
27
INGENIERA DE SOFTWARE I
Definirse
Definirse aa s
s misma:
misma: Cules
Cules son
son las
las reas
reas de
de conocimiento
conocimiento que
que la
la comprenden?
comprenden?
SWEBOK: Software Engineering Body of knowledge
http://www.swebok.org
Definir
Definir los
los procesos
procesos que
que intervienen
intervienen en
en el
el desarrollo,
desarrollo, mantenimiento
mantenimiento yy operacin
operacin del
del
software
software
ISO/IEC 12207: Procesos del ciclo de vida del software
De
De las
las mejores
mejores prcticas,
prcticas, extraer
extraer modelos
modelos de
de cmo
cmo ejecutar
ejecutar esos
esos procesos
procesos para
para evitar
evitar los
los
problemas
problemas de
de la
la crisis
crisis del
del software
software
CMM / CMMI
ISO/IEC TR 15504
Definir
Definir estndares
estndares menores
menores para
para dibujar
dibujar criterios
criterios unificadores
unificadores en
en requisitos,
requisitos, pruebas,
pruebas,
gestin
gestin de
de la
la configuracin,
configuracin, etc.
etc.
IEEE 830 - IEEE 1362 - ISO/IEC 14764
28
INGENIERA DE SOFTWARE I
TAREAS
TAREASDEL
DELCRDITO
CRDITO11
Realice las siguientes actividades para fortalecer el aprendizaje del tema:
Realice las siguientes actividades para fortalecer el aprendizaje del tema:
ORIENTACIONES
ORIENTACIONESPARA
PARAEL
ELPROYECTO
PROYECTOFINAL
FINAL
29
INGENIERA DE SOFTWARE I
AUTOEVALUACIN
AUTOEVALUACINTEMA
TEMAI I
1. Conteste con una (V) si es verdadero o con una (F) si es falso:
a. (
) El producto en ingeniera de SW es considerado como el resultado de ejecutar
una actividad o tarea.
b. (
) El proceso es un conjunto de entregables.
c. (
) La tcnica es la estrategia que se aplica para ejecutar una actividad de un
mtodo
d. (
) El software es considerado como el conjunto de programas.
2. Complete:
a. Con sus propias palabras defina el trmino Ingeniera de Software:
....................................................................................................................
....................................................................................................................
b. Mtodo en ingeniera de software...........................................................
....................................................................................................................
....................................................................................................................
UTSAM-Modalidad Semipresencial y a Distancia
30
INGENIERA DE SOFTWARE I
c. Tcnicas:
....................................................................................................................
....................................................................................................................
d. CASE:
....................................................................................................................
....................................................................................................................
Principales organizaciones de estandarizacin: ....
....................................................................................................................
....................................................................................................................
Proceso: ....
....................................................................................................................
....................................................................................................................
3. Elabore un cuadro resumen de las caractersticas de los diferentes paradigmas de
desarrollo de software
TUTORAS
TUTORASPROGRAMADAS
PROGRAMADAS
Consulte en su centro de informacin o a su tutor el horario de los encuentros presenciales,
y/o virtuales (Chat) o las consultas por telfono. Anote a continuacin para que lo tenga en
cuenta en el desarrollo de este tema:
Fecha
Hora
Actividad
31
INGENIERA DE REQUISITOS
NGENIERA DE SOFTWARE I
SISTEMA DE CONTENIDOS
SISTEMA DE
SISTEMA DE
HABILIDADES
VALORES
Conceptos
de
Ingeniera
de Identificar
y Responsabilidad
Requisitos
recolectar requisitos
Criticidad
Descripcin de las actividades del Validar y gestionar Honestidad
proceso de la IR
requisitos
Obtencin de requisitos
Elaborar
los
Anlisis de requisitos
requisitos del software
Especificacin de Requisitos
segn el estndar de IEEE 830
Validacin de requisitos
Gestin de requisitos
SISTEMA DE CONOCIMIENTOS
TIEMPO
TIEMPOESTIMADO
ESTIMADODE
DEESTUDIO
ESTUDIO
Horas presenciales:
Horas de investigacin:
Total horas mnimas requeridas del tema:
Horas de actividades laborales:
Total de Horas de estudio del tema:
16
16
32
16
48
INTRODUCCIN
INTRODUCCIN
Los requisitos constituyen un insumo determinante en el desarrollo del software; los
usuarios o clientes juegan un papel de proveedores de informacin y los desarrolladores
deben interactuar con ellos para la obtencin de requisitos. La fase de requisitos del
software se puede describir como un proceso ingenieril (por esta razn algunos autores lo
consideran como Ingeniera de Requisitos (IR)) que consta de una serie de actividades
que dan lugar, fundamentalmente, a una especificacin del producto software que se ha
decidido construir. En concreto todas ellas se organizarn por actividades de educcin u
obtencin de informacin, de especificacin, de validacin y de gestin.
En los ltimos aos han surgido grandes cambios en el campo de la Ingeniera de
Requisitos. As, en primer lugar, se ha establecido un reconocimiento general de la
importancia de la Ingeniera de Requisitos y de los riesgos en que se incurren si sta se
realiza de forma incorrecta o insuficiente. Actividades propias de esta rea, como la
35
NGENIERA DE SOFTWARE I
ESQUEMA
ESQUEMADEL
DELTEMA
TEMAIIII
36
NGENIERA DE SOFTWARE I
ACTIVIDADES
ACTIVIDADESDE
DEAPRENDIZAJE
APRENDIZAJETEMA
TEMAIIII
37
NGENIERA DE SOFTWARE I
38
NGENIERA DE SOFTWARE I
Un sensor mal programado por Francia, destruy el supe cohete europeo Ariane
5 (El Pas, 23 de junio de 1996)
39
NGENIERA DE SOFTWARE I
Fase en la que se
detecta el fallo
Requisitos
1X
1X
Arquitectura
Diseo detallado
Construccin
Requisitos
Arquitectura
Diseo
detallado
construccin
Produccin
40
NGENIERA DE SOFTWARE I
Implicacin insuficiente
del cliente
Problemas en la validacin
del producto obtenido
Requisitos crecientes
y cambiantes
Degradacin de la estructura
y arquitectura del producto
Requisitos ambiguos
Prdida de tiempo en
re-codificacin
Requisitos
innecesarios
Trabajo innecesario
Requisitos insuficientes
Problemas en la validacin
del producto obtenido
Requisitos insuficientes
Error en la estimacin
y planificacin
Usuarios insatisfechos
41
NGENIERA DE SOFTWARE I
Requisito segn Norma MIL-STD STD-498. Caracterstica del sistema que es una
condicin para su aceptacin.
Requisito segn Goguen. Propiedad que un sistema debera tener para tener xito en el
entorno en el que se usar.
Un requisito define: Qu hace el sistema? Y no Cmo lo hace?
mbitos de los requisitos
Sistema
Sistema
Descripcin
Descripcin del
del sistema
sistema
ConOps
ConOps
Software
Software
Requisitos
Requisitos del
del software
software
SRS
SRS
mbitos
mbitos
42
NGENIERA DE SOFTWARE I
Obtener
informacin
OBTENCIN
Clasificarla, localizar
inconsistencias, dar
prioridades, pasar a
requisitos
ANLISIS
Registro y contrastacin
Escribir los
requisitos
Comprobar que
son formalmente
correctos y lo que
el cliente quiere
ESPECIFIC
ACIN
VERIFICACIN
&
VALIDACIN
Controlar las
modificaciones
Registrar
cambios, estudiar
su impacto,
actualizar
documentacin
GESTIN
43
NGENIERA DE SOFTWARE I
TAREAS
TAREASDEL
DELCRDITO
CRDITO22
Realiza las siguientes actividades con el propsito de reforzar conocimientos en IR:
Realiza las siguientes actividades con el propsito de reforzar conocimientos en IR:
44
NGENIERA DE SOFTWARE I
A. OBTENCIN DE REQUISITOS.
Este proceso tambin es considerado como: elicitacin, educcin, formulacin,
identificacin o extraccin.
Cada uno de estos dos escenarios lleva a situaciones totalmente diferentes: En el primer
caso, se definen las necesidades (puede servir como base para el pliego de condiciones)
y ser muy general para permitir distintas soluciones. En el segundo caso, las
especificaciones suponen un paso inicial para el desarrollo de software y debern ser
mucho ms especficas.
Fuentes de los requerimientos
Identificar los objetivos del proyecto y eventualmente realizar un estudio de
viabilidad de los mismos.
mbito de aplicacin o dominio de conocimiento del proyecto (permitir resolver
conflictos entre actores)
Identificar a todos los actores del proyecto para poder disear un sistema que
recoja diferentes puntos de vista de manera consensuada y sea fcil de usar por
todos ellos
Identificar el entorno operacional para poder establecer las restricciones del
proyecto y los costes.
Entorno organizativo: identificacin de los condicionantes que la estructura, la
cultura y la poltica interna de la organizacin puedan imponer o sobre-entender.
Tcnicas de obtencin de los requerimientos
45
NGENIERA DE SOFTWARE I
B. ANLISIS DE REQUISITOS.
Clasificacin de Requisitos.
La clasificacin ms tpica de los requisitos es la que se presenta a continuacin:
Capacidades
FUNCIONALES
Restricciones
TIPOS DE REQUISITOS
NO FUNCIONALES
Restricciones
DE INTERFAZ
46
NGENIERA DE SOFTWARE I
Segn su volatilidad/estabilidad
Si son requisitos sobre el proceso o sobre el producto
Requisitos Funcionales:
Definen el comportamiento del sistema.
Describen los servicios o funciones del sistema
Describen las tareas que el sistema debe realizar.
Al definir un requisito funcional es importante mantener el equilibrio entre la
excesiva generalidad, insuficiencia de detalle o ambigedad, y el exceso de detalle
con precisiones o descripciones innecesarias o redundantes.
Requisitos No funcionales: Definen aspectos, que sin ser funcionalidades, (tareas que
el sistema debe realizar) resultan deseables desde el punto de vista del usuario.
Generalmente comprenden atributos de calidad:
Tiempos de respuesta.
Caractersticas de usabilidad.
Facilidad de mantenimiento. etc.
Requitos de Interfaz. Definen las interacciones del sistema con su entorno. Interfaces de
Usuarios o con otros sistemas.
Modelizacin de Requisitos:
La meta es entender mejor el problema, ms que iniciar el diseo de la solucin
(idealmente)
El tipo de modelo elegido depende de:
La naturaleza del problema
La experiencia del modelizador
La disponibilidad de herramientas
Por decreto. El cliente impone una notacin
Tradicionalmente se entenda que el anlisis se reduca a modelizar (DFDs, modelos de
objetos, etc), pero el anlisis de requisitos NO es exclusivamente un proceso de
modelizacin. Por otro lado, no existe la mejor forma de modelar requisitos. En
realidad, no hay evidencia emprica que demuestre, en general, la superioridad de unas
notaciones de modelizacin frente a otras.
Negociacin de Requisitos:
Tambin denominada resolucin de conflictos entre:
Requerimientos incompatibles
Actores que demandan requerimientos incompatibles
Recursos disponibles y requerimientos solicitados
Requerimientos funcionales y restricciones
47
NGENIERA DE SOFTWARE I
Frecuentemente el analista no tiene capacidad para decidir, por lo que debe favorecer el
consenso, y si hay un contrato de prestacin de servicios, debe dejarse traza del por qu
de la decisin tomada.
Podra incorporarse como parte de la Validacin de requerimientos. La mejor tcnica es
la de las reuniones con los involucrados, previamente preparadas y documentadas
para conocer el impacto de los conflictos y sus posibles soluciones.
Otras tcnicas son: correo electrnico, boletines electrnicos, bases de datos compartidas
tipo Lotus Notes con la documentacin de los requerimientos y sus conflictos. No estn
excesivamente probadas y su utilidad puede ser dudosa si se genera una actitud de
desinters.
C. ESPECIFICACIN DE REQUISITOS.
Para la especificacin de los requisitos o documentacin es necesario utilizar algn
estndar, as encontramos a los siguientes:
Los aspectos bsicos que una descripcin de requisitos debe cubrir son:
Funcionalidad. Descripcin de lo que el software debe hacer.
Interfaces externos. Cmo debe interactuar el software con las personas, el
sistema de hardware, o con otros sistemas (software y hardware).
Rendimiento. Indicacin de la velocidad, disponibilidad, tiempos de respuesta,
tiempos de recuperacin, tiempos de determinadas funciones.
48
NGENIERA DE SOFTWARE I
D. VALIDACIN DE REQUISITOS
La validacin de requisitos consiste en descubrir problemas en el documento de requisitos
antes de comprometer recursos en la implementacin del software.
El documento debe revisarse para:
Descubrir omisiones
Conflictos
Ambigedades
Comprobar la calidad del documento y su grado de de adhesin a estndares
Para revisar el documento de los requisitos es aconsejable conformar una comisin de
revisin que incluya desarrolladores y usuarios. Esta comisin debe encargarse de:
Buscar problemas en el documento de los ERS.
Convocar a reuniones y establecer acuerdos.
Algunas tcnicas para identificar problemas habituales:
Listas de comprobacin checklists
49
NGENIERA DE SOFTWARE I
E. GESTIN
La gestin de requisitos debe realizarse durante todo el proceso de desarrollo del
software. Es parte de la Gestin de la Configuracin del Software y se realizan algunas
actividades:
Definir procedimientos de cambios: definen los pasos y los anlisis que se
realizarn antes de aceptar los cambios propuestos.
Cambiar los atributos de los requisitos afectados.
Mantener la trazabilidad: hacia atrs, hacia delante y entre requisitos.
Control de versiones del documento de requisitos
50
NGENIERA DE SOFTWARE I
ORIENTACIONES
ORIENTACIONESPARA
PARAEL
ELPROYECTO
PROYECTOFINAL
FINAL
Como actividad laboral de avance del proyecto final, en este tema se deber elaborar el
documento de ESPECIFICACIN DE REQUISITOS DEL SOFTWARE (ERS). Para lo
cual es necesario realizar las siguientes tareas:
51
NGENIERA DE SOFTWARE I
2. Descripcin General
2.1. Perspectiva del producto
2.2. Funciones del producto
2.3. Caractersticas de los usuarios
2.4. Restricciones
2.5. Dependencias
3. Requisitos Especficos
3.1. Requisitos Funcionales
3.2. Requisitos de interfaces externos
3.2.1. Interfaces de Usuario
3.2.2. Interfaces Hardware
3.2.3. Interfaces Software
3.2.4. Interfaces de Comunicacin
3.3. Requisitos de Rendimiento
3.4. Requisitos de desarrollo
3.5. Requisitos Tecnolgicos
3.6. Atributos
3.7. Seguridad
4. Apndices (Anexos)
4.1. Entrada de datos
4.2. Salida de datos
AUTOEVALUACIN
AUTOEVALUACINTEMA
TEMAIIII
1. Complete:
a.
b.
c.
d.
e.
Requisito:
....................................................................................................................
....................................................................................................................
IEEE 830...........................................................
....................................................................................................................
....................................................................................................................
Cul es la parte ms difcil en la construccin de un software?
....................................................................................................................
....................................................................................................................
....................................................................................................................
Tcnicas usadas en el proceso de validacin de requisitos:
....................................................................................................................
....................................................................................................................
....................................................................................................................
Cmo se comportan los errores en los requisitos en las dems fases del
proceso de ingeniera del software?: .. ..
..
....................................................................................................................
....................................................................................................................
52
NGENIERA DE SOFTWARE I
f.
3. Qu es la Ingeniera de Requisitos
TUTORAS
TUTORASPROGRAMADAS
PROGRAMADAS
Consulte en su centro de informacin o a su tutor el horario de los encuentros
presenciales, y/o virtuales (Chat) o las consultas por telfono. Anote a continuacin para
que lo tenga en cuenta en el desarrollo de este tema:
Fecha
Hora
Actividad
53
GESTIN DE PROYECTOS DE
SOFTWARE
INGENIERA DE SOFTWARE I
SISTEMA DE CONTENIDOS
SISTEMA DE
HABILIDADES
CONCEPTOS SOBRE GESTIN DE
Gestionar el
PROYECTOS DE SOFTWARE
personal, el proceso y el
El espectro de gestin, el
problema durante el
personal, el producto, el proceso, el
proyecto de software
proyecto
PLANIFICACIN DEL PROYECTO DE
Identificar y
SOFTWARE
generar equipos de
Objetivos de la planificacin del
software, estimaciones
proyecto
fiables del esfuerzo,
mbito del software, recursos
costes y duracin del
Estimacin del proyecto de
proyecto
software
o
Tcnicas de puntos de
funcin
o
Modelos empricos de
estimacin
La decisin desarrollar-comprar
PLANIFICACIN TEMPORAL Y
Desarrollar la
SEGUIMIENTO DEL PROYECTO
planificacin temporal de
Conceptos bsicos, la relacin
proyecto
entre las personas y el esfuerzo
Definicin de un conjunto de
tareas para el proyecto de software.
Seleccin de las tareas de Ing.
SW
Refinamiento de las tareas
principales
Definir una red de tareas
ANLISIS DE RIEGOS
Identificar y
Estrategias de riesgos
utilizar las tcnicas para
Riesgos del software
la evaluacin de los
Identificacin y proyeccin del
riesgos que pueden tener
riesgo
impacto en el xito del
Reduccin, supervisin y
proyecto.
gestin del riesgo
Riesgos y peligros para la
seguridad
PLAN DE GARANTA DE CALIDAD
Definir y
Introduccin
controlar la calidad de un
Documentacin
proyecto
Revisiones y auditorias
Gestin de Configuracin
PLAN DE GESTIN DE
Identificar y
CONFIGURACIN
realizar la forma de
SISTEMA DE CONOCIMIENTOS
SISTEMA DE
VALORES
Responsabilidad
Compaerismo
Honestidad
Responsabilidad
Compaerismo
Honestidad
Responsabilidad
Compaerismo
Honestidad
Responsabilidad
Compaerismo
Honestidad
Responsabilidad
Compaerismo
Honestidad
Responsabilidad
Compaerismo
57
INGENIERA DE SOFTWARE I
Introduccin
Actividades de GCS
Programacin
Honestidad
58
INGENIERA DE SOFTWARE I
TIEMPO
TIEMPOESTIMADO
ESTIMADODE
DEESTUDIO
ESTUDIO
Horas presenciales:
Horas de investigacin:
Total horas mnimas requeridas del tema:
Horas de actividades laborales:
Total de Horas de estudio del tema:
24
24
48
24
72
INTRODUCCIN
INTRODUCCIN
En este tema se estudiar los conceptos clave que conducen a una gestin efectiva de
proyectos de software. Comenzaremos con los conceptos bsicos de gestin de proyectos
de software, se analizarn algunas tcnicas para la estimacin, elaboracin de un
cronograma realista, revisin de algunas tcnicas de gestin que conducen a una efectiva
supervisin, reduccin y gestin del riesgo, finalmente, se considerarn tcnicas para
asegurar la calidad conforme un proyecto se lleva a cabo y se gestionan los cambios a lo
largo de la vida de una aplicacin.
OBJETIVO
59
INGENIERA DE SOFTWARE I
ESQUEMA
ESQUEMADEL
DELTEMA
TEMAIIIIII
60
INGENIERA DE SOFTWARE I
ACTIVIDADES
ACTIVIDADESDE
DEAPRENDIZAJE
APRENDIZAJETEMA
TEMAIIIIII
Para el estudio del Tema III necesitas revisar la siguiente bibliografa:
Roger S. Pressman. Ingeniera del Software un Enfoque Practico. Sexta Edicin. McGraw-Hill/Interamerica de Espaa S.A.U. 2005.
Conceptos de Gestin de proyectos. Pgina 640
Mtricas de proceso y proyecto. Pgina 663
Estimacin para proyectos de SW. Pgina 690
Calendarizacin de proyectos de SW. Pgina 724
Gestin de riesgo. Pgina 747
Gestin de calidad. Pgina 767
Gestin del cambio. Pgina 796
Roger S. Pressman. Ingeniera del Software un Enfoque Practico. Sexta Edicin. McGraw-Hill/Interamerica de Espaa S.A.U. 2005.
Gestin del Proyecto de SW. Pginas: 37 - 52.
Mtricas del SW. Pginas: 53 - 76.
Planificacin del proyecto de SW. Pginas: 77 96
Anlisis de Riesgos. Pginas: 97- 110
Plan Temporal y seguimiento. Pginas: 111 - 130.
Calidad del SW. Pginas. 131 - 150.
Gestin de la Configuracin del Software. Pginas: 151- 164
Kendall & Kendall, Anlisis y Diseo de software.
Estudio de Factibilidad: Pginas: 47- 53
Planificacin del proyecto: Pginas: 54-74
Calidad del Software: Pginas: 745-765
61
INGENIERA DE SOFTWARE I
62
INGENIERA DE SOFTWARE I
Fase de control. Monitorizacin del trabajo realizado analizando cmo el progreso difiere de
lo planificado e iniciando las acciones correctivas que sean necesarias. Incluye tambin el
liderazgo, proporcionando directrices a los recursos humanos, subordinados (incluso
subcontratados) para que hagan su trabajo de forma efectiva y a tiempo.
El espectro de gestin. La gestin eficaz de proyectos de software se enfoca sobre las
cuatro P: personal, producto, proceso y proyecto. El orden no es arbitrario.
PRODUCTO
PRODUCTO
PROYECTO
PROYECTO
PERSONAL
PERSONAL
PROCESO
PROCESO
Reclutamiento
Seleccin
Gestin de rendimiento
Desarrollo
Entrenamiento
Retribucin
Diseo / organizacin
Desarrollo cultural
Gestores Superiores
Profesionales
Clientes
Usuarios Finales
63
INGENIERA DE SOFTWARE I
Los jefes de equipo. Los Jefes de equipo deben poseer ciertas capacidades, as, el modelo
MOI considera las siguientes:
Motivacin.- Habilidad para motivar con un <<tira y afloja>>
Organizacin.- Moldear procesos existentes
Ideas o innovacin.- Motivar al personal para crear y sentirse creativos
El equipo de software
La mejor estructura d equipo depende del estilo de gestin de una organizacin. Mantei,
sugiere tres organigramas de equipos genricos.
DESCENTRALIZADO
DEMOCRTICO
DESCENTRALIZADO
CONTROLADO
CENTRALIZADO CONTROLADO
64
INGENIERA DE SOFTWARE I
El proceso de produccin del software tiene que ser gestionado y dirigido de una manera
extremadamente rigurosa y cuantitativa. De este modo se podr verificar que el trabajo
correspondiente a cada fase se ha realizado completamente dentro de los plazos de tiempo
y coste establecidos y de acuerdo con estndares especficos de calidad. Por lo tanto, las
claves del xito en la gestin del desarrollo de software son: una adecuada gestin del
proyecto de desarrollo de software y una adecuada gestin del proceso de software.
El nmero de tareas identificables a realizar por un director de proyectos, dentro del rea de
la gestin de proyectos son varias. Sin embargo, hay tres que son crticas y que deben ser
desarrolladas correctamente si se desea que el proyecto termine bien.
Estas tareas son:
a. Estimacin de duracin, coste y esfuerzo necesarios para construir el producto.
b. Planificacin de tareas a realizar, asignacin de personas, tiempos, etc. para construir el
producto.
c. Seguimiento, durante la realizacin del trabajo, para asegurar el cumplimiento de lo
planificado en cuanto a costes, fechas, etc. En caso de desviaciones del plan, se deben
tomar las medidas pertinentes.
LOS OBJETIVOS de la planificacin del Proyecto de Software, es proporcionar un marco
de trabajo que permita al gestor hacer estimaciones razonables de recursos costos y
planificacin temporal. Estas estimaciones se hacen dentro de un marco de tiempo limitado
al comienzo de un proyecto de software, y deberan actualizarse regularmente medida que
progresa el proyecto. Adems las estimaciones deberan definir los escenarios del mejor
caso, y peor caso, de modo que los resultados del proyecto pueden limitarse.
El Objetivo de la planificacin se logra mediante un proceso de descubrimiento de la
informacin que lleve a estimaciones razonables.
MBITO DEL SOFTWARE. Es la primera actividad que se lleva a cabo durante la
planificacin del proyecto de Software. Describe la funcin, el rendimiento, las restricciones,
las interfaces y la fiabilidad, se evalan las funciones del mbito y en algunos casos se
refinan para dar mas detalles antes del comienzo de la estimacin. Las restricciones de
rendimiento abarcan los requisitos de tiempo de respuesta y procesamiento, identifican los
lmites del software originados por el hardware externo, por la memoria disponible y por otros
sistemas existentes.
65
INGENIERA DE SOFTWARE I
66
INGENIERA DE SOFTWARE I
67
INGENIERA DE SOFTWARE I
Recursos Humanos.
La Cantidad de personas requeridas para el desarrollo de un proyecto de software solo
puede ser determinado despus de hacer una estimacin del esfuerzo de desarrollo (por
ejemplo personas mes o personas aos), y seleccionar la posicin dentro de la organizacin
y la especialidad que desempear cada profesional.
Recursos o componentes de software reutilizables.
Cualquier estudio sobre recursos de software estara incompleto sin estudiar la reutilizacin,
esto es la creacin y la reutilizacin de bloques de construccin de Software.
Tales bloques se deben establecer en catlogos para una consulta ms fcil, estandarizarse
para una fcil aplicacin y validarse para la tambin fcil integracin.
El Autor Bennatan sugiere cuatro categoras de recursos de software que se deberan tener
en cuenta a medida que se avanza con la planificacin:
Componentes ya desarrollados.
Componentes ya experimentados.
Componentes con experiencia Parcial.
Componentes nuevos.
Recursos de entorno.
El entorno es donde se apoya el proyecto de Software, llamado a menudo entorno de
Ingeniera de Software, incorpora Hardware y Software.
El Hardware proporciona una plataforma con las herramientas (Software) requeridas para
producir los productos que son el resultado de la buena practica de la Ingeniera del
Software, un planificador de proyectos debe determinar la ventana temporal requerida para
el Hardware y el Software, y verificar que estos recursos estn disponibles. Cada elemento
de hardware debe ser especificado por el planificador del Proyecto de Software.
ESTIMACIN DEL PROYECTO DE SOFTWARE
Al principio, el costo del software constitua un pequeo porcentaje del costo total de los
sistemas basados en computadoras. Hoy en da el Software es el elemento ms caro de la
mayora de los sistemas informticos.
Un gran error en la estimacin del costo puede ser lo que marque la diferencia entre
beneficios y perdidas, la estimacin del costo y del esfuerzo del software nunca ser una
ciencia exacta, son demasiadas las variables: humanas, tcnicas, de entorno, polticas, que
pueden afectar el costo final del software y el esfuerzo aplicado para desarrollarlo.
Qu es estimar?
68
INGENIERA DE SOFTWARE I
69
INGENIERA DE SOFTWARE I
70
INGENIERA DE SOFTWARE I
En resumen el planificador del Proyecto de Software tiene que estimar tres cosas antes de
que comience el proyecto: cuanto durara, cuanto esfuerzo requerir y cuanta gente estar
implicada. Adems el planificador debe predecir los recursos de hardware y software que va
a requerir y el riesgo implicado.
La estimacin del proyecto de software nunca ser una ciencia exacta, pero la combinacin
de buenos datos histricos y tcnicas puede mejorar la precisin de la estimacin.
Ejemplo de software de estimacin:
ESTICMACS
PLANMACS
COCOMOII
CA-SUPERPROJECT
TCNICA DE PUNTOS DE FUNCIN
Esta tcnica permite medir el tamao (funcionalidad proporcionada por el usuario), por lo que
es necesario contar con un buen documento de Especificacin de Requisitos del Software
(ERS SRS). Es la base para la estimacin de costos, esfuerzo, personas y tiempo.
En el caso de subsistemas diseados independientemente los Puntos de Funcin se
calcularn para cada uno de ellos, y luego se sumarn. Por ejemplo, cuando un sistema que
proporcione por un lado una funcionalidad on-line y por otro lado una funcionalidad batch, y
por tanto, se han diseado independientemente los dos subsistemas que proporcionan cada
funcionalidad.
Los objetivos de los Puntos de Funcin son:
Medir lo que el usuario pide y lo que el usuario recibe.
Medir independientemente de la tecnologa utilizada en la implantacin del sistema.
Proporcionar una mtrica de tamao que d soporte al anlisis de la calidad y la
productividad.
Proporcionar un medio para la estimacin del software.
Proporcionar un factor de normalizacin para la comparacin de distintos software.
Adems de estos objetivos, el proceso de contabilizar los Puntos de Funcin debera ser:
71
INGENIERA DE SOFTWARE I
Grupos de datos lgicos externos (EIF, del ingls External Interface File).
72
INGENIERA DE SOFTWARE I
73
INGENIERA DE SOFTWARE I
DET
1 a 19
20 a 50
Baja
Baja
51
o
ms
Media
2 a 5
Baja
Media
Alta
6
o Media
Alta
UTSAM-Modalidad
Semipresencial
y a Distancia
ms
Alta
74
INGENIERA DE SOFTWARE I
DET
1 a 4
B a ja
B a ja
M ed ia
0 a 1
2
3 o m s
5 a 15
B aja
M ed ia
A lta
16 o m s
M e d ia
A lta
A lta
D ET
1 a 5
B aj a
B aj a
M e dia
6 a 19
B aj a
M e dia
A lt a
20 o ms
M e di a
A lta
A lta
75
INGENIERA DE SOFTWARE I
ILF
EIF
EI
EO
EQ
ALTA
MEDIA
BAJA
ALTA
MEDIA
BAJA
ALTA
MEDIA
BAJA
ALTA
MEDIA
BAJA
ALTA
MEDIA
BAJA
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
15
10
7
10
7
5
6
4
3
7
5
4
6
4
3
Utilizando la herramienta CASE COCOMO II se calcula los puntos de funcin y las LDC:
76
INGENIERA DE SOFTWARE I
2
1.
2.
3.
4.
5.
DECISIN DE DESARROLLAR-COMPRAR.
TAREAS
CRDITO
4
En muchas reas de aplicacin del
software,DEL
a menudo
es ms rentable
adquirir el software
de
computadora
que
desarrollarlo.
En
una
empresa
antes
de
desarrollar
adquirir
Realiza las siguientes actividades con el propsito de desarrollar habilidades en el o
proceso
de un
Realiza las siguientes actividades con el propsito de desarrollar habilidades en el proceso de
software,
recomienda
analizar las diferentes posibilidades:
gestin
delse
proyecto
de software:
gestin del proyecto de software:
Conceptualice
siguientes
trminos:
Conceptualice
Construir ellos
software
desde
el inicio
los siguientes
trminos:
Gestin
Gestin
Reutilizar los componentes de otro SW para construir el nuevo
Estimacin
Estimacin
Comprar o adquirir un software disponible y adaptarlo a las necesidades
Proyecto
Proyecto
Proyecto
Contratar
el desarrollo del software a un vendedor externo.
de software
Proyecto de software
COCOMO
COCOMO
Subcontratacin
Las actividades
dede
ingeniera
Mediante un grfico(outsourcing).
explique las etapas
de la gestin
proyectosde software se contratan a
Mediante
un
grfico
explique
las etapas
decostoasegurando
la gestin de proyectos
un
tercero,
quien
hace
el
trabajo
a
bajo
unapara
alta desarrollar
calidad. Eluna
trabajo de
Realice un ensayo de mnimo 150 palabras sobre los elementos
Realice
un
ensayo
de
mnimo
150
palabras
sobre
los
elementos
para
desarrollar
una
software
llevado
de la compaa
se reduce a una actividad de gestin de contratos.
gestin eficaz
dedentro
un proyecto
de software.
gestin eficaz de un proyecto de software.
Cmo organizar un equipo para el desarrollo de software?
Cmo organizar un equipo para el desarrollo de software?
Cules son las tareas identificables a realizar por un director de proyectos, dentro del
Cules son las tareas identificables a realizar por un director de proyectos, dentro del
rea de la gestin de proyectos?
rea de la gestin de proyectos?
Cules son los objetivos de la planificacin del proyecto de software?
Cules son los objetivos de la planificacin del proyecto de software?
Qu es el mbito del software?
Qu es el mbito del software?
En que consiste el estudio de factibilidad?
En que consiste el estudio de factibilidad?
Describa el proceso de estimacin del software mediante la tcnica de los puntos de
Describa el proceso
de estimacin
del software mediante la tcnica de los puntos de 77
UTSAM-Modalidad
Semipresencial
y a Distancia
funcin
funcin
Realice el tercer avance de su proyecto final que involucra el Estudio de Factibilidad, la
Realice el tercer avance de su proyecto final que involucra el Estudio de Factibilidad, la
Planificacin General del proyecto de software incluido el proceso de Estimacin y la
Planificacin General del proyecto de software incluido el proceso de Estimacin y la
organizacin del equipo de trabajo.
organizacin del equipo de trabajo.
INGENIERA DE SOFTWARE I
La planificacin temporal y el seguimiento del proyecto tienen como objetivo primordial evitar los
retrasos en las entregas del software.
Causas de los retrasos:
Las fechas lmite poco realistas son bastante frecuente en el desarrollo de software, jams
debemos empezar un proyecto sabiendo que la fecha impuesta es imposible de alcanzar.
Tampoco es factible cambiar la fecha, pues por lo general, est impuesta por la ley del
mercado.
Solucin:
78
INGENIERA DE SOFTWARE I
Ejemplo:
79
INGENIERA DE SOFTWARE I
Diseo
Diseo
Web
Web
Desarrollo
Desarrollo
Web
Web
Anlisis
Anlisis
Integracin
Integracin
Diseo
Diseo
Admin
Admin
ImplanImplantacin
tacin
Desarrollo
Desarrollo
Admin
Admin
80
INGENIERA DE SOFTWARE I
Paso atrs
Estimar cuales pueden ser las fechas mas retrasadas para el inicio y fin de cada tarea
sin causar retrasos en el proyecto.
Se puede estimar con la fecha de entrega calculada por paso adelante, o con la fecha
de entrega deseada
Al calcular con la fecha de entrega por paso adelante se debe obtener a la misma
fecha de inicio.
Al calcular con la fecha de entrega esperada se obtiene la fecha lmite para comenzar
el proyecto
Demora total
Diferencia entre las fechas calculadas con paso adelante y paso atrs para cada tarea
Retraso mximo para una tarea sin retrasar sin afectar a la fecha de entrega del proyecto
La demora total se comparte entre las tareas en una cadena. Si se emplea en una tarea
ya no queda disponible para otras.
81
INGENIERA DE SOFTWARE I
Demora permisible. Tiempo que puede retrasarse una tarea sin afectar a la agenda del
proyecto
82
INGENIERA DE SOFTWARE I
Ruta crtica. Es la ruta ms larga en el plan del proyecto, y delimita la fecha de entrega ms
temprana posible
Actividades crticas. Actividades que estn en la ruta crtica y que no tienen demora
permisible. Sus retrasos afectan al proyecto.
Optimizacin de agenda
1.- Dirigir el esfuerzo de trabajo sobre las actividades de la ruta crtica
2.- Revisar la asignacin de personas
83
INGENIERA DE SOFTWARE I
SEGUIMIENTO DE LA PLANIFICACIN
El seguimiento es un factor clave en la planificacin temporal. Hay distintas formas de
implementarlo:
Realizando reuniones peridicas.
Evaluando los resultados de las revisiones.
Determinando si se han conseguido los hitos.
Recavando las opiniones subjetivas del equipo.
Comparando la fecha real de inicio con las previstas.
Utilizando el anlisis del valor ganado.
La comparacin de las fechas reales y de inicio puede hacerse:
Mediante tablas.
Utilizando diagramas Gantt de seguimiento.
R
I
E
S
G
O
S
4. GESTIN DE RIESGOS
IDENTIFICACIN
ANLISIS
TRATAMIENTO
Plan de gestin
de riesgos
D
E
GE
S
T
I
84
INGENIERA DE SOFTWARE I
85
INGENIERA DE SOFTWARE I
Ordenacin y filtrado
Ordenacin por probabilidad y prioridad
Despreciar riesgos poco probables y los medianamente probables con poco impacto
86
INGENIERA DE SOFTWARE I
87
INGENIERA DE SOFTWARE I
Introduccin
mbito y propsito del documento
Descripcin de los riesgos principales
Responsabilidades
Gestores
Personal tcnico
Tabla de evaluacin de riesgos
Descripcin de todos los riesgos
considerados
Factores que influyen en la probabilidad e
impacto
RMMM
Riesgo X
Evitacin
Estrategia general
Pasos para mitigar el riesgo
Monitorizacin
Factores a monitorizar
Modo de monitorizacin
Gestin
Plan de contingencias
Consideraciones especiales
Planificacin
TAREAS
TAREASDEL
DELCRDITO
CRDITO55
Realiza las siguientes actividades con el propsito de desarrollar habilidades en el proceso de
Realiza las siguientes actividades con el propsito de desarrollar habilidades en el proceso de
gestin del proyecto de software:
gestin del proyecto de software:
88
INGENIERA DE SOFTWARE I
PRODUCTO SATISFACTORIO +
BUENA CALIDAD +
ENTREGA EN PRESUPUESTO +
ENTREGA EN TIEMPO ESTABLECIDO
89
INGENIERA DE SOFTWARE I
PRODUCTIVIDAD: LDC/mes-persona
INCREMENTO DE LA PRODUCTIVIDAD CON LA CALIDAD
Mejor calidad, menor trabajo (+/- 50% de ahorro)
Disminuyen las pruebas
Localizacin temprana de errores a menor costo
DECREMENTO DE LA PRODUCTIVIDAD CON LA CALIDAD
Mejor calidad requiere inversin que se recupera en la entrega
La revisin de los productos de desarrollo mejora la calidad pero disminuye la
productividad
Las tcnicas de calidad insisten en detalles que pueden constituirse en obstculos
para el trabajo
90
INGENIERA DE SOFTWARE I
Revisin de la gestin
Revisin de los requisitos del software
Revisin de diseo
Revisin del producto
Revisin de operacin.
Gestin de configuracin
Gestin de problemas y acciones correctivas
6. GESTIN DE CONFIGURACIN DE SOFTWARE (GCS)
Identificar el cambio.
Controlar el cambio.
Estado.
Auditora y revisin.
Garantizar que el cambio se implementa correctamente.
Informar del cambio a todos aquellos que se vean afectados.
91
INGENIERA DE SOFTWARE I
Cuando un miembro del equipo de ingeniera del software quiere hacer modificaciones en un
ECS de lnea base, se copia de la base de datos del proyecto en un rea de trabajo privada
del ingeniero. Sin embargo este ECS solo se puede modificar siguiendo todas las directrices
exigidas en la gestin de configuracin del software.
Versin
Una versin es una instancia de un elemento de configuracin.
El trmino se utiliza indicar un elemento de configuracin que tiene un conjunto de
caractersticas funcionales.
Revisin
Se define revisin como una versin que se construye sobre otra versin anterior.
Variante
Es una versin alternativa a otra versin. Las variantes permiten a un elemento de
configuracin satisfacer elementos en conflicto.
Una variante en una nueva versin de un elemento que ser aadida sin reemplazar a la
versin anterior.
Proceso de GCS
El proceso de GCS se divide en 5 tareas:
Identificacin.
Control de versiones.
Control de cambios.
Auditorias de configuracin.
Generacin de informes.
Identificacin
Se puede tener dos tipos de objetos: objetos bsicos y objetos compuestos.
Un objeto bsico es una unidad de texto creado por un ingeniero del software durante el
anlisis, diseo, codificacin o pruebas.
Un objeto compuesto es un grupo de objetos bsicos o de otros compuestos.
Cada objeto tiene una coleccin de atributos que le identifican unvocamente.
Control de versiones
92
INGENIERA DE SOFTWARE I
El control de versiones est formado por procedimientos y herramientas para gestionar las
versiones de los objetos de configuracin creadas durante el proceso de ingeniera del
software.
Para representar las diferentes versiones se puede utilizar un grafo de evolucin o el fondo
de objetos.
Control de cambios
El control de cambios proporciona formas de control humano y herramientas automatizadas
para controlar los mecanismos de control de cambio.
Se reconoce la necesidad del cambio
El usuario suscribe la peticin del cambio
El desarrollador la evala
Se genera un informe de cambios
La autoridad de control de cambios decide
La peticin queda pendiente de actuacin,
se genera la OCI (orden de cambio de ingeniera)
Asignacin personalizada los objetos de configuracin
93
INGENIERA DE SOFTWARE I
Alta
Objeto de configuracin
Objeto de configuracin
(versin de lnea base)
(versin modificada)
Inf. de auditora
Ingeniero
de software
Desbloqueo
Control de
acceso
Info. de pertenencia
Objeto de configuracin
Base de datos
del proyecto
Bloqueo
(versin extrada)
Objeto de configuracin
Baja
Auditora de configuracin
La auditora responde a estos nuevos elementos:
1. Se ha realizado exactamente los cambios especificados en la OCI? Se han
incorporado las modificaciones adicionales?
2. Se ha llevado a cabo una revisin tcnica formal para evaluar la correccin tcnica?
3. Se ha aplicado los estndares de ingeniera del software?
4. Se han reflejado lo suficiente los cambios en el ECS? Se ha reflejado la fecha del
cambio y el nombre del autor del cambio? Reflejan los cambios los atributos del
objeto de configuracin?
5. Se han seguido procedimientos del GCS para sealar el cambio, registrarlo y
divulgarlo?
6. Se han actualizado adecuadamente todos los ECS relacionados?
Informes de Estado
De la generacin de informes de estado de la configuracin (contabilidad de estado) se
encarga la gestin de configuracin del software, la cual responde a las siguientes
preguntas:
1. Qu sucedi?
2. Quin fue el autor?
3. En qu fecha ocurri?
4. Cuntos elementos se vieron afectados?
Plan de Gestin de la Configuracin
Introduccin
Propsito del plan
Alcance
Definiciones y acrnimos
Referencias
Especificaciones de gestin
Organizacin
Responsabilidades
UTSAM-Modalidad Semipresencial y a Distancia
94
INGENIERA DE SOFTWARE I
TAREAS
TAREASDEL
DELCRDITO
CRDITO66
Realiza las siguientes actividades con el propsito de desarrollar habilidades en el proceso de
Realiza las siguientes actividades con el propsito de desarrollar habilidades en el proceso de
gestin del proyecto de software:
gestin del proyecto de software:
AUTOEVALUACIN
AUTOEVALUACINTEMA
TEMAIIIIII
UTSAM-Modalidad Semipresencial y a Distancia
95
INGENIERA DE SOFTWARE I
1.
Complete:
a.
Gestin:
....................................................................................................................
....................................................................................................................
b.
Personas
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
....................................................................................................................
c.
Calidad
....................................................................................................................
....................................................................................................................
....................................................................................................................
d.
Riesgo:
....................................................................................................................
....................................................................................................................
....................................................................................................................
e.
Cronograma: .. ..
..
....................................................................................................................
....................................................................................................................
f.
Qu son puntos de funcin?:
....................................................................................................................
....................................................................................................................
....................................................................................................................
2. Cmo se realiza la valoracin de los tipos de funcin en la tcnica de los PF
96
INGENIERA DE SOFTWARE I
TUTORAS
TUTORASPROGRAMADAS
PROGRAMADAS
Consulte en su centro de informacin o a su tutor el horario de los encuentros presenciales,
y/o virtuales (Chat) o las consultas por telfono. Anote a continuacin para que lo tenga en
cuenta en el desarrollo de este tema:
Fecha
Hora
Actividad
97
INGENIERA DE SOFTWARE I
SISTEMA DE CONTENIDOS
SISTEMA DE CONOCIMIENTOS
SISTEMA DE HABILIDADES
INTRODUCCIN AL MODELADO
Conceptos de modelado,
utilidad, abstraccin, ventajas
Comprender la
importancia del modelado
de software
ANLISIS ESTRUCTURADO
Breve historia,
caractersticas
Elementos del modelo del
anlisis
Modelado funcional o de
procesos y flujo de
informacin(DFDs), su notacin y
diccionario de datos
Modelado de datos (ER) y
su diccionario de datos
HERRAMIENTAS CASE (TI)
Que es CASE
Objetivos de las CASE
Elementos de las CASE
Tipos de CASE
Ejemplos de CASE
Obtener una
representacin general del
software a construir a partir
de la especificacin de los
requisitos.
SISTEMA DE
VALORES
Responsabilidad
Criticidad
Honestidad
Compaerismo
Responsabilidad
Criticidad
Honestidad
Compaerismo
Responsabilidad
Criticidad
Honestidad
Compaerismo
TIEMPO
TIEMPOESTIMADO
ESTIMADODE
DEESTUDIO
ESTUDIO
Horas presenciales:
Horas de investigacin:
Total horas mnimas requeridas del tema:
Horas de actividades laborales:
Total de Horas de estudio del tema:
8
8
16
8
24
INTRODUCCIN
INTRODUCCIN
101
INGENIERA DE SOFTWARE I
ESQUEMA
ESQUEMADEL
DELTEMA
TEMAIV
IV
102
INGENIERA DE SOFTWARE I
ACTIVIDADES
ACTIVIDADESDE
DEAPRENDIZAJE
APRENDIZAJETEMA
TEMAIV
IV
Para el estudio del Tema IV necesitas revisar la siguiente bibliografa:
103
INGENIERA DE SOFTWARE I
Abstraccin - Modelado Visual (MV). El modelado captura las partes esenciales del
sistema. Parte del proceso de negocio para representar en un modelo visual la solucin
del sistema computacional.
104
INGENIERA DE SOFTWARE I
105
INGENIERA DE SOFTWARE I
Breve Historia
Es una tcnica de modelado del flujo, contenido y transformacin de la informacin que
fluye por un sistema. Naci como complemento al Diseo Estructurado. El trmino
Anlisis Estructurado fue popularizado por DeMarco a fines de los 70, quien present y
denomin los smbolos grficos que permitiran al analista crear modelos de flujos de
informacin.
Yourdon, Gane y Sarson y otros presentaron variaciones a la propuesta original. A
mediados de los 80, Ward y Mellor proponen ampliaciones para su aplicacin en
sistemas de tiempo real y ms tarde, Hatley y Pirbhai presentan sus aportes a estos
mismos sistemas.
Caractersticas
Descomposicin / Modularizacin
Soporte grfico
106
INGENIERA DE SOFTWARE I
Ausencia de Redundancia
Centrado en modelizar el flujo y el contenido de la informacin PROCESOS y
DATOS
Aproximacin TOP-DOWN
DFD
ER
EP
ED
Diagramas de Transicin de
DD
DTE
EC
Estado (DTEs)
107
INGENIERA DE SOFTWARE I
Notacin:
108
INGENIERA DE SOFTWARE I
109
INGENIERA DE SOFTWARE I
110
INGENIERA DE SOFTWARE I
Se sabe que para la gestin del sistema de pedidos, se realizan las siguientes funciones:
1. Verificacin de la validez del pedido del cliente
2. Armar los pedidos a los editores
3. Verificar el envo de los editores
111
INGENIERA DE SOFTWARE I
112
INGENIERA DE SOFTWARE I
ORIENTACIONES
ORIENTACIONESPARA
PARAEL
ELPROYECTO
PROYECTOFINAL
FINAL
proyecto final
El Documento de Modelado de Anlisis del Software debe contener el siguiente
formato:
1. Introduccin
1.1. Propsito (del documento)
1.2. Definiciones, acrnimos y abreviaturas
1.3. Referencias
2. Modelado de procesos
2.1. DFDs
2.2. Diccionario de datos de los DFDs
3. Modelado de Datos
3.1. Modelo Entidad Relacin (ER)
3.2. Diccionario de datos del modelo ER
4. Anexos
AUTO
AUTOEVALUACIN
EVALUACIN
113
INGENIERA DE SOFTWARE I
1. Complete:
a.
TUTORAS
TUTORASPROGRAMADAS
PROGRAMADAS
114
INGENIERA DE SOFTWARE I
Hora
Actividad
115
INGENIERA DE SOFTWARE I
Verdadero
Falso
Verdadero
Falso, en ingeniera de software, el software no solo a los programas
sino tambin los documentos y datos.
116