Escolar Documentos
Profissional Documentos
Cultura Documentos
Grupo: 52T
Profesor: Ing. Daniel Jess Rojas Cid
Ingeniera en Sistemas Computacionales
ndice de contenido
Captulo 1 Fundamentos de ingeniera de software
1.1 Conceptos bsicos ................................................................................................... 1
1. 2 El papel evolutivo del software ............................................................................ 22
1.3 Etapas del desarrollo del software........................................................................ 24
1.4 Clasificacin de la tecnologa en el desarrollo del software ................................. 25
1.5 Definicin e historia de las herramientas CASE .................................................... 27
1.6 Clasificacin de las herramientas CASE................................................................. 30
Captulo 2 Ingeniera de requerimientos
2.1 Tareas de la ingeniera de requisitos..................................................................... 34
2.3 Modelador de requisitos ....................................................................................... 43
Captulo 3 Modelo de anlisis
3.1 Arquitectura de clases........................................................................................... 50
3.2 Identificacin de clases segn estereotipos ......................................................... 52
3.3 Clases .................................................................................................................... 55
3.4 Diagrama de secuencias........................................................................................ 62
3.5 Diccionario de datos ............................................................................................. 68
3.6. Herramientas CASE para el anlisis...................................................................... 71
Captulo 4 Modelo de diseo
4.1. Estrategias de diseo ........................................................................................... 77
4.2 Diseo de objetos ................................................................................................. 79
4.3. Diseo de sistema ................................................................................................ 81
4.4. Revisin del diseo .............................................................................................. 85
4.5. Diagramas de secuencias del Diseo ................................................................... 89
4.6. Herramientas CASE para el diseo ....................................................................... 91
Captulo 5 Modelo de implementacin
5.1 Diagrama de componentes ................................................................................... 95
5.2. Diagrama de despliegue...................................................................................... 97
5.3. Modelos de prueba .............................................................................................. 99
Bibliografa ........................................................................................................... 102
ndice de figuras
Figura 1 Lnea de tiempo del software parte 1 ............................................................... 22
Figura 2 Lnea del tiempo del software parte 2 .............................................................. 23
Figura 3 Tabla de etapas de desarrollo del software ...................................................... 24
Figura 4 Tabla comparativa de los diferentes paradigmas de programacin ................. 26
Figura 5 Tabla de la evolucin de las herramientas CASE............................................... 29
Figura 6 Diagrama de la clasificacin de las herramientas CASE .................................... 31
Figura 7 Mapa mental de la ingeniera de requisitos ..................................................... 34
Figura 8 Ejemplo diagrama de casos de uso ................................................................... 44
Figura 9 Ejemplo de diagrama de actividad ................................................................... 44
Figura 10 Ejemplo de diagrama de carril ........................................................................ 45
Figura 11 Modelos orientados al flujo ............................................................................ 45
Figura 12 Ejemplo de diagrama de flujo ......................................................................... 46
Figura 13 Ejemplo de clase ............................................................................................. 46
Figura 14 Modelo CRC .................................................................................................... 47
Figura 15 Ejemplo de diagrama de estado ..................................................................... 48
Figura 16 Ejemplo de diagrama de secuencia ................................................................ 48
Figura 17 Diagrama de tres dimensiones ....................................................................... 51
Figura 18 Ejemplo de diagrama de clases....................................................................... 55
Figura 19 Elementos de un diagrama de clases.............................................................. 56
Figura 20 Diagrama de clase CajeroAutomatico............................................................. 56
Figura 21 Relaciones entre clases ................................................................................... 57
Figura 22 Ejemplo asociacin ......................................................................................... 58
Figura 23 Ejemplo 2 Asociacin ...................................................................................... 58
Figura 24 Ejemplo 3 Asociacin ...................................................................................... 59
Figura 25 Ejemplo de Cardinalidad ................................................................................. 59
Figura 26 Ejemplo de Navegabilidad .............................................................................. 60
Figura 27 Relacin Unidireccional .................................................................................. 60
Figura 28 Relacin Bidireccional ..................................................................................... 60
Figura 29 Ejemplo Roles.................................................................................................. 61
Figura 30 Ejemplo Rol clasificador .................................................................................. 63
Figura 31 Ejemplo de activacin ..................................................................................... 63
Captulo 1 Fundamentos de
ingeniera de software
CAPITULO 1
Anlisis Morfolgico. Es un esquema que permite organizar las cosas vivientes de una
manera no formal y no matemtica.
CAPITULO 1
Atributo. Es una parte especfica de una clase. Una propiedad de un tipo identificada
mediante un nombre.
Anlisis de requisitos. (1) Proceso de estudio de las necesidades del usuario para
conseguir una definicin de los requisitos del sistema o del software.
-B-
Business Case. Es la justificacin del negocio que soporta y compromete el tiempo, los
recursos y las inversiones para la realizacin de un proyecto.
-C-
Ciclo de vida. Periodo de tiempo que comienza con la concepcin del producto de
software y termina cuando el producto est disponible para su uso. Normalmente, el
ciclo de vida del software incluye las fases de concepto, requisitos, diseo,
implementacin,
prueba,
instalacin,
verificacin,
validacin,
operacin
CAPITULO 1
explcitamente
establecidos,
con
los
estndares
de
desarrollo
Casos de Uso. Es aquello que describe la interaccin de los Actores con el sistema para
lograr un objetivo.
Clase de un Objeto. Es aquello que sirve para crear objetos. Una clase es una
implementacin de un tipo.
Clase abstracta (abstract class). Es una clase que no puede ser instanciada
directamente.
CAPITULO 1
Complejidad ciclomtica. Mtrica que evala la complejidad del cdigo. Los sistemas
de software con puntos de excesiva complejidad ciclomtica presentan un cdigo con
mayor dificultad de mantenimiento.
Componente. Una de las partes que forman un sistema. Un componente puede ser
hardware, software, y puede a su vez subdividirse en otros componentes.
CPM. (Critical Path Method) Mtodo para el control y la optimizacin de los costes de
operacin mediante la planificacin adecuada de las actividades que componen un
proyecto. Fue desarrollado en 1957 en los Estados Unidos por un centro de
investigacin de operaciones para la firma Dupont y Remington Rand. Actualmente se
utilizan sus principios en combinacin con los del mtodo PERT en lo que se conoce
como PERT/CPM.
CAPITULO 1
-D-
CAPITULO 1
Diagrama de Casos de Uso. Es el diagrama que muestra la relacin entre los actores y
los casos de uso dentro de un sistema.
CAPITULO 1
Diseo funcional. (1) Proceso de definicin de las relaciones de trabajo entre los
componentes de un sistema.
-E-
CAPITULO 1
-F-
Faceta del modelo. Es una dimensin del modelo que enfatiza cualidades particulares
del metamodelo. Por ejemplo, la faceta estructural del modelo, enfatiza las cualidades
estructurales del modelo.
Faceta estructural del modelo. Es una faceta del modelo que enfatiza la estructura de
los objetos del sistema, incluyendo sus tipos, clases, relaciones, atributos y operaciones.
Faceta funcional del modelo. Es una faceta del modelo que enfatiza el comportamiento
de los objetos de un sistema, incluyendo sus mtodos, interacciones, colaboraciones, e
historia de estados.
CAPITULO 1
Front End. Es aquella categora de herramienta CASE que permite especificar los
requerimientos de anlisis y diseo lgico.
-G-
-H-
Herencia. Es la propiedad que permite que una subclase herede los atributos y los
mensajes de una superclase. Es el mecanismo por el cual elementos ms especficos
incorporan la estructura y el comportamiento de elementos ms generales.
CAPITULO 1
-I-
Instancia. Es un objeto individual de una clase. Un individuo descripto por una clase o
un tipo. Nota de uso: De acuerdo con la interpretacin estricta del metamodelo un
individuo de un tipo es una instancia y un individuo de una clase es un objeto. Es
aceptable, en un contexto menos formal, referirse a un individuo de una clase como un
objeto o una instancia.
10
CAPITULO 1
-J-
-K-
-L-
-M-
11
CAPITULO 1
12
CAPITULO 1
marco y no como metodologa, porque considera que no hay una nica estructura de
procesos vlida para todos los proyectos. El marco MSF se adapta de forma flexible a
las caractersticas de cada proyecto.
Moore (Ley de). Gordon Moore, co-fundador de Intel afirm en una entrevista a la
revista Electronics, que el nmero de transistores por pulgada, implementados en los
circuitos integrados se duplicara cada ao. Algo ms tarde rectific este plazo a 18
meses. Desde entonces hasta la fecha se viene cumpliendo esta progresin de
crecimiento exponencial.
-N-
13
CAPITULO 1
Objeto. Es un componente del mundo real que tiene una cierta estructura interna y un
determinado comportamiento. Una entidad delimitada precisamente y con identidad,
que encapsula estado y comportamiento. El estado es representado por sus atributos y
relaciones, el comportamiento es representado por sus operaciones y mtodos.
-P-
PERT. (Program Evaluation and Review Technique) Mtodo para el control de los
tiempos de ejecucin de diversas actividades integrantes de proyectos. Fue desarrollado
en 1957 por la armada de los Estados Unidos.
14
CAPITULO 1
Postcondicin. Es una restriccin que debe ser verdadera al terminar una operacin.
Precondicin. Es una restriccin que debe ser verdadera cuando una operacin es
invocada.
Proceso. Es un hilo de ejecucin que puede ejecutar concurrentemente con otros hilos.
Plan de proyecto. Documento que describe el enfoque tcnico y de gestin que seguir
un proyecto. Generalmente, el plan describe el trabajo a realizar, los recursos
necesarios, los mtodos a utilizar, los procesos a seguir, los programas a cumplir y la
forma en la que se organiza el proyecto.
Prototipo. Versin preliminar de un sistema que sirve de modelo para fases posteriores.
Instituto Tecnolgico de Lzaro Crdenas | I.S.C
15
CAPITULO 1
Prueba de sistema. Prueba cuya finalidad es evaluar el grado de conformidad con los
requisitos de un sistema completo.
-Q-
-R-
Rational Unified Process (RUP). Proceso de Ingeniera del Software que proporciona
un enfoque disciplinado para asignar tareas y responsabilidades en las organizaciones de
desarrollo de software. Se trata de un proceso integrado en un producto, desarrollado y
mantenido por Racional Software, e integrado en su conjunto de herramientas de
desarrollo. Se encuentra disponible a travs de IBM.
16
CAPITULO 1
Requisito fsico. Requisito que especifica las caractersticas fsicas que debe presentar
un sistema o un componente de un sistema; por ejemplo, material, longitud o peso.
17
CAPITULO 1
Requisito funcional. Requisito que especifica una funcionalidad que debe realizar un
sistema o un componente.
-S-
18
CAPITULO 1
-T-
Tiempo de Anlisis. Hace referencia a algo que ocurre durante la fase de anlisis del
proceso de desarrollo de software.
Tiempo de Diseo. Hace referencia a algo que ocurre durante una fase de diseo del
proceso de desarrollo de software.
19
CAPITULO 1
-U-
Upper CASE. Es aquella categora de herramienta CASE que abarca las etapas de
anlisis, diseo y especificacin.
Usuarios Amateur. Son las personas que nunca vieron una computadora.
Usuarios Ejecutivos. Son las personas que estn concentradas en los usos estratgicos
de la informacin y estn interesados desde el punto de vista ms global del sistema.
Usuarios Expertos. Son las personas que realmente entienden sobre los sistemas y
tecnologa.
Usuarios Operacionales. Son las personas que tienen mayor contacto con el sistema.
20
CAPITULO 1
-V-
-W-
WBS. (Work Breakdown Structure). Mtodo para representar jerrquicamente las partes
de un proyecto, proceso o producto.
-X-
-Y-
-Z-
21
CAPITULO 1
1936
Primera teora
del software fue
propuesta por
Alan Turing.
1951
1958
1954
Invencin
del
primer compilador
Inventado
por
Grace
Murray
Hopper, llamado
A-0.
Fortran. Se desarrolla
el
lenguaje
de
programacin de alto
nivel. Fue inventado
por un equipo de
IBM, dirigido por John
Backus.
Aparece
el
lenguaje LISP
diseado
por
John McCarthy.
1960
Se
crea
el
lenguaje COBOL.
Fue
diseado
inspirndose en
el lenguaje FlowMatic de Grace
Hopper y el IBM
COMTRAN
de
Bob Bemer.
1966
2 Era
1964
1967
1968
Creacin
del
lenguaje Pascal.
Fue desarrollado
por Niklaus Wirth.
1970
22
CAPITULO 1
1971
1972
Software
como
producto.
El
establecimiento del
software
ya
se
desarrollaba
para
tener una amplia
distribucin en un
mercado.
1973
3 Era
1976
1983
Aparece el lenguaje
de
programacin
C++ Diseado por
Bjarne Stroustrup.
1989
4 Era
1984
Impacto en el
consumo.
La
industria
del
software ya es la
cuna
de
la
economa
del
mundo.
1990
1991
Open
source.
El
software
libre
comienza a ser ms
conocido.
2001
Lenguajes orientados
a objetos. En la poca
2000
se
van
implementando ms
lenguajes
con
programacin
orientada a objetos.
Las
herramientas
CASE. Aparecen en la
poca de los 90s.
Tienen gran auge en el
2000
entre
los
desarrolladores
de
software.
23
CAPITULO 1
Etapa de anlisis
Etapa de diseo
Etapa de programacin
Etapa de pruebas
Etapa de implementacin
Etapa de mantenimiento
Descripcin
En esta etapa el analista luego de un
minucioso y detallado estudio de los
sistemas de una organizacin, detecta un
problema o una necesidad que para su
solucin y/o satisfaccin es necesario
realizar un desarrollo de software.
Es el proceso de investigar un problema
que se quiere resolver. Definir claramente
el Problema que se desea resolver o el
sistema que se desea crear. Identificar los
componentes principales que integrarn el
producto.
Es el proceso de utilizar la informacin
recolectada en la etapa de anlisis al
diseo del producto. La principal tarea de
la etapa de diseo es desarrollar un
modelo o las especificaciones para el
producto o Componentes del Sistema.
Consiste en utilizar los modelos creados
durante la etapa de diseo para crear los
componentes del sistema.
Consiste en asegurar que los componentes
individuales que integran al sistema o
producto, cumplen con los requerimientos
de la especificacin creada durante la
etapa de diseo.
Consiste en poner a disposicin del cliente
el producto.
Consiste en corregir problemas del
producto y re- liberar el producto como
una nueva versin o revisin (producto
mejorado).
El fin del ciclo del producto consiste en
realizar todas las tareas necesarias para
asegurar que los clientes y los empleados
estn conscientes de que el producto ya no
ser vendido ni soportado.
24
CAPITULO 1
La
programacin
estructurada
es
un
paradigma de programacin
orientado a mejorar la
claridad, calidad y tiempo de
desarrollo de un programa de
computadoras,
utilizando
nicamente subrutinas y tres
estructuras
lgicas:
secuencia,
seleccin
e
iteracin.
Historia
La
programacin
estructurada surgi en la
dcada
de
1960
particularmente del trabajo
Bohm y Jacopini y una
famosa carta, la sentencia
GOTO
considerada
perjudicial, de Edsger Dijkstra
en 1968. Posteriormente fue
reforzado tericamente por
el teorema del programa
estructurado, y por la
aparicin de lenguajes como
ALGOL con ricas estructuras
de control.
Los programas son ms
fciles de entender, pueden
ser
ledos
de
forma
secuencial
y
no
hay
necesidad
de
hacer
engorrosos seguimientos en
saltos de lnea (GOTO) dentro
de los bloques de cdigo para
intentar entender la lgica.
Reduccin de los costos de
mantenimiento.
Anlogamente
a
la
depuracin, durante la fase
de mantenimiento, modificar
o extender los programas
resulta ms fcil.
Reusabilidad
Mantenibilidad
Modificabilidad
Programacin Orientado a
objetos
La programacin Orientada a
Objetos
(POO)
es
un
paradigma de programacin
que usa los objetos en sus
interacciones, para disear
aplicaciones y programas
informticos.
Seis
ideas
bsicas caracterizan a la
programacin O-O: Objetos,
clases,
mensajes,
encapsulacin, herencia y
polimorfismo.
Los
conceptos
de
la
programacin Orientada a
Objetos tiene origen en
simula 67, un lenguaje
diseado
para
hacer
simulaciones, creado por Ole
Johan Dahl y Kristen Nygaard
del centro de cmputo
Noruego en Oslo.
25
CAPITULO 1
Fiabilidad
Lenguajes de programacin
26
CAPITULO 1
27
CAPITULO 1
Historia
Las Herramientas CASE tienen su inicio con el simple procesador de palabras que fue
usado para crear y manipular documentacin. Los setentas vieron la introduccin de
tcnicas grficas y diagramas de flujo de estructuras de datos. Sobre este punto, el
diseo y especificaciones en forma pictrica han sido extremadamente complejos y
consuman mucho tiempo para realizar cambios.
La introduccin de las herramientas CASE para ayudar en este proceso ha permitido
que los diagramas puedan ser fcilmente creados y modificados, mejorando la calidad
de los diseos de software. Los diccionarios de datos, un documento muy usado que
mantiene los detalles de cada tipo de dato y los procesos dentro de un sistema, son el
resultado directo de la llegada del diseo de flujo de datos y anlisis estructural, hecho
posible a travs de las mejoras en las Herramientas CASE.
Pronto se reemplazaron los paquetes grficos por paquetes especializados que habilitan
la edicin, actualizacin e impresin en mltiples versiones de diseo. Eventualmente,
las herramientas grficas integradas con diccionarios de base de datos para producir
poderosos diseos y desarrollar herramientas, podran sostener ciclos completos de
diseo de documentos.
Como un paso final, la verificacin de errores y generadores de casos de pruebas fueron
incluidos para validar el diseo del software. Todos estos procesos pueden saberse
integrados en una simple herramienta CASE que soporta todo el ciclo de desarrollo.
La primera herramienta comercial se remonta a 1982, aunque algunos especialistas
indican que algunos ejemplos de herramientas para diagramacin ya existan.
No fue sino hasta 1985 en que las herramientas CASE se volvieron realmente
importantes en el proceso de desarrollo de software. Los proveedores prometieron a la
Industria que muchas actividades seran beneficiadas por la ayuda de las CASE.
Estos beneficios consistan, por ejemplo, en el aumento en la productividad. El objetivo
en 1985 para muchos vendedores era producir software ms rpidamente.
Las herramientas del CASE seran una familia de mtodos favorablemente estructurados
para planeamiento, anlisis y diseo. Esto llevara a la generacin automtica de cdigo
para desarrollo de software va una especificacin formalmente diseada. Esto traera
como beneficio:
Instituto Tecnolgico de Lzaro Crdenas | I.S.C
28
CAPITULO 1
29
CAPITULO 1
Las fases del ciclo de vida del desarrollo de sistemas que cubren.
Su funcionalidad.
Herramientas
CASE
Se clasifican
en:
Herramientas
integradas, ICASE
Herramientas
de alto nivel,
U-CASE
Herramientas
de bajo nivel,
L-CASE
Abarcan todas
las fases del
ciclo de vida
del desarrollo
de sistemas.
Son llamadas
tambin
workbench.
Orientadas
a
la
automatizacin
y
soporte
de
las
actividades
desarrolladas durante
las primeras fases del
desarrollo: anlisis y
diseo.
Dirigidas a las
ltimas fases del
desarrollo
construccin e
implantacin.
Juegos de
herramientas o
Tools Case
Son el tipo ms
simple
de
herramientas CASE.
Automatizan
una
fase dentro del ciclo
de vida.
30
CAPITULO 1
Herramientas de
planificacin de
sistemas de
gestin
Herramientas
de anlisis y
diseo.
Herramientas
de
programacin.
Permiten al desarrollador
crear un modelo del
sistema que se va a
construir y tambin la
evaluacin de la validez y
consistencia
de
este
modelo.
Herramientas
de integracin
y prueba.
Sirven de ayuda a la
adquisicin, medicin,
simulacin y prueba de
los equipos lgicos
desarrollados.
Otra clasificacin,
diferencia
las
funciones CASE en
cinco grupos.
Repositorio
El repositorio es
un concepto ms
amplio que el de
diccionario de
datos y soporta a
los
dems
grupos
de
funciones.
Reingeniera
Facilita
la
realizacin de
modificaciones
en la fase ms
adecuada
en
cada caso y su
traslado a los
dems.
Soporte del
ciclo de
vida
El ciclo de vida de
una aplicacin o
de un sistema de
informacin
se
compone de varias
etapas, que van
desde
planificacin de su
desarrollo hasta su
implantacin.
Soporte de
proyecto
Este tipo de
funciones
hace
referencia
al
soporte
de
actividades que
se
producen
durante
el
desarrollo.
Mejora
continua de
calidad
Permiten ejercer
un control intenso
de garanta de
calidad
del
software
desarrollado
desde
las
primeras fases de
su ciclo de vida.
31
CAPITULO 2
INGENIERA DE REQUISITOS
Problemas de
alcance
Problemas de
entendimiento
Problemas de
volatilidad
Hay
Ingeniera de
requerimientos
Administracin
de los
requerimientos
Indagacin
Sus tareas
principales son:
Validacin
Negociacin
Concepcin
Especificacin
Elaboracin
34
CAPITULO 2
INGENIERA DE REQUISITOS
35
CAPITULO 2
INGENIERA DE REQUISITOS
36
CAPITULO 2
INGENIERA DE REQUISITOS
Negociacin. No es raro que los clientes y usuarios pidan ms de lo que puede lograrse
dado lo limitado de los recursos del negocio. Tambin es relativamente comn que
distintos clientes o usuarios propongan requerimientos conflictivos con el argumento
de que su versin es esencial para nuestras necesidades especiales.
Estos conflictos deben reconciliarse por medio de un proceso de negociacin. Se pide a
clientes, usuarios y otros participantes que ordenen sus requerimientos segn su
prioridad y que despus analicen los conflictos. Con el empleo de un enfoque iterativo
que da prioridad a los requerimientos, se evala su costo y riesgo, y se enfrentan los
conflictos internos; algunos requerimientos se eliminan, se combinan o se modifican de
modo que cada parte logre cierto grado de satisfaccin.
Especificacin. En el contexto de los sistemas basados en computadora (y software), el
trmino especificacin tiene diferentes significados para distintas personas. Una
especificacin puede ser un documento escrito, un conjunto de modelos grficos, un
modelo matemtico formal, un conjunto de escenarios de uso, un prototipo o
cualquier combinacin de stos.
Algunos sugieren que para una especificacin debe desarrollarse y utilizarse una
plantilla estndar *Som97+, con el argumento de que esto conduce a requerimientos
presentados en forma consistente y por ello ms comprensible. Sin embargo, en
ocasiones es necesario ser flexible cuando se desarrolla una especificacin. Para
sistemas grandes, el mejor enfoque puede ser un documento escrito que combine
descripciones en un lenguaje natural con modelos grficos.
No obstante, para productos o sistemas pequeos que residan en ambientes bien
entendidos, quiz todo lo que se requiera sea escenarios de uso.
Validacin. La calidad de los productos del trabajo que se generan como consecuencia
de la ingeniera de los requerimientos se evala durante el paso de validacin. La
validacin de los requerimientos analiza la especificacin5 a fin de garantizar que todos
ellos han sido enunciados sin ambigedades; que se detectaron y corrigieron las
inconsistencias, las omisiones y los errores, y que los productos del trabajo se
presentan conforme a los estndares establecidos para el proceso, el proyecto y el
producto.
Instituto Tecnolgico de Lzaro Crdenas | I.S.C
37
CAPITULO 2
INGENIERA DE REQUISITOS
38
CAPITULO 2
INGENIERA DE REQUISITOS
39
CAPITULO 2
INGENIERA DE REQUISITOS
Existen dos tcnicas de este tipo que son las ms utilizadas: Brainstorming (Lluvia de
ideas) y JAD (Joint Application Development, Diseo de Aplicacin Conjunta). La
diferencia que existe entre ambas tcnicas es que durante la tormenta de ideas se
tiene como objetivo generar una gran cantidad de ideas, es desestructurada y la
informacin que se obtiene puede ser visual, textual coloquial; mientras que en el
JAD el taller es ordenado, la informacin que se obtiene es visual y su objetivo es
generar requisitos y la interfaz del sistema
Durante una sesin de Lluvia de ideas, todos los participantes pueden aportar distintas
ideas en un ambiente libre de prejuicios. Ningn participante debe juzgar
negativamente la propuesta de otros, sino que se anotan todas las ideas en una pizarra
y sern evaluadas al final de la sesin. El principio bsico es no descartar de manera
apresurada ningn planteo, de modo que existe la posibilidad de que surjan otras ideas
derivadas de la idea original y se generan varios puntos de vista del problema.
Forma de contrato
En lugar de una entrevista, se pueden llenar formularios o contratos indicando los
requisitos. En sistemas muy complejos stos pueden tener centenares de pginas.
Objetivos medibles
Los requisitos formulados por los usuarios se toman como objetivos generales, a largo
plazo, y en cambio se los debe analizar una y otra vez desde el punto de vista del
sistema hasta determinar los objetivos crticos del funcionamiento interno que luego
darn forma a los comportamientos apreciables por el usuario. Luego, se establecen
formas de medir el progreso en la construccin, para evaluar en cualquier momento
qu tan avanzado se encuentra el proyecto.
Prototipos y Casos de uso
Un prototipo es una pequea muestra, de funcionalidad limitada, de cmo sera el
producto final una vez terminado. Ayudan a conocer la opinin de los usuarios y
rectificar algunos aspectos antes de llegar al producto terminado.
Un caso de uso es una tcnica para documentar posibles requisitos, graficando la
relacin del sistema con los usuarios u otros sistemas. Dado que el propio sistema
Instituto Tecnolgico de Lzaro Crdenas | I.S.C
40
CAPITULO 2
INGENIERA DE REQUISITOS
aparece como una caja negra, y slo se representa su interaccin con entidades
externas, permite omitir dichos aspectos y determinar los que realmente corresponden
a las entidades externas. El objetivo de esta prctica es mejorar la comunicacin entre
los usuarios y los desarrolladores, mediante la prueba temprana de prototipos para
minimizar cambios hacia el final del proyecto y reducir los costes finales. Esta tcnica se
enfrenta a los siguientes peligros potenciales.
A los directivos, una vez que ven un prototipo, les cuesta comprender que
queda mucho trabajo por hacer para completar el diseo final.
41
CAPITULO 2
INGENIERA DE REQUISITOS
Funcionales: son los que el usuario necesita que efecte el software. Ej: el
sistema debe emitir un comprobante al asentar la entrega de mercadera.
Direccin
Usuarios
42
CAPITULO 2
INGENIERA DE REQUISITOS
Estos modelos dan al diseador del software la informacin que se traduce en diseos
de arquitectura, interfaz y componentes. Por ltimo, el modelo de requerimientos (y la
especificacin de requerimientos de software) brinda al desarrollador y al cliente los
medios para evaluar la calidad una vez construido el software.
Modelo basado en escenarios
Este modelo en simples palabras sirve para una interaccin ms amena entre el
sistema y el usuario, por lo tanto el modelo de anlisis con UML comienza con la
creacin de escenarios en la forma de los casos de uso, diagrama de actividad y
diagrama de carril.
Caso de uso: Describe un escenario de un caso especfico en un lenguaje directo desde
el punto de vista de un actor definido.
43
CAPITULO 2
INGENIERA DE REQUISITOS
Diagrama de actividad: es un modelo muy parecido al caso de uso pero mucho mejor
complementado y proporciona una representacin del flujo de interaccin dentro de
un escenario especfico.
44
CAPITULO 2
INGENIERA DE REQUISITOS
45
CAPITULO 2
INGENIERA DE REQUISITOS
46
CAPITULO 2
INGENIERA DE REQUISITOS
Una clase orientada a objetos encapsula atributos de los datos pero tambin incorpora
las operaciones que manipulan los datos implicados por dichos atributos. Las clases se
manifiestan en la siguiente forma: entidades externas, sucesos o eventos, cosas,
papeles o roles, unidades organizacionales, sitios y estructuras.
Modelo CRC (clase-responsabilidad-colaborador)
Colaboradores: son aquellas clases que se requieren para que una clase
reciba la informacin necesaria para completar una responsabilidad.
Agregacin: son las subclases que forman parte de una clase, se conectan a
travs de una relacin de tipo es parte de.
47
CAPITULO 2
INGENIERA DE REQUISITOS
Modelos de comportamiento
El modelo de comportamiento indica la forma en que el software responder a los
eventos o estmulos externos.
Diagrama de estado: representa el comportamiento de las clases cuando el sistema.
48
CAPITULO 3
MODELO DE ANLISIS
dimensiones
Vista corresponde
interaccin
a
con
la informacin,
el
usuario
50
CAPITULO 3
MODELO DE ANLISIS
51
CAPITULO 3
MODELO DE ANLISIS
2.
Se pueden identificar con base en las descripciones de las interfaces del sistema
Se pueden identificar con base en las descripciones de los casos de uso y extraer
52
CAPITULO 3
MODELO DE ANLISIS
Entidad
Se utilizan objetos entidad para modelar la informacin que el sistema debe manejar a
corto y largo plazo. La informacin a corto plazo existe durante la ejecucin de un caso
de uso, mientras que la informacin a largo plazo trasciende los caso de uso, por lo que
es necesario guardarla en alguna base de datos o archivos.
Durante la identificacin de objeto entidad, se encontrara que objetos que objetos
similares aparecen en varios casos de uso.
Clases entidad:
Validar Usuario: Este casi de uso requiere validar informacin exclusivamente guardada
en el registro de usuario, lo que se hace en la clase entidad RegistroUsuario, utiliza
tambin por el caso de uso RegistroUsuario.
Ofrecer Servicios: Este caso de uso administra las opciones de servicio y no requiere de
ninguna clase entidad.
Registrar Usuario: Este caso de uso requiere guardar informacin exclusivamente
acerca del usuario, lo que se hace en la clase entidad RegistroUsuario.
Registrar Tarjeta: Este caso de uso requiere guardar informacin exclusivamente acerca
de la tarjeta del usuario lo que hace en la clase entidad RegistroTarjeta.
Consultar Informacin: Este casi de uso requiere de toda la informacin relacionada
con consultas. Se puede tomar las clases del dominio del problema y quitar aquellas
relacionadas con registros y reservaciones.
Hacer reservacin: Este caso de uso requiere de la informacin relacionada con
reservaciones. Se pueden tomar las clases del dominio del problema y quitar aquellas
relacionadas con registros.
Pagar Reservacin: Este caso de uso requiere de la informacin relacionada con
reservaciones. Dado que es una extensin al caso de uso Hacer Reservacin, no es
necesario volver a repetir todas las clases entidad, sino ms bien especificar cualquier
clase adicional.
53
CAPITULO 3
MODELO DE ANLISIS
Control
En la mayora de los casos de uso, existe un comportamiento que no se puede asignar
de forma natural a ninguno de los otros dos tipos de objetos ya vistos. Una posibilidad
es repartir el comportamiento entre los dos tipos de objetos, pero la solucin no es
buena si se considera el aspecto de extensibilidad. Un cambio en el comportamiento
podra afectar varios objetos, dificultando su modificacin. Para evitar estos problemas,
tal comportamiento se asigna a objetos control.
Es difcil lograr un buen balance en la distribucin del comportamiento del caso de uso
entre los objetos entidad, borde y control. Los objetos de control normalmente
proveen a administracin de los dems tipos de objetos.
54
CAPITULO 3
MODELO DE ANLISIS
3.3 Clases
Modelo de Anlisis
Un modelo conceptual explica los conceptos ms significativos en un dominio del
problema, identificando los atributos y las asociaciones
En POO se representa mediante un grupo de diagramas de estructura esttica, en este
caso un diagrama de clase
Diagrama de Clases
Son estticos muestran que elementos interactan pero no que sucede cuando ellos
hacen la interaccin. Los diagramas de clase son importantes no solo para la
visualizacin, especificacin y documentacin del modelo estructural, sino tambin
para la construccin de sistemas ejecutables.
Ejemplo
55
CAPITULO 3
MODELO DE ANLISIS
Clase OO
Nombre
Atributos
Mtodos
56
CAPITULO 3
MODELO DE ANLISIS
Asociacin
Agregacin
Composicin
Generalizacin(Herencia)
Dependencia
Roles
Cardinalidad
Navegabilidad
Asociaciones
Relaciones entre las clases que finalmente sern tambin relacin de objetos
57
CAPITULO 3
MODELO DE ANLISIS
Asociacin
Una relacin entre instancias de dos clases independientes entre ellas
Las dos clases son de diferente naturaleza
Hay una asociacin entre dos clases si una instancia de una clase debe conocer de la
otra para poder ejecutar su trabajo
58
CAPITULO 3
MODELO DE ANLISIS
Cardinalidad
La Cardinalidad o multiplicidad de una relacin es el nmero de posibles instancias de
la clase asociada con una simple instancia de la otra clase.
Las cardinalidades pueden ser:
1 Exactamente una instancia
Sin lmite de instancias
0..1 Cero o una instancia
0..* Sin lmite de instancias incluido 0
1..* Al menos una instancia
59
CAPITULO 3
MODELO DE ANLISIS
Navegabilidad-Direccionalidad
La Asociacin es una conexin que tiene direccionalidad, esto es, las clases
involucradas en la relacin se navegan en determinado sentido.
Relacin Bidireccional
60
CAPITULO 3
MODELO DE ANLISIS
Roles
Una relacin tiene dos puntos finales, estos pueden tener un nombre de rol para
clarificar la naturaleza de la asociacin.
Un cliente solicita muchas rdenes y una orden estaAsociada a un cliente. Una
persona es empleado de una compaa, una compaa es el empleador de una
persona.
Una clase es una construccin que se utiliza como un modelo (o plantilla) para
crear objetos de ese tipo. El modelo describe el estado y el comportamiento que todos
los objetos de la clase comparten. Un objeto de una determinada clase se denomina
una instancia de la clase. La clase que contiene (y se utiliz para crear) esa instancia se
puede considerar como del tipo de ese objeto. Por ejemplo, una instancia del objeto de
la clase "Persona" sera del tipo "Persona".
Una clase por lo general representa un sustantivo, como una persona, lugar o
(posiblemente bastante abstracta) cosa - es el modelo de un concepto dentro de un
programa de computadora. Fundamentalmente, encapsula el estado y el
comportamiento del concepto que representa. Encapsula el estado a travs de
marcadores de datos llamados atributos (o variable miembro o variables de instancia),
y encapsula el comportamiento a travs de secciones de cdigo reutilizables
llamados mtodos.
61
CAPITULO 3
MODELO DE ANLISIS
62
CAPITULO 3
MODELO DE ANLISIS
Activacin
Es la ejecucin de un procedimiento, incluyendo el tiempo que espera a los
procedimientos anidados para ejecutarse.
63
CAPITULO 3
MODELO DE ANLISIS
Mensaje
El mensaje denota el hecho de aportar informacin de un objeto (u otra instancia) a
otro.
Puede ser una seal o llamadas a una operacin.
La notacin para UML del envo de mensajes entre objetos es con una flecha dirigida,
desde el objeto que emite el mensaje hacia el objeto que lo ejecuta.
La flecha que simboliza un mensaje puede representarse oblicua para materializar las
demoras de transmisin respecto a la dinmica general de la aplicacin.
64
CAPITULO 3
MODELO DE ANLISIS
Ocurre una llamada recursiva cuando el control vuelve a entrar en una operacin en un
objeto, pero la segunda llamada es una activacin separada de la primera.
65
CAPITULO 3
MODELO DE ANLISIS
66
CAPITULO 3
MODELO DE ANLISIS
67
CAPITULO 3
MODELO DE ANLISIS
68
CAPITULO 3
MODELO DE ANLISIS
69
CAPITULO 3
MODELO DE ANLISIS
Tipo
nombre
char
id_tarjeta_credito bigint
15 si
direccin
char
50 no
telfono
numeric
13 no
70
CAPITULO 3
MODELO DE ANLISIS
71
CAPITULO 3
MODELO DE ANLISIS
72
CAPITULO 3
MODELO DE ANLISIS
2.
3.
Las fases del ciclo de vida del desarrollo de sistemas que cubren.
Su funcionalidad.
73
CAPITULO 3
MODELO DE ANLISIS
74
CAPITULO 3
MODELO DE ANLISIS
75
CAPITULO 4
MODELO DE DISEO
77
CAPITULO 4
MODELO DE DISEO
Disear es una tarea que involucra muchos aspectos, disear es divertido as que si
utilizamos las herramientas adecuadas podremos crear productos de una mejor
calidad.
78
CAPITULO 4
MODELO DE DISEO
79
CAPITULO 4
MODELO DE DISEO
Todas estas actividades se pueden ver como actividades entrelazadas que influyen
entre s. Los objetos se identifican y las interfaces se especifican completa o
parcialmente en el momento de definir la arquitectura del sistema.
80
CAPITULO 4
MODELO DE DISEO
Consideraciones
de
procesamiento,
como
concurrencia,
paralelismo,
81
CAPITULO 4
MODELO DE DISEO
de
manera
importante
entre
los
lenguajes
de
programacin.
Las interfaces grficas tienen como objetivo principal administrar la interaccin entre
el usuario mediante elementos grficos, como son botones, mens y textos. Las
aplicaciones interactivas donde el control del ratn y teclado desempean un papel
importante se conocen como sistemas controlados o dirigidos por eventos. Estos
eventos comprenden: mover el ratn, oprimir uno de sus botones, oprimir una tecla,
etc.
Desarrollar un sistema dirigido por eventos significa que la aplicacin desde un inicio
debe considerar un diseo adecuado. Por ejemplo, en Java se escoge alguna de las
bibliotecas grficas (AWT o Swing) para utilizar el manejo apropiado de interfaces
mediante sus clases (JFrame, Jpanel, JButton). Ms all de estas bibliotecas o clases
tambin se afecta la lgica del diseo, ya que se debe contemplar el momento de
procesar eventos.
Por ejemplo, si se desarrolla un sistema con varias pantallas se puede manejar cada
evento mediante una clase para cada pantalla. Otra solucin es usar un JFrame para
todas las pantallas y declarar una clase que maneje los eventos del JFrame. En el
segundo caso, en lugar de que cada pantalla reciba un evento del usuario, se hace que
los eventos sean recibidos por parte de la clase y las pantallas se vuelven ms pasivas y
fciles de manipular.
82
CAPITULO 4
MODELO DE DISEO
Las bases de datos son fundamentales en los sistemas de informacin. Una decisin
estratgica importante en tal contexto es si debe utilizar bases de datos relacionales u
orientados a objetos.
En general se consideran tres modelos de bases de datos principales:
Modelo relacional: se define una coleccin de tablas donde cada una tiene un
nmero especfico de columnas y un nmero arbitrario de filas. Cada objeto se
representa como una fila en una tabla y donde cada columna corresponde a un
atributo distinto en el objeto.
Las bases de datos son depsitos de datos guardados en uno o ms archivos. Existen
sistemas de manejo de bases de datos (DBMS) y orientados a objetos (OOBDMS). Las
bases de datos dan apoyo en los siguientes aspectos:
Mltiples usuarios
Mltiples aplicaciones
Seguridad
Integridad
Distribucin de datos
La tarea del diseo se simplifica, creando una tabla correspondiente a cada clase
entidad del dominio del problema y manteniendo las asociaciones entre clases.
Obviamente el diseo de tablas puede optimizarse para un acceso ms eficiente.
83
CAPITULO 4
MODELO DE DISEO
Aunque es ms efectivo trabajar con bases de datos, es posible utilizar archivos, sobre
todo cuando la especificacin del sistema as lo requiera. En el caso de usar una base
de datos, regularmente una clase se comunica con el DBMS para hacer solicitudes a
cualquier tabla. Sin embargo, en el caso de los archivos, tal manejador no existe por lo
que el proceso se hace manualmente.
84
CAPITULO 4
MODELO DE DISEO
85
CAPITULO 4
MODELO DE DISEO
Documentando el diseo
Una parte de la documentacin est dirigido a clientes y usuarios, en lenguaje natural
para describir que es lo que el sistema har.
La segunda parte usa la terminologa tcnica para escribir la estructura del sistema,
datos y funciones.
Pauta de los informes:
Justificacin racional del diseo: donde se delinean las cuestiones crticas y
compromisos que fueron considerados en la generacin del diseo.
Descripcin de los componentes del sistema: una de las secciones debera
indicar cmo interactan los usuarios con el sistema incluyendo:
o Mens y otros formatos de presentacin en pantalla.
o Interfaces hombre mquina.
o Formatos de los informes.
o Entrada: sobre los datos.
o Salida: sobre los datos.
o Caractersticas funcionales generales.
Instituto Tecnolgico de Lzaro Crdenas | I.S.C
86
CAPITULO 4
MODELO DE DISEO
o Exigencias de performance.
o Procedimientos de archivos.
o Enfoque del tratamiento de defectos
Por lo general, un conjunto de diagramas o de notaciones formales describe la
organizacin y estructura global del sistema, incluyendo todos los niveles de
abstraccin.
Diseo conceptual o del sistema
Se realiza primero, y le dice al cliente que es lo que har realmente el sistema. Una vez
que sea prueba este diseo, se vuelca el trabajo a un trabajo de diseo ms detallado.
El diseo conceptual describe el sistema en un lenguaje que el cliente pueda
comprender, en lugar de usar trminos tcnicos o jergas de computacin. Un buen
diseo conceptual debera tener las siguientes caractersticas:
Es independiente de la implementacin.
Diseo tcnico
Permite que los constructores comprendan el hardware y el software concretos que se
necesitan para resolver el problema del cliente. Es decir este diseo describe:
La configuracin de hardware.
La arquitectura de red.
87
CAPITULO 4
MODELO DE DISEO
88
CAPITULO 4
MODELO DE DISEO
89
CAPITULO 4
MODELO DE DISEO
90
CAPITULO 4
MODELO DE DISEO
91
CAPITULO 4
MODELO DE DISEO
CASE de alto nivel son aquellas herramientas que automatizan o apoyan las
fases finales o superiores del ciclo de vida del desarrollo de sistemas como la
planificacin de sistemas, el anlisis de sistemas y el diseo de sistemas.
CASE de bajo nivel son aquellas herramientas que automatizan o apoyan las
fases finales o inferiores del ciclo de vida como el diseo detallado de sistemas,
la implantacin de sistemas y el soporte de sistemas.
92
CAPITULO 4
MODELO DE DISEO
93
CAPITULO 5
MODELO DE IMPLEMENTACIN
95
CAPITULO 5
MODELO DE IMPLEMENTACIN
Programacin estructurada
Notaciones de diseo
Notaciones grficas
Notaciones tabulares
Referencias bibliogrficas
96
CAPITULO 5
MODELO DE IMPLEMENTACIN
97
CAPITULO 5
MODELO DE IMPLEMENTACIN
Algunos de los usos que se les da a los diagramas de despliegue son para modelar:
98
CAPITULO 5
MODELO DE IMPLEMENTACIN
99
CAPITULO 5
MODELO DE IMPLEMENTACIN
100
CAPITULO 5
MODELO DE IMPLEMENTACIN
pruebas ejecutables de manera directa. Por este motivo, a partir de los modelos
anteriores, se obtienen los modelos de interfaz abstracta y de interaccin.
Modelo de interaccin
Una vez que se conocen las interfaces con las que las pruebas interactuarn,
expresadas mediante el modelo de interfaz abstracta, se refina el modelo de
comportamiento para indicar cmo realizar cada uno de los pasos del caso de uso
sobre dicha interfaz.
101
BIBLIOGRAFIA
Bibliografa
Betancourt, A. (2 de Enero de 2013). Blog. Recuperado el 4 de Diciembre de 2013, de
Blog: http://blog.acaddemia.com/estrategias-de-diseno/
Cruz, I. d. (21 de Junio de 2013). Blogspot. Recuperado el 4 de Noviembre de 2013, de
Blogspot: http://unidad5-modeloimplenacionisrael.blogspot.mx/2013/06/modelo-de-implementacion.html
E.K., K. (2005). Anlisis y Diseo de sistemas. Mxico: Prentice Hall.
Hernandez, P. M. (9 de Febrero de 2013). Plantilla Awesome Inc. Recuperado el 16 de
Octubre de 2013, de Plantilla Awesome Inc.: http://unidad4modelodiseno.blogspot.mx/2013/05/43-diseno-de-sistema.html
Pressman, R. (2008). Ingenierpia del Software un enfoque prctico. Madrid, Espaa: Mc
Graw Hill.
Wikimedia Inc. (18 de Noviembre de 2013). Wikipedia. Recuperado el 4 de Diciembre
de 2013, de Fundacin Wikimedia Inc.:
http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_requisitos
102