Вы находитесь на странице: 1из 35

Administracin de Proyectos de desarrollo de Software

Ciclo de vida de un proyecto


Enfoque moderno
Temas
Diseo del software
Principios del diseo
Actividades y principios del diseo
Actividades y principios del diseo
Bilio!raf"a
#alote$ Pan%a&' ())*' An inte!rated approac+ to Software En!ineerin!'
Sprin!er' ,nd ed'
Sc+ac+$ Step+en' ,--.' /&ect /riented and Classical Software
En!ineerin!' 0c 1raw 2ill' 3t+ edition'
Pressman$ 4o!er' ,--.' 5n!enier"a de Software 67n enfoque pr8ctico'
0c1raw 2ill' 39 edicin'
Administracin de Proyectos de desarrollo de Software
Ciclo de vida de un proyecto
Enfoque moderno
:in de la presentacin
Contin;e en la si!uiente actividad
Actividades y principios del diseo
Actividades y principios del diseo
Diseo del software
El diseo es la fase del proceso de desarrollo de software <donde se crea
una representacin o modelo del software' A diferencia del an8lisis donde
se descrien los datos y funciones requeridos$ el modelo del diseo
proporciona los detalles acerca de las estructuras de los datos$ las
arquitecturas$ las interfaces y los componentes del software necesarios
para implementar el sistema= >Pressman$ ,--.?
Actividades y principios del diseo
Diseo
Actividad que inicia con un con&unto de requerimientos'
Se lleva a cao antes de la implementacin
Es un len!ua&e intermedio entre los requerimientos y el cdi!o
Es el paso del dominio del prolema al dominio de la solucin
Pasa de representaciones astractas a m8s concretas
El resultado es utili@ado para implementar el sistema
Actividades y principios del diseo
Diseo
Es una actividad creativa cuya meta es !enerar un plan que satisfa!a
los requerimientos'
Tal ve@ sea la actividad m8s cr"tica en el desarrollo del sistema
El diseo determina las principales caracter"sticas de un sistema
Tiene un !ran impacto en las prueas y el mantenimiento
Aos documentos del diseo son la referencia para las si!uientes fases
Actividades y principios del diseo
Actividades del diseo
El diseo cl8sico consiste de tres actividadesB
6 El diseo de la arquitectura Cconocido tamiDn como diseo
l!ico o diseo de alto nivelE
6 Diseo detallado Cconocido como diseo de mdulos$ diseo
f"sico o diseo de a&o nivelE
6 Diseo de las prueas
Actividades y principios del diseo
Diseo de la arquitectura del software
El resultado de disear los mdulos de un sistema de software se le
conoce como diseo de la arquitectura del sistema' El diseo de la
arquitectura es el primer paso en el diseo$ va se!uido del diseo
detallado y la fase de prueas del diseo'
Actividades y principios del diseo
Diseo detallado
Durante esta fase$ cada uno de los mdulos identificados durante el
diseo de la arquitectura es especificado a detalle$ incluyendo
seudocdi!o representando los al!oritmos$ las estructuras de datos y los
datos miemros'
Actividades y principios del diseo
Prueas del diseo
Sirve para verificar que los requerimientos se estDn incluyendo
conforme a las especificaciones' Aas estructuras creadas durante el
diseo de la arquitectura son un ve+"culo importante para las prueas
del diseo$ en las que se si!uen los escenarios de los casos de uso en
una simulacin del uso del sistema' Dic+as prueas son imposiles sin
la representacin de los mdulos y sus interFrelaciones CacoplamientoE'
Actividades y principios del diseo
0etodolo!"as del diseo
El diseo puede ser orientado a o&etos u orientado a funciones
El diseo orientado a funciones consiste de definiciones de mdulos$
cada mdulo soporta la astraccin de una funcin'
En el diseo orientado a o&etos$ los mdulos en el diseo representan
astracciones de datos'
En este tema se estudia el diseo orientado a funciones$ en particular la
metodolo!"a del diseo estructurado$ aunque se discuten principios
aplicales a cualquier metodolo!"a orientada a funciones o a o&etos'
Actividades y principios del diseo
Calidad del diseo
El o&etivo es encontrar el me&or diseo posile
Aos criterios de evaluacin$ son frecuentemente su&etivos y no
cuantificales'
Aos principales atriutos de calidad a evaluar en un sistema es que Dste
seaB
6 Correcto
6 Eficiente
6 0antenile
6 Eficiente en costos
Actividades y principios del diseo
Calidad del diseo
Correcto
6 El diseo del sistema es correcto si al +aerse construido un sistema
con Dl se satisfacen los requerimientos de ese sistema
Eficiente
6 Se mide con la velocidad de procesamiento$ tiempo de respuesta$
consumo de recursos$ rendimiento y desempeo en !eneral'
Actividades y principios del diseo
Calidad del diseo
0antenile
6 Comina la +ailidad de eGtender el pro!rama$ adaptarlo y darle
servicio$ adem8s$ resistencia a prueas$ compatiilidad$
confi!urailidad Crespecto a +ardwareE$ facilidad para instalarse y
para locali@ar prolemas'
Eficiente en costos
6 Por la misma calidad$ se puedan minimi@ar costos$ sore todo
permita reducir costos en las si!uientes fases
Actividades y principios del diseo
Principios del diseo
El diseo es una actividad creativa$ donde el reto es crear un modelo a
partir de requerimientos astractos'
EGisten principios que sirven como !u"as durante el diseo' Aos
fundamentales sonB
6 Astraccin
6 Particionamiento del prolema
6 Diseo BottomF7p o TopFDown
6 0odularidad CCo+esin y AcoplamientoE
Actividades y principios del diseo
Astraccin
Es un tDrmino com;n a todas las disciplinas de la in!enier"a de
software'
Es una +erramienta que permite considerar a un componente a un nivel
astracto sin preocuparse de los detalles de implementacin' Aa
astraccin de un componente descrie su comportamiento eGterno y
no los detalles internos para producir dic+o comportamiento'
Aa astraccin de componentes
6 Aos representa como ca&as ne!ras
6 Es ;til para entender los sistemas$ especialmente en el
mantenimiento
Actividades y principios del diseo
Astraccin
2ay dos tipos de astraccin
6 Astraccin procedimental
7n mdulo se define por las funciones que desempea$ por
e&emplo un mdulo que ordena un arre!lo puede estar
representado por la funcin ordenamiento' Al mdulo se le trata
como una funcin de entradaHsalida'
6 Astraccin de datos
Es la ase del diseo orientado a o&etos ya que se enfoca en los
datos y en las operaciones que se e&ecutan en ellos
Actividades y principios del diseo
Particin del prolema
Principio 8sico <divide y vencer8sI
El o&etivo es dividir el prolema en pie@as m8s pequeas y
mane&ales que puedan resolverse y modificarse separadamente'
Aas pie@as no son independientes$ se comunican entre ellas$ lo cual
a!re!a comple&idad'
Conforme aumenta el n;mero de componentes$ el costo tamiDn se
incrementa' Por lo que dee detenerse el particionamiento cuando el
costo sea mayor que el eneficio'
Actividades y principios del diseo
Diseo de ArriaFaFAa&o CTopFDownE
5nicia con las especificaciones del sistema
Define un mdulo para implementar las especificaciones
Especifica mdulos suordinados' Trata a cada mdulo especificado
como el prolema a solucionar
Se procede con el refinamiento +asta que se alcan@an los mdulos de
nivel m8s a&o CottomE
En cada etapa eGiste una ima!en clara del diseo
Actividades y principios del diseo
Diseo de ArriaFaFAa&o CTopFDownE
Es el m8s natural para mane&ar prolemas comple&os
Slo se puede utili@ar cuando se conocen claramente las
especificaciones y el sistema se empie@a desde cero
2a sido frecuentemente utili@ado y propa!ado
0uc+as metodolo!"as se asan en Dl
Aa factiilidad se conoce slo +asta el final
Actividades y principios del diseo
Diseo de Aa&oFaFArriaCBottomF7pE
Se inicia diseando los mdulos en el nivel m8s a&o$ los componentes
m8s 8sicos o primitivos
Se construyen capas de astraccin o m8quinas virtuales
Se implementan las operaciones que provee la capa de astraccin'
Aas operaciones de esta capa se utili@an para implementar operaciones
m8s poderosas y una capa de astraccin m8s alta$ +asta que se
alcan@a un nivel donde las operaciones son las esperadas del sistema
Actividades y principios del diseo
Diseo de Aa&oFaFArriaCBottomF7pE
Esta tDcnica es necesaria si los mdulos van a ser reutili@ados o cuando
ya eGiste parte del sistema'
Jo es posile usar slo topFdown o slo ottomFup
Jormalmente se usa una cominacin de amas'
Actividades y principios del diseo
0odularidad
Se le considera a un sistema modular si consiste de componentes
discretos de tal forma que cada componente puede ser implementado
separadamente y camios en un componente tienen m"nimo impacto en
los otros'
Es un concepto li!ado estrec+amente a la astraccin$ ya que cada
mdulo dee una ien definida astraccin y tener una clara interfa@ por
la que se interact;a con los otros mdulos
Actividades y principios del diseo
0odularidad
Aa modularidad
6 Sustenta la independencia de modelos
6 Permite la estructuracin &er8rquica de pro!ramas
6 0e&ora la claridad del diseo y facilita la implementacin
6 4educe costos de prueas$ ;squeda de errores y mantenimiento
Para otener modularidad no ;nicamente se parte en peda@os el sistema'
Se requieren criterios de descomposicinB
6 AC/PAA05EJT/ K C/2ES5LJ
Actividades y principios del diseo
Acoplamiento
Se refiere a la dependencia entre mdulos' Busca la independenciaB si uno
puede totalmente funcionar sin la presencia de otro'
Aa independencia entre mdulos es deseale ya queB
6 Aos mdulos pueden ser modificados de forma separada
6 Pueden implementarse y proarse separadamente
6 El costo de pro!ramacin disminuye
En un sistema los mdulos no pueden ser totalmente independientes$
deen cooperar unos con otros'
0ientras m8s coneGiones eGistan entre los mdulos
6 Son m8s dependientes y se requiere m8s conocimiento de un mdulo
para entender el otro
Actividades y principios del diseo
Acoplamiento
El acoplamiento entre mdulos es la medida de la fuer@a de las
interconeGiones entre mdulos'
En !eneral$ mientras m8s necesitamos saer del mdulo A para
entender el mdulo B$ m8s conectado est8 A con B'
0dulos <Altamente acopladosI est8n li!ados por coneGiones muy
fuertes
0dulos <Ba&amente acopladosI tienen coneGiones dDiles
Actividades y principios del diseo
0etaB mdulos con el m8s a&o acoplamiento posile
En donde sea posile$ tener mdulos independientes'
El acoplamiento se decide durante el diseo de la arquitectura
Jo puede reducirse el nivel de acoplamiento en la implementacin
Aos principales factores que influencian el acoplamiento son tresB
6 El tipo de coneGin entre mdulos
6 Aa comple&idad de la interfa@
6 El tipo de informacin que fluye entre los mdulos
Acoplamiento
Actividades y principios del diseo
Se dee minimi@ar el n;mero de interfaces por mdulo
Se dee minimi@ar la comple&idad de cada interfa@
El acoplamiento se minimi@a siB
6 Aos otros mdulos slo utili@an la entrada definida
6 Aa informacin pasa eGclusivamente por medio de los par8metros
El acoplamiento aumenta siB
6 Se usa una interfa@ indirecta u oscura
6 Se usan las partes internas del mdulo directamente
6 Se comparten variales para la comunicacin
6 Se env"a m8s informacin de la necesaria Cp' e&' todo un arre!lo en ve@
del elemento en cuestinE
Acoplamiento
Actividades y principios del diseo
El acoplamiento depende del tipo de informacin que fluye entre los
mdulos' Puede ser de dos tiposB
6 Datos o control
Cuando se transfiere informacin de control B
6 Aa accin del mdulo depende de la informacin reciida
6 2ace m8s dif"ciles de entender a los mdulos
Aa transferencia de informacin tipo datos$ si!nifica que el mdulo pasa
como entrada datos a otro mdulo y recie en retorno al!;n dato de
salida'
6 Permite a un mdulo ser tratado como una funcin de entradaHsalida
que reali@a al!una transformacin a los datos'
Aas interfaces que slo mantienen comunicacin de datos tienen el m8s
a&o !rado de acoplamiento'
Acoplamiento
Actividades y principios del diseo
4esumenB !rados de acoplamiento
Acoplamiento m8s a&oB las interfaces slo se comunican con datos
Acoplamiento m8s altoB interfaces +"ridas Cdatos y controlE
Acoplamiento Comple&idad Tipo de Tipo de
de interfa@ coneGiones comunicacin
Ba&o Simple con el mdulo datos
ovia por nomre
Alto complicada con elementos control
oscura internos +"rida
Actividades y principios del diseo
Co+esin
Aa co+esin es una medida de la fuer@a funcional relativa de un
mdulo$ es decir$ su interDs es determinar quD tan cercanamente
relacionados est8n los elementos de un mdulo unos con otros'
7n mdulo co+esivo reali@a una sola tarea
Actividades y principios del diseo
Aa co+esin determina si los diferentes elementos de un mdulo
deen estar &untos'
El o&etivo es tener alta co+esin
Aa co+esin y el acoplamiento est8n relacionados$ a mayor
co+esin en los mdulos +ar8 menor acoplamiento entre mdulos
Aa correlacin no es perfecta
Co+esin
Actividades y principios del diseo
Jiveles de Co+esin
EGisten varios niveles de co+esin
6 Coincidental
6 A!ica
6 Temporal
6 Comunicacional
6 Secuencial
6 :uncional
Coincidental es la m8s a&a y la funcional la m8s alta
Aa escala no es lineal
A la funcional se le considera una fuerte co+esin
Actividades y principios del diseo
Determinando la Co+esin
Descria el propsito de un mdulo en un enunciado
4ealice las si!uientes prueas
(' Si el enunciado tiene que cominar varias sentencias$ contiene
m8s de un vero$ el mdulo proalemente est8 desempeando
m8s de una funcin' Proalemente tiene co+esin secuencial o
comunicacional'
,' Si el enunciado tiene palaras relativas al tiempo como <primer=$
<si!uiente=$ <despuDs=$ <empe@ar=$ etc' el mdulo proalemente
tiene co+esin secuencial o temporal'
Actividades y principios del diseo
M' Si el predicado del enunciado no contiene un o&eto espec"fico
despuDs del vero$ el mdulo proalemente tiene co+esin l!ica'
Por e&emplo <editar todos los datos=$ mientras que <editar datos
empleado= puede tener co+esin funcional
N' Palaras como <iniciali@a= <limpia= normalmente implican co+esin
temporal
0dulos funcionalmente co+esivos siempre pueden descriirse con
un enunciado simple
Determinando la Co+esin CcontE

Вам также может понравиться