0% encontró este documento útil (0 votos)
21 vistas34 páginas

Unidad 3. Proceso de Desarrollo de Software

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1/ 34

Ingeniería del Software

UNIDAD 3. PROCESO DE DESARROLLO DE SOFTWARE

Prof. Dianela Dávila


Programa Nacional de Formación en Informática
Fundamentos del
enfoque orientado a
objetos
PROCESO DE DESARROLLO DE SOFTWARE

ING. DIANELA DÁVILA UNIDAD 3 2


Enfoque orientado a objetos
Orientación a objetos: Es el conjunto de técnicas que pueden utilizarse para hacer el
desarrollo de programas más eficiente. Utiliza: Objetos, como bloques de construcción, cada
objeto es una instancia de la clase (creación del objeto) y las clases se relacionan unas con
otras.

Objeto: Es una colección de elementos de datos, junto con las funciones asociadas para
operar sobre esos datos.

Clase: Es una colección de objetos similares. Una clase es un tipo definido por el usuario que
determina las estructuras de datos y las operaciones asociadas con ese tipo.

Un proceso de desarrollo bajo este enfoque define el conjunto de características que se modelan como
componentes (clases orientadas a objetos)
ING. DIANELA DÁVILA UNIDAD 3 3
Proceso unificado de desarrollo (PU)
Al principio de la década de 1990, James Rumbaugh, Grady Booch e Ivar Jacobson comenzaron
a trabajar en un “método unificado” que combinaría lo mejor de cada uno de sus métodos
individuales de análisis y diseño orientado a objetos. El resultado fue el UML, lenguaje de
modelado unificado, que contiene una notación robusta para el modelado y desarrollo de los
sistemas orientados a objetos.

Estructura para la
ingeniería de
¿Proceso Unificado
software orientado a
(PU)?
objetos que utiliza
UML.

ING. DIANELA DÁVILA UNIDAD 3 4


Fases del proceso unificado
Las fases del PU se relacionan con las actividades
generales estudiadas en la Unidad 2 y se identifican como:
Se identifican los requerimientos del negocio, que detallan
las características y funciones que desea cada clase
Concepción principal. Además, la planeación identifica los recursos y
define un programa de actividades.
Incluye las actividades de comunicación y modelado del
Elaboración modelo general del proceso

Construcció Es idéntica a la actividad de construcción definida para el


n proceso general del software.
Se da el software a los usuarios finales para las pruebas
Transición beta, quienes reportan defectos o cambios necesarios.
Además, se generan los manuales de usuario, guías de
solución de problemas, procedimientos de instalación, etc.
Fuente: Ingeniería del software, R. Pressman Producción Coincide con la actividad de despliegue del proceso
general.

ING. DIANELA DÁVILA UNIDAD 3 5


Introducción a los
procesos ágiles de
desarrollo
PROCESO DE DESARROLLO DE SOFTWARE

ING. DIANELA DÁVILA UNIDAD 3 6


Procesos ágiles de desarrollo
Según Jacobson en el contexto del trabajo de la La prioridad más alta es satisfacer al
cliente a través de la entrega pronta y
ingeniería de software define: continua de software valioso.

“Un equipo ágil reconoce que el software es


desarrollado por individuos que trabajan en Son bienvenidos los requerimientos
equipo, y que su capacidad, su habilidad para cambiantes, aún en una etapa
avanzada del desarrollo.
colaborar, es el fundamento para el éxito del
proyecto.”
Las personas de negocios y los
Un equipo ágil es diestro y capaz de responder desarrolladores deben trabajar
de manera apropiada a los cambios. Por tanto, juntos, a diario y durante todo el
proyecto.
un proceso ágil debe ser adaptable.

Es esencial la simplicidad.
Algunos principios

ING. DIANELA DÁVILA UNIDAD 3 7


Programación Extrema (XP)
◦ Es el enfoque más utilizado del desarrollo de
software ágil.
◦ Beck define un conjunto de cinco valores que
establecen el fundamento para todo trabajo
realizado como parte de XP: comunicación,
simplicidad, retroalimentación, valentía y
respeto. Cada uno de estos valores se usa como
un motor para actividades, acciones y tareas
específicas de XP.
◦ La programación extrema usa un enfoque
orientado a objetos como paradigma preferido
de desarrollo, y engloba un conjunto de reglas y
prácticas que ocurren en el contexto de cuatro
actividades estructurales: planeación, diseño,
codificación y pruebas.

ING. DIANELA DÁVILA UNIDAD 3 8


Elementos para
interpretar el modelado
de software (UML)
PROCESO DE DESARROLLO DE SOFTWARE

ING. DIANELA DÁVILA UNIDAD 3 9


Lenguaje Unificado de Modelado
(UML)

Es un lenguaje gráfico que permite a las personas que diseñan sistemas de software
orientados a objetos utilizar una notación estándar en la industria para representarlos

El estándar actual es UML 2.0

El bloque básico de construcción de UML es un diagrama.

ING. DIANELA DÁVILA UNIDAD 3 10


Características de UML
Un modelo UML tiene dos características muy importantes:

Estructura estática: Describe los tipos de objetos más importantes para


modelar el sistema.

Comportamiento dinámico: Describe los ciclos de vida de los objetos y


cómo interactúan entre sí para conseguir la funcionalidad del sistema
requerido.

ING. DIANELA DÁVILA UNIDAD 3 11


Tipos de Diagramas
UML 2.0 proporciona 13 diferentes diagramas para su uso en modelado de software, divididos
en dos categorías: estructurales y de comportamiento.

Diagramas de clases o de
Diagramas estructurales:
estructuras.
Se utilizan para capturar la
organización física de las Diagramas de
cosas del sistema, por componentes.
ejemplo, cómo se Diagramas de estructuras
relacionan unos objetos compuestas.
con otros Diagramas de despliegue.
Diagramas de objetos.

ING. DIANELA DÁVILA UNIDAD 3 12


Tipos de Diagramas
UML 2.0 proporciona 13 diferentes diagramas para su uso en modelado de software, divididos
en dos categorías: estructurales y de comportamiento.

Diagramas de Diagramas de actividad.


comportamiento: Diagramas de comunicación.
Se centran en el Diagramas de interacción.
comportamiento de los Diagramas de secuencia.
elementos de un sistema. Diagramas de máquinas de
estado.
Diagramas de tiempo.
Diagramas de caso de uso.

ING. DIANELA DÁVILA UNIDAD 3 13


Diagrama de Clases
DIAGRAMA ESTRUCTURAL

ING. DIANELA DÁVILA UNIDAD 3 14


Diagrama de clases
Se utilizan para la representación gráfica de una o varias clases.

Para ello, se utilizará la notación que provee UML.

Las clases se denotan como rectángulos divididos en tres partes. La primera contiene el
nombre de la clase, la segunda contiene los atributos y la tercera los métodos.

ING. DIANELA DÁVILA UNIDAD 3 15


Componentes

Los modificadores de acceso a datos y


operaciones, son:
◦ Público, se representa con el símbolo +.
◦ Protegido, se representa con el símbolo #.
◦ Privado se representa con el símbolo – .

Se representan al lado izquierdo del atributo.


(+ público, # protegido, - privado).

Los diagramas de clases muestran un resumen del sistema en términos de sus clases y las
relaciones entre ellas.

ING. DIANELA DÁVILA UNIDAD 3 16


Relaciones entre clases
HERENCIA AGREGACIÓN
(GENERALIZACIÓN/ESPECIALIZACIÓN) (TODO / PARTE, FORMA PARTE DE )
Es un tipo de jerarquía de clases, en la que Es una relación que representa a los objetos
cada subclase contiene los atributos y compuestos por otros objetos. Indica Objetos que a su
métodos de una (herencia simple) o más vez están formados por otros.
superclases (herencia múltiple).
En el diagrama de clases, la herencia se
representa mediante una relación de
generalización/especificación, que se denota
de la siguiente forma: La multiplicidad es el rango de cardinalidad permitido
que puede asumir la asociación, se denota LI…LS. Se
puede usar * en el límite superior para representar
una cantidad ilimitada (ejemplo: 3…*)

ING. DIANELA DÁVILA UNIDAD 3 17


Relaciones entre clases
COMPOSICIÓN ASOCIACIÓN
(ES PARTE ELEMENTAL DE) (USO, USA, CUALQUIER OTRA RELACIÓN)
Un componente es parte esencial de un Es una asociación que se establece cuando dos
elemento. La relación es más fuerte que el clases tienen una dependencia de utilización, es
caso de agregación, al punto que si el decir, una clase utiliza atributos y/o métodos de
componente es eliminado o desaparece, la otra para funcionar.
clase mayor deja de existir.
La relación de uso, se denota con una
La relación de composición, se denota de la dependencia estereotipada:
siguiente forma:

ING. DIANELA DÁVILA UNIDAD 3 18


Ejemplo
Represente mediante un diagrama de clases lo siguiente:
Se necesita almacenar información sobre una empresa, sus empleados y
clientes. Los empleados se caracterizan por su nombre, cédula de identidad,
edad y dirección. Los clientes se necesita conocer su teléfono de contacto. Los
empleados tienen un sueldo neto, si son directivos tienen una categoría, así
como un conjunto de empleados subordinados. Se pide mostrar los datos de los
empleados y clientes de la empresa.

ING. DIANELA DÁVILA UNIDAD 3 19


Ejemplo (Solución)
Paso 1: Consiste en leer detenidamente el enunciado y extraer de él toda la
información posible, luego se procederá a realizar una lista de los elementos más
significativos, así como visualizar que tipo de datos posee cada uno:
◦ Empresa
◦ Empleados
◦ Clientes
◦ Nombre, C.I, Edad, Dirección
◦ Teléfono de contacto
◦ Sueldo neto y salario
◦ Directivos
◦ Categoría
◦ Empleados subordinados

ING. DIANELA DÁVILA UNIDAD 3 20


Ejemplo (Solución)
Paso 2: Se procede al diseño de clases, recuerde que las clases son entidades
que encapsulan información, se trata por tanto, de ver qué información de la
lista anterior está relacionada entre sí y ver la forma de encapsularla en sus
respectivas clases. Para ello se debe identificar las clases a partir del enunciado,
considerando las clases de forma aislada las unas de las otras. Posteriormente,
se le asignará sus relaciones.

Paso 3: Se evaluará qué clases tienen que ver con otras, es decir sus relaciones.
Primero se abordan las relaciones de herencia empezando por aquellas que
resulten triviales o más evidentes.

ING. DIANELA DÁVILA UNIDAD 3 21


Ejemplo (Solución)

ING. DIANELA DÁVILA UNIDAD 3 22


Ejercicios Propuestos
Ejercicio 1: Se quiere modelar el comportamiento de una biblioteca:
◦ Una biblioteca tiene copias de libros. Los libros se caracterizan por su nombre, tipo (novela,
teatro, poesía, ensayo), editorial, año y autor.
◦ Los autores se caracterizan por su nombre, nacionalidad y fecha de nacimiento.
◦ Cada copia de un libro tiene un identificador (id), y un estado: en la biblioteca, prestado, con
retraso o en reparación.
◦ Cada lector posee información como nombre, teléfono y dirección. Los lectores pueden
prestar un máximo de 3 libros.
◦ Realice el diagrama de clases e incluya los métodos característicos de una biblioteca como
préstamo y devolución, también, considere el método multa si el lector no devuelve el libro
en la fecha establecida.

ING. DIANELA DÁVILA UNIDAD 3 23


Ejercicios Propuestos
Ejercicio 2: Amazon.com ha decidido contratarlo para renovar su sistema de compras, para ello
desea ver el diagrama de clases y a partir de su abstracción determinar si lo contrata o no.
Amazon desea que su sistema tenga las siguientes funcionalidades:
◦ Un cliente puede tener varios carrito de compras; cuando desea comprar algo lo sube a algún
carrito, y cuando cambia de opinión puede cancelar dicha compra. Cada carrito estará
compuesto de un subtotal, total y el impuesto correspondiente.
◦ El cliente puede comprar más de un ítem del mismo producto, considerando que cada
producto posee un código y un precio.
◦ Los clientes pagan el contenido de un carrito utilizando su tarjeta de crédito, la cual es
verificada previamente con su número, titular y fecha de vencimiento.
◦ Cada cliente tiene que especificar su nombre, dirección de envío, dirección de cobro y correo.
Algunos clientes son preferenciales, a quienes se les hace un porcentaje de descuento.

ING. DIANELA DÁVILA UNIDAD 3 24


Ejercicios Propuestos
Ejercicio 3: Realice el diagrama de clases para la siguiente especificación de una organización:
◦ Una empresa posee varios departamentos, la empresa se caracteriza por su nombre,
dirección y teléfono. Un departamento manufactura varios productos y posee un
administrador.
◦ Cada producto posee su nombre específico, precio y código.
◦ La empresa cuenta con trabajadores y administradores, ambos se caracterizan por su
nombre, dirección, identificador (id). Adicional, el trabajador se distingue por una
clasificación dentro de la empresa (A, B, C) y el administrador se distingue por una categoría
(I, II, III).
◦ Los trabajadores apoyan varios proyectos de la empresa y un administrador es responsable
del proyecto asignado. Por otro lado, cada proyecto tiene su nombre, el presupuesto
asignado y la prioridad de ejecución.

ING. DIANELA DÁVILA UNIDAD 3 25


Diagrama de Caso de
Uso
DIAGRAMA DE COMPORTAMIENTO

ING. DIANELA DÁVILA UNIDAD 3 26


Diagrama de caso de uso
Ayudan a determinar la funcionalidad y características del software desde la
perspectiva del usuario.

Un caso de uso describe la manera en la que un usuario interactúa con el sistema,


definiendo los pasos requeridos para lograr una meta específica.

Un diagrama UML de caso de uso es un panorama de todos los casos de uso y sus
relaciones. El mismo proporciona un gran cuadro de la funcionalidad del sistema.

ING. DIANELA DÁVILA UNIDAD 3 27


Componentes
La figura de palitos representa a un actor que
se asocia con una categoría de usuario (u otro
elemento de interacción. Función 1

Función 2
Los casos de uso se muestran como óvalos.
Los actores se conectan mediante líneas a los
casos de uso que realizan
Función 3

Los casos de uso se colocan en un rectángulo,


pero los actores no. Este rectángulo
representa las fronteras del sistema y los Función n
actores están afuera del sistema.

ING. DIANELA DÁVILA UNIDAD 3 28


Diagrama de Actividad
DIAGRAMA DE COMPORTAMIENTO

ING. DIANELA DÁVILA UNIDAD 3 29


Diagrama de Actividad
Muestra el comportamiento dinámico de un sistema o de parte de
un sistema a través del flujo de control entre acciones que realiza
el sistema.

Es similar a un diagrama de flujo, excepto porque un diagrama de


actividad puede mostrar flujos concurrentes.

ING. DIANELA DÁVILA UNIDAD 3 30


Componentes
Nodo acción, representado mediante un rectángulo
redondeado, que corresponde a una tarea realizada por
el sistema de software.

Un punto negro sólido forma el nodo inicial que indica


el punto de inicio de la actividad.

Un punto negro rodeado por un círculo negro es el nodo


final que indica el fin de la actividad.

Un tenedor (fork) representa la separación de


actividades en dos o más actividades concurrentes. Se
dibuja como una barra negra horizontal con una flecha
apuntando hacia ella y dos o más flechas apuntando en
sentido opuesto.

Las flechas desde un nodo acción hasta otro indican el flujo de control
ING. DIANELA DÁVILA UNIDAD 3 31
Componentes
Una unión (join) es una forma de sincronizar flujos de
control concurrentes. Se representa mediante una
barra negra horizontal con dos o más flechas entrantes
y una flecha saliente.

Un nodo de decisión corresponde a una rama en el


flujo de control con base en una condición. Tal nodo se
despliega como un triángulo blanco con una flecha (falso) (verdadero)
entrante y dos o más flechas salientes. Cada flecha
saliente se etiqueta con una guardia (una condición
dentro de corchetes).

Los canales, se forman dividiendo el diagrama en tiras o Participante 1 Participante 2 Participante N


“carriles”, cada uno de los cuales corresponde a uno de
los participantes. Todas las acciones en un carril las
realiza el participante correspondiente.

ING. DIANELA DÁVILA UNIDAD 3 32


Ejemplo
Represente un
diagrama de
actividad que
involucre hornear un
pastel.

ING. DIANELA DÁVILA UNIDAD 3 33


Ejemplo
Represente un
diagrama de
actividad que
involucre hornear un
pastel.

ING. DIANELA DÁVILA UNIDAD 3 34

También podría gustarte