Ing. Soft 2

Report
Ingeniería Software II
Universidad Politécnica de Honduras
Ing. R. Fernández
Introducción
Software de la computadora es el producto que
Software: Eldiseñan
y construyen los ingenieros de software.
Abarca programas que se ejecutan dentro de una
computadora de cualquier tamaño y arquitectura
EL Software es un elemento del sistema que es lógico, en
lugar de físico. Por tanto el Software tiene unas
características considerablemente distintas a las del
hardware.
Características
• Se Desarrolla (No se Fabrica en
sentido Clasico)
• No se Estropea (No es Susceptible
a los males del Entorno)
• Se Construye a Medida.
Aplicaciones del Software
•
•
•
•
•
•
•
•
Software de Sistemas
Software de Tiempo Real
Software de Gestion
Software de Ingenieria y Cientifico
Software Empotrado
Software de Computadoras Personales
Software Basado en Web
Software de Inteligencia Artificial
Ingeniería Software un Enfoque Practico, Pressman Ed 5, Cap I
Ingeniería de Sistemas
Cap. 6
Ocurre Como Consecuencia de un
Proceso Llamado Ingeniería de Sistemas
Ingeniería Software (IS)
Elementos
Ingeniería Procesos
+
Ingeniería de Productos
Diseña
Analiza
Ayudan a dar Orden
a Sistemas Basados
en Computadoras
Ingeniería Software un Enfoque Practico, Pressman Ed 6, Cap 6
Resultado Organiza
Producto
Servicio
Tecnologia
6.1 Sistemas Basados en Computadoras
Conjunto de Elementos
que están organizados
para cumplir una meta
predefinida al procesar
información
Abarca:
Sistema IN+IP
Para Propósitos de
Estudio
Personas
Hardware
Software
Ing. de Negocios
Ing. de Productos
Una Característica complicada de los
sistemas basados en computadoras es que
tal vez constituyen un macro elemento de
un sistema mayor.
Bases de Datos
Elementos
del
Sistema
Se Combinan
De Varias
Maneras
Transforman la
Información
Ingeniería Software un Enfoque Practico, Pressman Ed 6, Cap 6
Procedimientos
6.2 La Jerarquía de la Ingeniería de Sistemas
Visión Global
Visión Del
Dominio
Visión del
Elemento
Visión
Detallada
•Se Examina el Dominio Entero del Negocio
•Dominio de Interés en Específicos
•Elementos del Sistema (Información, Software,
Hardware, Personas)
•Técnicas detalladas
Ingeniería Software un Enfoque Practico, Pressman Ed 6, Cap 6
6.2 La Jerarquía de la Ingeniería de Sistemas
6.2.1 Modelado del Sistema
6.2.2 Simulación del Sistema
Modelado del Sistema
•
•
•
•
Definir Procesos
Representar
Comportamiento
Definen modo explicito
de entradas y salidas
(Exógenas y
Endógenas)
Representan todas las
uniones
Ingeniería Software un Enfoque Practico, Pressman Ed 6, Cap 6
•
•
•
•
•
Considerar Algunas
Restricciones
Supuestos
Simplificaciones
Limitaciones
Restricciones
Preferencias
6.3 Ing. Procesos de Negocios: Una Visión Global
La Meta de la IPN es: Definir arquitecturas que
permitan que un negocio utilice información de
manera efectiva.
La IPN es un enfoque que crea un plan general
para implementar la arquitectura de computo.
• Arquitectura de Datos
• Arquitectura de Aplicaciones
• Infraestructura de Tecnologia
Ingeniería Software un Enfoque Practico, Pressman Ed 6, Cap 6
Analizar y Diseñar
Dentro del contexto de los objetivos
Y metas de negocios
6.4 Ing. De Producto: Una Visión Global
La Meta de la Ing. de Producto es: Traducir el
deseo del cliente, de una serie de capacidades
definidas, a un producto del trabajo.
Debe Crear una: Arquitectura y Estructura Basada en:
Software
Hardware
Datos
(BDD)
Personas
Ingeniería Software un Enfoque Practico, Pressman Ed 6, Cap 6
Ing. De Requisitos
Como podemos asegurar que hemos especificado un sistema que recoge las
necesidades del cliente.
No hay una respuesta segura a esta difícil pregunta, pero un solido proceso de
ingeniería de requisitos es la mejor solución que disponemos.
Validación de
Requisitos
Identificación
de Requisitos
Análisis y
Negociación
de Requisitos
Modelado del
Sistema
Especificación
de Requisitos
Ingeniería Software un Enfoque Practico, Pressman Ed 5, Cap 10
6.5 Modelado del Sistema
Todos los sistemas basados en computadoras pueden modelarse como una
transformación de la información empleando una arquitectura tipo: Entrada,
Proceso y Salida.
Hatley y Pirbhai incluyen dos características adicionales:
• Procesamiento de la Interfaz de Usuario
• Mantenimiento y Procesamiento de Autocomprobación
Proceso de Interfaz de Usuario
Proceso
Entrada
Funciones y Proceso
De Control
Mantenimiento y
Autocomprobación
Ingeniería Software un Enfoque Practico, Pressman Ed 6, Cap 6
Proceso
Salida
8. Modelado del Análisis
El análisis de los requisitos genera la
especificación
de
características
operacionales de software.
Indica la Interfaz del software con otros
elementos del sistema y establece las
restricciones que tiene el software.
Permite al ingeniero de software
construir elementos que representen
escenarios del usuario, actividades
funcionales, clases de problemas y sus
relaciones.
La especificación de requisitos ofrecen al
desarrollador y al cliente los medios para
evaluar la calidad una vez construido el
software.
8.1 Análisis de Requisitos
8.1.1 Filosofía y Objetivos Generales
El modelo de análisis debe cumplir tres objetivos
primarios:
• Describe lo que requiere el
cliente
• Establecer una base para la
creación de un diseño de software
• Definir un conjunto de requisitos
que puedan validarse una vez
construido el software.
8.1.2 Reglas prácticas para el Modelado de Análisis
•
El modelo debe centrarse en los requisitos visibles
dentro del problema o dominio de negocio.
•
Cada elemento del modelo de analisis debe
agregarce a un acuerdo general de los rquisitos
del software y proporcionar una vision interna
del dominio de informacion, fumcion y
comportamiento del sistema.
•
Se debe minimizar el acoplamiento de todo el
sistema
•
Se debe tener la seguridad de que el modelo de
análisis proporciona valor a todos los
interesados.
•
El modelo debe mantenerse tan simple como sea
posible.
8.1.3 Análisis del Dominio
El análisis del domino es la identificación, el análisis de requisitos
comunes de un dominio especifico de aplicación para de manera
típica reutilizarlo en múltiples proyectos. El Análisis de Dominio
de aplicación especifica puede variar.
Entrada y Salida para el Análisis de Dominio
Literatura Técnica
Fuentes del
Conocimiento
Del
Dominio
Aplicaciones Existentes
Sondeos a los Clientes
Recomendación
Experta
Requisitos Actuales - Futuros
Taxonomía de Clase
Análisis
de
Dominio
Estándar de
Reutilización
Modelos Funcionales
Lenguajes de Dominio
Modelo
De
Análisis
De
Dominio
8.2 Enfoques de Modelado del Análisis
Análisis Estructurado:
Los Datos y el proceso que transforman los
datos son entidades separadas.
Los objetos de datos se modelan en una forma
que define sus atributos y relaciones.
Análisis Orientado a Objetos:
Se centra en la definición de clases y en la
manera en que éstas colaboran entre ellas
para efectuar los requisitos del sistema.
Enfoques de Modelado del Análisis
Elementos
Basados en
Escenarios:
Casos de Usos,
Textos,
Diagramas de
Actividad,
Diagramas de
Carril
Elementos de
Comportamiento:
Diagramas de
Estado, Diagramas
de Secuencias.
Modelo
de
Análisis
Elementos
Basados en Clases:
Diagramas de
Clases, Paquete de
Análisis, Modelos
CRC, Diagramas de
Colaboración.
Elementos
Orientados al
Flujo: Diagramas
de Flujo de Datos,
Diagramas de
Flujo de Control,
Narrativas de
procesamiento.
8.3 Conceptos del modelado de datos
El modelado de datos es define todos los objetos de datos que se
procesan dentro del sistema y las relaciones entre los objetos de
datos.
8.3.1 Objetos de datos:
Es una representación de casi cualquier información compuesta (se refiere a que tiene
muchas propiedades o atributos diferentes) que el software debe entender. Ejemplo:
auto, marca, modelo.
Marca
Modelo
# Id
Tipo
Color
Propietario
Lexus
LS400
1132343
Sedan
Rojo
RSP
BMW
X5
123567
Camioneta
Negra
AF2
Wolvagen
Jetta
156328
Sedan
Azul
REF
8.3.2Atributos:
Los atributos definen las propiedades de un objeto de datos y toman una de las tres
características diferentes: 1.Nombrar un ocurrencia(Entidad) del objeto de Datos.
Describir la Ocurrencia 3. Hacer referencia a otra ocurrencia.
8.3 Conceptos del modelado de datos
8.3.3 Relaciones:
Los objetos están conectados entre si de muchas maneras.
Ejemplo:
8.3 Conceptos del modelado de datos
8.3.4 Carnalidad: establece el número de objetos que pueden
participar en una relación. Las relaciones pueden ser:
1. De uno a uno
2. De uno a muchos
3. De muchos a muchos
Ejemplo:
8.4 Análisis Orientado a Objetos
El Objetivo es definir todas las clases relevantes(además de las
relaciones y el comportamiento asociado con ellas) para el
problema y que deben resolverse.
Esto se logra llevando a cabo algunas tareas:
• Deben comunicarse los requisitos básicos del usuario entre el
cliente y el ingeniero de software.
• Deben identificarse las clases, es decir, definir los atributos y
métodos.
• Se define una jerarquía de clases.
• Deben representarse las relaciones de objeto a objeto.
• Debe modelarse el comportamiento del objeto.
• Las tareas 1 a 5 se vuelven a aplicar de manera iterativa hasta
que el modelo esté completo.
8.5 Modelado basado en Escenarios
El modelado de análisis con UML comienza con la creación de
escenarios en la forma de casos de uso, diagramas de actividad y
diagramas de carril.
8.5.1 Estructura o Diagrama de
casos de uso:
Un caso de uso especifica la
manera en la que los actores
interactúan con el sistema en un
conjunto
específico
de
circunstancias. El desarrollo de una
serie de casos de uso se inicia
realizando
una lista de las
funciones o actividades que ejerce
un actor específico.
Acceso a la
cámara de
vigilancia vía
internet
Cámaras
Configurar
Paramentos
del Sistema
Hogar Seguro
Configurar
Alarma
8.5.2 Diagrama de Actividades
Complementa el caso de uso al proporcionar una
representación grafica del flujo de interacción dentro
de un escenario específico.
8.5.3 Diagrama de Carril
Es una variación útil del diagrama de actividad, ya que permite al
modelador la representación del flujo de actividades descritas por el
caso de uso y al mismo tiempo indicar que actor o clases de análisis
tiene la responsabilidad de la acción descrita mediante un rectángulo
de actividad.
8.6 Modelo Orientado al Flujo
Tiene una visión del sistema del tipo entrada-proceso-salida. Los
objetos de datos fluyen hacia el interior del software, se
transforman mediante elementos de procesamiento y los objetos
de datos resultantes fluyen al exterior del software.
8.7 Modelado basado en clases
Una clase orientada a objetos encapsula atributos de los datos pero
también 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.
CLIENTE
Numero de cuenta
Cedula
Nombres
Apellidos
Teléfono
Dirección
ingresar_tarjeta( )
ingresar_clave( )
ingresar_monto( )
retirar_dinero( )
revisar_cuenta( )
retirar_tarjeta( )
retirar_comprobante( )
Modelo de Clase-ResponsabilidadColaborador(CRC)
El modelado de Clase-Responsabilidad-Colaborador (CRC)
proporciona un medio simple para identificar y organizar las clases
relevantes para los requisitos del sistema o producto. Un modelo
CRC es una colección de tarjetas índices estándar que representan
clases. El objeto es desarrollar una representación organizada de las
clases.
Modelo de Clase-ResponsabilidadColaborador(CRC)
CRC: se puede extener en las diferentes categorías:
1. Clases de entidad: llamadas clases de modelo o
negocios, se extraen de manera directa del
enunciado del problema.
2. Clases de frontera: se utilizan para crear la
interfaz que el usuario ve y con la cual
interactúa cuando se utiliza el software.
3. Clases de controlador: manejan una “unidad de
trabajo” desde el inicio hasta el final.gh
Modelo de Clase-ResponsabilidadColaborador(CRC)
Responsabilidad:
Son los atributos y las operaciones relevantes para la clase.
Colaboradores:
Son aquellas clases que se requieren para que una clase reciba la
información necesaria para completar una responsabilidad.
Agregación:
Son las subclases que forman parte de una clase, se conectan a
través de una relación de tipo es parte de.
Asociaciones y Dependencias
Asociaciones: son las relaciones entre clases.
Dependencia: en el contexto de las clases va ligada a las
operaciones, indicando que una clase utiliza otra como
argumento en la signatura de una operación .
Modelos de Comportamiento
El modelo de comportamiento indica la forma en que el
software responderá a los eventos o estímulos externos.
• Diagrama de estado: representa el comportamiento de las
clases cuando el sistema realiza sus funciones.
Modelos de Comportamiento
Diagrama de Secuencia: representa el comportamiento
al describir la forma en que las clases se mueven de
estado a estado.

similar documents