Unidad 2 Requerimientos para El Analisis Del Dis Orientado A Objetos
Unidad 2 Requerimientos para El Analisis Del Dis Orientado A Objetos
Unidad 2 Requerimientos para El Analisis Del Dis Orientado A Objetos
Programa de la asignatura:
Anlisis y diseo orientado a objetos
Unidad 2
Requerimientos para el anlisis del diseo orientado a
objetos
Clave:
Ingeniera:
15142313
TSU:
16142313
ndice
Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos ......................... 3
Presentacin de la unidad ................................................................................................. 3
Propsito ........................................................................................................................... 3
Competencia especfica..................................................................................................... 4
2.1. Levantamiento de requerimientos ............................................................................... 4
Actividad 1. Cmo obtener los requerimientos para un programa orientado a objetos? .. 9
2.2. Documentacin para levantamientos y especificaciones........................................... 10
Actividad 2. Anlisis de los requerimientos para disear un programa ............................. 12
2.2.1. Documentacin ...................................................................................................... 12
2.2.2. Especificaciones .................................................................................................... 13
Actividad 3. Documentacin de los requerimientos para disear un programa ................ 14
2.3. Estndares de especificacin.................................................................................... 14
2.3.1. Fases de la estandarizacin................................................................................... 15
2.3.2. Anlisis de restricciones ......................................................................................... 17
2.4. Modelos del desarrollo de software ........................................................................... 18
2.4.1. giles ..................................................................................................................... 19
2.4.2. Predictivos ............................................................................................................. 20
Evidencia de aprendizaje.Requerimientos para disear un programa orientado a objetos21
Cierre de la unidad .......................................................................................................... 22
Para saber ms ............................................................................................................... 22
Fuentes de consulta ........................................................................................................ 23
Propsito
Al trmino de esta unidad logrars:
Competencia especfica
Requerimientos
Tomada de https://goo.gl/24ssFP
Si deseas ampliar conocimientos de entrevistas desde cmo prepararla, consulta la pgina 89 del libro de
Kendal (2005); la bibliografa completa la encontrars al final de este documento.
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Para poder formular preguntas cerradas es necesario anticipar las posibles alternativas de
respuesta. Algunos ejemplos de preguntas cerradas:
Firmamos el contrato?
Le gusta nuestro producto?
Separar: una vez que ya conoces todos los requerimientos del cliente y los tienes
organizados en tu formato, separa aquellos que se refieran a la misma parte o
mdulo del sistema.
Vamos a suponer que el cliente est solicitando un sistema para controlar las ventas y el
almacn de su producto va telefnica; por lo tanto, concert una cita para hablar de
detalles y los requerimientos. Entonces, se debe comenzar planteando posibles preguntas
(abiertas o cerradas) sobre detalles ms especficos del diseo; por ejemplo: qu datos
requiere que el sistema tenga de cada producto, aparte de clave de descripcin y precio?
Para el control del almacn, qu datos de existencia requiere de cada producto?
Una vez que se recopile la informacin, debes vaciarla en un formato de requerimientos y
organizar lo solicitado; es un hecho que mucha de esa informacin que se recab no se
va a ocupar, entonces habr que limpiarla y no considerarla; en caso de que algo no se
haya preguntado o por si surgen ms dudas es necesario reelaborar, y por ultimo
separar en los posibles mdulos (por ejemplo: ventas y almacn).
Esta informacin se apoya en tres pilares o consta de tres partes principales:
Procesos.
Datos.
Eventos.
Los procesos dicen qu hay que hacer. Los datos indican con qu hay que hacerlo. Los
eventos muestran cundo hay que hacerlo. Por lo tanto, estos tres puntos provocan la
ejecucin de la operacin adecuada en cada momento. Son los que activan la aplicacin,
la ponen en marcha, y propagan esa activacin a lo largo de la aplicacin,
desencadenando la ejecucin de otras operaciones. Los eventos llevan el control de la
aplicacin introduciendo el dinamismo necesario para su ejecucin. Los eventos tienen
mucha relacin con la interfaz de la aplicacin, porque a travs de la interfaz se
introducen los eventos.
Los tres pilares son complementarios, no tienen ms importancia uno que otro, se
necesitan los tres. En algunos sistemas predomina ms uno que otro, pero siempre estn
presentes.
Para especificar cada uno de los tres pilares se utilizan modelos. Un modelo es una
representacin abstracta de la realidad. Por tanto, como resultado del anlisis se
obtendrn:
Modelo de procesos: recoge funciones, actividades, tareas, acciones, debe
realizar la aplicacin y manejar los datos. Un modelo de procesos de software es
una representacin abstracta de un proceso del software, cada modelo de proceso
representa un proceso desde una perspectiva en particular y as proporciona slo
informacin parcial sobre ese proceso (Sommerville, 2006).
Existen muchos modelos que se enfocan al proceso (algunos de ellos los viste en
la unidad 1 de esta materia): en espiral, en cascada o incremental, que se basan
en la representacin de los procesos a disear.
Modelo de datos: como el mismo nombre del modelo lo dice, estn enfocados a
la representacin de los datos, los cuales se manejan en las materias de bases de
datos; el concepto es el siguiente:
Un modelo de datos es una serie de conceptos que puede utilizarse para describir
un conjunto de datos y operaciones para manipular los mismos. Cuando un modelo
de datos describe un conjunto de datos, se est describiendo un conjunto de
conceptos de una realidad determinada y se llama modelo conceptual, los
conceptos de un modelo de datos.
Hay dos tipos de modelos de datos: modelos conceptuales usados en el diseo de
bases de datos y modelos lgicos apoyados por los sistemas de gestin de bases
de datos (Ceri, 1994).
En la fase de anlisis se pretende que los modelos (de procesos, de datos y de eventos)
estn lo suficientemente detallados sin llegar a descender al diseo. El anlisis tiene por
objetivo entender el problema: las necesidades del cliente, las restricciones que se deben
cumplir.
El diseo pretende obtener una solucin ptima que cumpla todos los requisitos. Se
orienta hacia la mquina, centrndose en cmo crear un sistema software que rena
todas las necesidades y cumpla todas las restricciones.
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Estos dos objetivos principales se concretan en una serie de acciones a realizar, unas
tcnicas a aplicar y unos productos a obtener. Resulta obvio (en cualquier contexto, no
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
slo en el terreno informtico) que un primer paso necesario para solucionar un problema
es tenerlo definido correcta y detalladamente.
Es fundamental centrar la necesidad del cliente para poder definir el problema que se va a
resolver, tratando de dejar claro lo que queda dentro y fuera del alcance del mismo. En
este momento se est hablando de la definicin, desde el punto de vista puramente
tcnico del proyecto. Un aspecto importante es la identificacin de los tipos de usuarios
potenciales que tendr el sistema.
Descubrir tres necesidades del
cliente:
Ser cliente
Ponerse en comunicacin con
los clientes
Simular el uso por los clientes
10
Documentacin
Tomada de http://goo.gl/jbcM3f
11
Presentar un documento con toda la informacin organizada de esta manera puede ser de
gran ayuda para comenzar a darle forma al desarrollo de un sistema, y por ende, forma
parte del anlisis del mismo; dicho orden de integracin de documentos slo es una
sugerencia de acomodo de informacin, deja al analista organizar libremente segn sus
necesidades.
2.2.1. Documentacin
La documentacin de los requerimientos es una parte importante durante el anlisis. En la
prctica es comn describirlos en un documento llamado especificacin de requerimientos
del software; su principal objetivo es comunicarlos, ordenarlos y clasificarlos de forma
efectiva.
Una vez que ya se conocen los requerimientos del cliente que se ordenaron en un
documento, es importante saber colocar en cada uno de estos documentos la informacin
requerida, por ejemplo:
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
12
Lista de usuarios: entregar un formato que contenga la informacin de los usuarios que
van a entrarn al sistema, puede simplemente ser una tabla que contenga las siguientes
columnas: tipo de usuario, descripcin, permisos y accesos.
Requerimientos: una forma muy prctica de ordenar los requerimientos que tu cliente te
proporcion, puedes encontrarla en una tabla cuyas columnas se compongan de lo
siguiente: clave de requerimiento, nombre del requerimiento, descripcin del
requerimiento.
Puedes primero colocar todos los requerimientos funcionales y despus los
requerimientos no funcionales.
Anlisis costo beneficio: realizar este tipo de anlisis para que le muestres al cliente el
beneficio que puede obtener y bajo qu costo.
2.2.2. Especificaciones
Expresar las caractersticas esenciales de un objeto nos permite distinguir a uno de otro.
Aparte de distinguir los objetos, las especificaciones tambin proveen lmites
conceptuales, permitiendo que se disponga de las caractersticas de un objeto que se
necesite.
3
13
14
15
Cules son los problemas con los procesos actuales y cmo ayudara un sistema
nuevo a subsanarlos?
Cul es la contribucin directa que har el sistema a los objetivos y
requerimientos del negocio?
Se puede obtener y transferir la informacin a otros sistemas de la organizacin?
El sistema requiere tecnologa que no se ha utilizado previamente en la
organizacin?
A qu debe ayudar el sistema y a qu no necesita ayudar?
16
Durante la actividad de validacin pueden hacerse preguntas con base en cada una de
las caractersticas que se desean revisar. A continuacin se presentan varios ejemplos:
Estn incluidas todas las funciones requeridas por el cliente? (completaa)
Existen conflictos en los requerimientos? (consistencia)
Alguno de los requerimientos tienen ms de una interpretacin? (sin ambigedad)
Est cada requerimiento claramente representado? (entendible)
Pueden los requerimientos ser implementados con la tecnologa y el presupuesto
disponible? (factible)
Est la SRS escrita en un lenguaje apropiado? (claridad)
Existe facilidad para hacer cambios en los requerimientos? (modificabilidad)
Est claramente definido el origen de cada requisito? (rastreable)
Pueden los requerimientos ser sometidos a medidas cuantitativas? (verificable)
La validacin de requerimientos es importante, pues de ella depende que no existan
elevados costos de mantenimiento para el software desarrollado.
Anlisis de restricciones
Tomada de http://goo.gl/v3mUt9
17
Algunos mtodos orientados a objetos con notaciones predecesoras de UML son OOAD
(Booch), OOSE (Jacobson), Coad & Yourdon, Shaler & Mellor y OMT (Rumbaugh).
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
18
Algunas metodologas orientadas a objetos que utilizan la notacin UML son Rational
Unified Process (RUP), OPEN, MTRICA (que tambin soporta la notacin estructurada).
2.4.1. giles
Entre las nuevas tcnicas para aplicar las prcticas esenciales de la programacin
extrema y los mtodos giles para desarrollar sistemas orientados a objetos se encuentra
la metodologa gil. En sta el desarrollo de software es incremental (entregas pequeas
de software, con ciclos rpidos), cooperativo (cliente y desarrolladores trabajan juntos
constantemente con una cercana comunicacin), sencillo (el mtodo en s mismo es fcil
de aprender y modificar, es bien documentado), y adaptable (permite realizar cambios de
ltimo momento).
Segn Kendall (2011), el modelado gil tambin abarca un conjunto de principios
esenciales. Adems de los principios esenciales de la programacin extrema, el modelado
gil agrega principios tales como "modelar con un propsito", "el software es su meta
principal" y "viajar con poco equipaje" (es una forma de decir que poca documentacin es
suficiente).
Entre las metodologas giles identificadas estn:
Extreme Programming
Scrum
Familia de Metodologas Crystal
Feature Driven Development
Proceso Unificado Rational, una configuracin gil
Dynamic Systems Development Method
Adaptive Software Development
Open Source Software Development
Un modelo gil permite mostrar un resultado de manera rpida al cliente; por
consecuencia se dejan los formatos y la documentacin para una ltima entrega,
enfocando el 100% del tiempo en el desarrollo del sistema, mostrando al cliente avances
sobre el producto mismo.
19
2.4.2. Predictivos
Las metodologas predictivas son conocidas como metodologas no giles y estn
guiadas por una fuerte planificacin durante todo el proceso de desarrollo; llamadas
tambin metodologas tradicionales o clsicas, en las cuales se realiza una intensa etapa
de anlisis y diseo antes de la construccin del sistema.
Todas las propuestas metodolgicas antes indicadas pueden considerarse como
metodologas tradicionales por el especial nfasis que presentan en cuanto a su
adaptacin a las condiciones del proyecto (mediante su configuracin previa a aplicarse);
realizando una configuracin adecuada, podran considerarse giles. La inspiracin usual
para las metodologas ha sido disciplina como las ingenieras civiles o mecnicas.
Lo que se ha venido desarrollando a lo largo de este documento con respecto de lo
importante de la documentacin y lo que se abordar en la unidad 4 con los modelos UML
que se expresan a travs de dibujos, marca la importancia de llevar el control a travs de
documentos, seguidos de los diagramas o grficos, los cuales en ocasiones se vuelven
una actividad a la que hay que invertir tiempo sobre todo en la fase de dibujo de
diagramas UML.
Como los dibujos especifican las piezas y cmo deben unirse, actan como los
fundamentos de un plan de construccin detallado. Dicho plan define las tareas que
necesitan hacerse y las dependencias que existen entre estas tareas. Esto permite un
plan de trabajo y un presupuesto de construccin razonablemente predecibles. Tambin
dice en detalle cmo deben hacer su trabajo las personas que participan en la
construccin. Esto permite que sta requiera menos pericia intelectual, aunque se
necesita a menudo mucha habilidad manual.
As el acercamiento de muchas metodologas se trata tener un plan de trabajo predecible
que pueda usar gente del ms bajo nivel jerrquico. Para hacerlo, debemos separar el
plan de la construccin. Por consiguiente necesitamos entender cmo hacer el diseo de
software de modo que la construccin pueda ser sencilla una vez que el plan est hecho.
Qu forma toma este plan? Para muchos, ste es el papel de notaciones de diseo
como el UML (Lenguaje de Modelado Unificado). Si podemos hacer todas las decisiones
significativas usando UML, podemos armar un plan de construccin y entonces podemos
dar planes a los programadores como una actividad de construccin.
Pero aqu surgen preguntas cruciales: es posible armar un plan que sea capaz de
convertir el cdigo en una actividad de construccin predecible? Y en tal caso, es la
20
construccin suficientemente grande en costo y tiempo para hacer valer la pena este
enfoque?
Todo esto trae a la mente ms preguntas. La primera es la cuestin de cun difcil es
conseguir un diseo UML en un estado que pueda entregarse a los programadores. El
problema con un diseo tipo UML es que puede parecer muy bueno en el papel, pero
resultar seriamente fallido a la hora de la programacin. La nica verificacin que
podemos hacer con los diagramas UML es la revisin cuidadosa. Los errores en el diseo
slo se descubren durante la codificacin y pruebas, incluso los diseadores
experimentados se sorprenden a menudo cuando convierten dichos diseos en software.
Otro problema es el costo comparativo. Cuando se construye un puente, el costo del
esfuerzo en el plan es aproximadamente un 10% del total, la construccin es el resto. En
software la cantidad de tiempo gastada codificando es mucho menor. Se sugiere que para
un proyecto grande, slo 15% del proyecto sea fundamentadas en cdigo y pruebas
unitarias, una inversin casi perfecta de las proporciones de la construccin del puente.
Aun cuando se consideren las pruebas parte de la construccin, el plan es todava 50%
del total. Esto genera una pregunta importante sobre la naturaleza del diseo en software
comparado con su papel en otras ramas de la ingeniera.
Autorreflexiones
Tu docente en lnea te proporcionar la informacin necesaria para realizar tus
autorreflexiones.
21
Cierre de la unidad
Has concluido la unidad 2 del curso; a lo largo de sta trabajaste con la documentacin de
requerimientos para el anlisis orientado a objetos, comenzando con la parte de
levantamiento de requerimientos, que incluye el describir cules son los requerimientos y
qu actividades necesitas realizar para el levantamiento de los mismos.
Tambin identificaste cul es la documentacin para el levantamiento y qu
especificaciones debe cumplir considerando sus estndares, divididos en sus fases y
anlisis de restricciones. Por ltimo en esta unidad distinguiste qu modelos del desarrollo
de software se manejan y si son giles o predictivos.
Es aconsejable que revises nuevamente la unidad en caso de que los temas que se
acaban de mencionar no te sean familiares o no los recuerdes; de no ser este t caso, ya
ests preparado(a) para seguir con la unidad 3, en donde continuars con la
metodologas de diseo para la generacin de sistemas orientados a objetos, tales como
Bosh, OOC, OMT y UML.
Para saber ms
Ideas
Tomada de http://goo.gl/z2W5z
22
http://office.microsoft.com/es-hn/project-help/crear-un-plan-en-project-en-cinco-pasossencillos-HA001136153.aspx
Fuentes de consulta
Libros
Tomada de http://goo.gl/wEZJP9.
23
Gmez, M. (2011). Notas del curso Anlisis de requerimientos. Mxico: UAMUnidad Cuajimalpa-Departamento de Matemticas Aplicadas y Sistemas-Divisin
de Ciencias Naturales e Ingeniera.
24