El documento describe el Proceso Unificado de Desarrollo de Software (PUDS) y algunos de sus principales elementos como que es iterativo e incremental, está dirigido por casos de uso y centrado en la arquitectura. También describe brevemente el Modelo de Proceso de Software IEEE y las herramientas CASE. Finalmente, explica dos paradigmas de ingeniería de software: el Enfoque Estructurado y el Enfoque Orientado a Objetos.
1. INSTITUTO TECNOLÓGICO DE
TLÁHUAC III
Integrantes:
Balderas Jiménez Rogelio
Valdés Ponce de león Gustavo David
Lázaro Gómez Jocelyn Rosario
García Maqueda Lizeth Arely
Zurita García Eduardo Alonso
2. 3.4. EL PROCESO UNIFICADO DE
DESARROLLO DE SOFTWARE.
El Proceso Unificado de Desarrollo Software o
simplemente Proceso Unificado es un marco de
desarrollo de software que se caracteriza por estar
dirigido por casos de uso, centrado en la
arquitectura y por ser iterativo e incremental. El
refinamiento más conocido y documentado del
Proceso Unificado es el Proceso Unificado de
Rational o simplemente RUP.
3. CARACTERÍSTICAS
Iterativo e Incremental
El Proceso Unificado es un
marco de desarrollo iterativo
e incremental compuesto de
cuatro fases denominadas
Inicio, Elaboración,
Construcción y Transición.
Cada una de estas fases es
a su vez dividida en una serie
de iteraciones (la de inicio
puede incluir varias
iteraciones en proyectos
grandes). Estas iteraciones
ofrecen como resultado un
incremento del producto
desarrollado que añade o
mejora las funcionalidades
del sistema en desarrollo.
Dirigido por los casos de
uso
En el Proceso Unificado los
casos de uso se utilizan para
capturar los requisitos
funcionales y para definir los
contenidos de las iteraciones.
La idea es que cada iteración
tome un conjunto de casos
de uso o escenarios y
desarrolle todo el camino a
través de las distintas
disciplinas: diseño,
implementación, prueba, etc.
4. Centrado en la
arquitectura
El Proceso Unificado
asume que no existe un
modelo único que cubra
todos los aspectos del
sistema. Por dicho
motivo existen múltiples
modelos y vistas que
definen la arquitectura de
software de un sistema.
Enfocado en los
riesgos
El Proceso Unificado
requiere que el equipo
del proyecto se centre en
identificar los riesgos
críticos en una etapa
temprana del ciclo de
vida.
5.
6. 3.5. MODELO DE PROCESO DE SOFTWARE
IEEE.
Estos modelos pueden evaluarse en relación con
su calidad y mejorarse antes de generar código, de
realizar pruebas y de que los usuarios finales se
vean involucrados a gran escala. El diseño es el
sitio en que se establece la calidad del software.
7. Diseño es definido como: “el proceso de
definición de la arquitectura, componentes,
interfaces y otras características de un sistema
o componente que resulta de este proceso”
[IEEE610.12-90].
Se desarrolla y se centra su el diseño, con una
existencia lógica, de instrucciones sobre un
soporte. Es un producto que no se gasta con el
uso como otros y repararlo no significa
restaurarlo al estado original, sino corregir algún
defecto de origen lo que significa que el producto
entregado posee defectos, que podrán ser
solucionados en una etapa de mantenimiento.
8. El diccionario IEEE
estándar de ingeniería
del software [IEEE, 1990]
da la definición de
calidad como “el grado
con el que un sistema,
componente o proceso
cumple con los
requisitos
especificados y las
necesidades o
expectativas del cliente
o usuario”.
Pressman la define como
“concordancia del
software con los
requisitos
explícitamente
explícitamente
establecidos, con los
estándares de
desarrollo
expresamente fijados y
con los requisitos
implícitos, no
establecidos
formalmente que desea
el usuario”.
9. La aplicación de estándares de desarrollo y de
normas para el software permitirá lograr calidad
técnica del mismo. La calidad del software se
puede ver a nivel empresa como implantación de
un sistema de calidad y a nivel de proyecto
aplicando las técnicas de evaluación y control de
calidad del software a lo largo del ciclo de vida.
10. 3.6. HERRAMIENTAS CASE.
Las herramientas CASE (Computer Aided
Software Engineering, Ingeniería de Software
Asistida por Computadora) son diversas
aplicaciones informáticas destinadas a aumentar la
productividad en el desarrollo de software
reduciendo el costo de las mismas en términos de
tiempo y de dinero.
11. OBJETIVOS
Mejorar la productividad del software
Aumentar la calidad del software
Reducir el tiempo y costo de desarrollo y mantenimiento de
los sistemas informáticos.
Mejorar la planificación de un proyecto
Aumentar la biblioteca de conocimiento informático de una
empresa ayudando a la búsqueda de soluciones para los
requisitos.
Automatizar el desarrollo del software, la documentación, la
generación de código, las pruebas de errores y la gestión del
proyecto.
Ayuda a la reutilización del software, portabilidad y
estandarización de la documentación
Gestión global en todas las fases de desarrollo de software
con una misma herramienta.
Facilitar el uso de las distintas metodologías propias de la
ingeniería del software.
12. Las herramientas CASE incluyen la posibilidad de
diagramar, tienen la capacidad de análisis y de
modelación dependiendo del ámbito de su
aplicación (UML).
13. Las herramientas CASE de alto nivel tienen como
objetivo el apoyar la planeación de proyectos
desde la perspectiva más amplia. Apoya a la
planeación, análisis y diseño del proyecto deseado.
Las herramientas CASE de bajo nivel tienen como
principal función apoyar al proyecto en el desarrollo
y programación del mismo.
14. CLASIFICACIÓN
Las plataformas que soportan.
Las fases del ciclo de vida del desarrollo de
sistemas que cubren.
La arquitectura de las aplicaciones que producen.
Su funcionalidad.
15. 4.-PARADIGMAS DE LA INGENIERÍA DE SOFTWARE
Para la Ingeniería de Software el paradigma es una
agrupación de métodos, herramientas y
procedimientos con el fin de describir u modelo.
Un "paradigma" es un modelo para comprender la
realidad, que nos permite relacionarnos con el
mundo circundante y tener un sentido de identidad
dentro de lo que percibimos que es "el mundo real".
16.
17. La ingeniería del Software define paradigmas de
desarrollo estructurado como base a seguir en un
proyecto de Software. Si ninguno de estos
paradigmas se adecua al problema por resolver,
entonces el desarrollador se verá obligado a
combinar los paradigmas o definir uno nuevo.
Para resolver los problemas reales de una
industria, un ingeniero del software o un equipo de
ingenieros deben incorporar una estrategia de
desarrollo que acompañe al proceso, métodos,
capas de herramientas.
18. 4.1. EL ENFOQUE ESTRUCTURADO
En el Enfoque Estructurado se usan los DFD
(Diagrama de Flujo de Datos) como principal
herramienta para entender al sistema antes de
plasmarlo a código fuente. DFD es un diagrama en
el que participan procesos (métodos), flujo de datos
(argumentos) y archivos (Base de datos).
19. Diagrama de Flujo de
Datos
Un diagrama de flujo de
datos (DFD) es un
modelo lógico-gráfico
para representar el
funcionamiento de un
sistema en un proyecto
software.
Diccionario de Datos
El diccionario de datos es
un listado organizado de
todos los datos que
pertenecen a un sistema.
El objetivo de un
diccionario de datos es
dar precisión sobre los
datos que se manejan en
un sistema, evitando así
malas interpretaciones o
ambigüedades.
20. Diseño de Módulo
Un modelo de datos es un lenguaje orientado a describir una
Base de Datos. Típicamente un Modelo de Datos permite
describir:
Las estructuras de datos de la base: El tipo de los datos que
hay en la base y la forma en que se relacionan.
Las restricciones de integridad: Un conjunto de condiciones
que deben cumplir los datos para reflejar correctamente la
realidad deseada.
Proceso
Conjunto de tareas lógicamente relacionadas que
existen para obtener un resultado definido dentro de un
negocio o proyecto.
21. 4.2. EL ENFOQUE ORIENTADO A OBJETOS
El contexto del Enfoque Orientado a Objetos (EOO)
un objeto es una entidad que encapsula datos
(atributos) y acciones o
funciones que los manejan (métodos). También
para el EOO un objeto se define como una
instancia o particularización de una
clase.
22. El Enfoque Orientado a Objeto se basa en cuatro principios
que constituyen la base de todo desarrollo orientado a
objetos.
Estos principios son: la Abstracción, el Encapsulamiento, la
Modularidad y la Herencia.
Otros elementos a destacar (aunque no fundamentales) en el
EOO son: Polimorfismo, Enlace dinámico (o binding),
Concurrencia y Persistencia.
23. EL Paradigma Orientado a Objetos es una
disciplina de ingeniería de desarrollo y modelado
de software que permite construir más fácilmente
sistemas complejos a partir de componentes
individuales.
Objetos + Mensajes =Programa
24. trabajo técnico asociado con la ingeniería del software
OO sigue las siguientes tareas:
1. Identificar clases candidatas
2. Buscar clases en biblioteca
3. Extraer nuevas clases si existen
4. Desarrollar las clases sino existen
5. Añadir las nuevas clases a la biblioteca
6. Construir n-esima iteración del sistema