Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Unidad 2 Requerimientos para El Analisis Del Dis Orientado A Objetos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 24

Anlisis y diseo orientado a objetos

Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

Ingeniera en Desarrollo de Software


3er semestre

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

Universidad Abierta y a Distancia de Mxico

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

Unidad 2. Requerimientos para el anlisis del diseo orientado a


objetos
Presentacin de la unidad
Cuando se va a disear un sistema es importante conocer lo que se desea disear y esa
informacin la va a proporcionar el cliente; dicha informacin son los requerimientos. En
muchas de las ocasiones, el cliente conoce de manera muy especfica lo que desea que
su sistema realice, pero en otras, slo tiene la idea general. Por lo tanto, como
diseadores es necesario recopilar toda esta informacin; para lograr recabar en forma
adecuada los requerimientos del sistema es posible utilizar herramientas como
entrevistas, pues stas permiten realizar documentos que contendrn todas las
especificaciones que solicite nuestro cliente.
Para realizar entrevistas es necesario efectuar una estandarizacin y conocer las
restricciones que existen para llevar a cabo lo que el cliente solicita. Una vez que se
obtienen las restricciones y se conocen los requerimientos del cliente, se decide el modelo
en cual se va a trabajar, ya sea gil o predictivo.
Por lo tanto, en la presente unidad, podrs conocer todo respecto a los requerimientos
para realizar el anlisis de un diseo orientado a objetos.

Propsito
Al trmino de esta unidad logrars:

Conocer la manera de obtener los


requerimientos para lograr un
buen anlisis de un sistema con
programacin orientado a objetos,
de lo cual se lograr una
informacin simplificada y
organizada, para as obtener un
buen diseo.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

Competencia especfica

Distinguir los requerimientos del sistema


orientado a objetos en su etapa de
anlisis para definir su diseo mediante
tcnicas y estndares de especificacin.

2.1. Levantamiento de requerimientos

Requerimientos
Tomada de https://goo.gl/24ssFP

Para realizar el diseo de un sistema orientado a objetos, es necesario detallar la


definicin de un problema en forma de requisitos, lo cual se realiza de manera repetitiva y
progresiva. Por un lado, supone la planificacin, realizacin y evaluacin de las
entrevistas con los clientes y usuarios finales del sistema, que son los portadores de la
informacin necesaria para conocer el problema y definir el proyecto. Por otro lado,
supone la identificacin y descomposicin reiterada (hasta el nivel de detalle que en cada
caso sea necesario) de los problemas y necesidades expresados por el cliente y los
usuarios, para as redactar un conjunto de requisitos formales. Para obtenerlos, se utiliza
la entrevista.
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

La entrevista es una conversacin dirigida por objetivos entre un entrevistador, miembro


del equipo de desarrollo, y un entrevistado, que suele ser el cliente o un usuario final
(Kendall, 2011).
En una entrevista es importante crear desde el principio un clima de cordialidad y
confianza, atendiendo siempre a las opiniones del entrevistado. l es la fuente de
informacin principal; de la relacin que se establezca entre los participantes de la
entrevista depender la facilidad o dificultad para conocer sus necesidades. Es bueno
tomar en cuenta que pueden surgir dificultades y malos entendidos, por ejemplo, la
resistencia al cambio, usuarios que ven el nuevo sistema como una amenaza para su
futuro trabajo, expertos reticentes a compartir conocimientos, etc.
Durante la realizacin de una entrevista lo habitual es la toma de notas, para redactar ms
tarde el informe de evaluacin de la misma. En otras ocasiones es conveniente grabar
audio y video para no perder detalle de lo solicitado, pero para la realizacin de los
mismos es necesario contar con autorizacin del entrevistado, ya que algunas personas
suelen incomodarse; el uso de esta tecnologa incrementa costos, porque es necesario
tener una inversin con equipo que tenga la capacidad para realizarlo.
Realizar una entrevista es ms que una simple conversacin, requiere cierto nivel de
preparacin, conocer un poco lo que el cliente necesita sin entrar en detalles, lo cual
puede indagarse desde que se establece la peticin del servicio hasta que se establece la
cita.
Segn el tipo de preguntas, existen diferentes clases de entrevista:

Inductiva: se comienza con preguntas cerradas, para ir pasando, durante la


entrevista, a las preguntas abiertas.
Deductiva: al principio se hacen preguntas abiertas y se va acotando la entrevista
con preguntas cada vez ms cerradas.
Mixta: se utilizan ambos tipos de preguntas indistintamente1

La realizacin de una entrevista debe prepararse con anticipacin y si es necesario se


har una segunda o tercera entrevista. Para preparar una entrevista puedes apoyarte con
tcnicas de cuestionarios, ya sea de preguntas abiertas o cerradas.
Las preguntas abiertas dan al cliente la opcin de ampliar su respuesta y no basta con un
simple s o un no, a diferencia de las preguntas cerradas.
Algunos ejemplos de preguntas abiertas son los siguientes:
1

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

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

Cul es el objetivo del sistema?


Quines son los usuarios? A qu poblacin va dirigido el sistema?
En qu momentos se va a utilizar? Se usar peridicamente, en diversos
ciclos?
Qu le parece nuestra propuesta frente a otras que ha recibido?
Qu servicios le gustara recibir de su sistema?

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?

A partir de las entrevistas y reuniones con el cliente, se define el problema; es decir, se


obtiene la especificacin de requisitos. En ella se describe lo que el sistema nuevo debe
realizar, adems de que se ha averiguado, mediante un estudio de viabilidad, si el sistema
se puede desarrollar o no.
Una vez que ya conoces toda la informacin de lo que tu cliente demanda, te
presentamos una serie de tcnicas que puedes emplear para tu especificacin de
requisitos:

Organizar: Bajar todas las preguntas a un formato, por ejemplo, de


requerimientos, en donde coloques el nombre, la descripcin y una clave de
acceso rpido.

Limpiar: dejar en un segundo plano toda aquella informacin que te proporcion el


cliente que no tenga ningn funcionamiento o afecte tu diseo.

Reelaborar: si despus de organizar tu informacin te surgieron algunas dudas;


en muchas ocasiones es necesaria una segunda entrevista con preguntas
especficas.

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

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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).

Modelo de eventos: indica en qu momento debe ejecutarse cada accin. Para


construir cada modelo hay diferentes tcnicas, algunas son complementarias.

Los modelos enfocados al evento se enfocan en lo que sucede en cada situacin.


Un ejemplo sera el despliegue de un men.
Algunos de estos modelos son los desarrollados con tcnicas UML, el cual se
abordar de manera ampliada en la unidad 4 de esta materia.

Modelos para diseo de aplicaciones orientadas a objetos

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

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

El levantamiento de requerimientos forma parte fundamental para entender las


necesidades del cliente y a partir de ello se pueden generar modelos que nos muestren,
de manera abstracta, lo que deseamos, previo al trabajo de diseo, adems de que nos
sirve como una herramienta para la etapa de anlisis.

Actividad 1. Cmo obtener los requerimientos para un programa


orientado a objetos?
Consulta las instrucciones y considera las indicaciones de tu Docente en lnea para el
desarrollo de la actividad.

2.1.1. Introduccin a los requerimientos


La especificacin de requisitos es la primera fase de todo ciclo de vida o metodologa de
desarrollo de un proyecto informtico. Dos son sus objetivos principales:

Identificar las necesidades del cliente, es decir, conocer y definir el problema.


Realizar un estudio de viabilidad econmica, tcnica y legal, a partir del cual se
pueda decidir sobre la continuacin del proyecto, teniendo en cuenta las
alternativas de construccin del mismo que se nos planteen.

Necesidades del cliente


Tomada de http://goo.gl/jbcM3f

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

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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

2.2. Documentacin para levantamientos y especificaciones


Una vez que se conocen los requerimientos del cliente, el paso a seguir es la
manipulacin de la informacin, comenzar con el llenado de formatos o documentos,
clarificando las ideas que el cliente expres.
El siguiente paso es analizar lo que se est solicitando y solicitar una nueva entrevista
para firma de documentos de aceptacin de requerimientos; el cliente debe verificar que
lo redactado en los documentos es lo que solicit.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

10

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

Documentacin
Tomada de http://goo.gl/jbcM3f

A continuacin se presenta una idea de cmo se puede organizar y documentar dicha


informacin.
Realizar un documento con el siguiente contenido:
1. ndice:
El documento debe contener un ndice general con la ubicacin de los temas a
desarrollar.
2. Descripcin del proyecto:
Es importante y aconsejable que en un prrafo describas lo que el proyecto o sistema
debe realizar y verificar que lo que el cliente solicit se haya entendido para que
posteriormente se pueda disear el sistema.
3. Lista de usuarios:
Hacer una lista de las personas que tendrn que manipular el sistema a desarrollar, pero
principalmente describir qu es lo que cada una de ellas tendr derecho a realizar y hasta
dnde podr consultar, es decir, formar una lista de permisos de usuarios.
4. Requerimientos hechos por el cliente:
En el tema anterior, se mencion el uso de un formato para poder organizar los
requerimientos, por lo tanto, es necesario agregar si el requerimiento es funcional o no;
por ejemplo: con respecto a lo funcional, agregar un botn que haga el respaldo de la
informacin; un requerimiento no funcional sera el color especfico de cierta ventana, que
si bien es cierto no afecta el desarrollo del sistema, es el cliente el que lo solicita.2

Si deseas conocer ms sobre requerimientos funcionales y no funcionales, te invito consultar el captulo 6


del libro de Sommerville (2005); la bibliografa completa la encontrars al final de este documento.
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

11

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

5. Requerimientos del sistema:


Es importante investigar sobre lo que tu cliente est solicitando, qu requisitos de
hardware y de software debe contener como mnimo el equipo en el que va a ejecutarse
el diseo que se realice.
6. Otros:
Anlisis costo-beneficio: juzgar qu tan conveniente es realizar un anlisis costobeneficio previo al diseo del sistema y mostrarlo al cliente.
Restricciones: dentro de la categora de otros, insertar en el documento principal
las restricciones que puede tener el sistema a desarrollar.
Contrato: establecer un contrato entre cliente y servidor puede y debe ser un
documento importante.
Cronograma o calendario de actividades.
Diagramas UML.

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.

Actividad 2. Anlisis de los requerimientos para disear un programa


Consulta las instrucciones y considera las indicaciones de tu Docente en lnea para el
desarrollo de la actividad.

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

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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.

Restricciones: en un documento describir y ordenar todo lo que consideres puede


ser un impedimento para realizar lo que el cliente solicita.
Contrato: un contrato es el asentamiento fsico de lo que el cliente solicita,
estipula lo que va a entregar el proveedor del servicio y las condiciones
monetarias, formas de pago, fechas de entrega, etc.
Cronograma o calendario de actividades: se trata de representar, de manera
grfica, el tiempo que llevar la elaboracin de cada uno de los procesos o
requerimientos a cubrir y te puedes apoyar con herramientas como Project3.
Diagramas UML: sern descritos en el ltimo captulo de esta materia, por lo
tanto, ahora slo se enlistarn:
o Casos de uso
o Escenarios del caso de uso
o Diagramas de actividades
o Diagrama secuencial
o Diagrama de clase
o Diagrama de grfico de estado

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

En la seccin Para saber ms encontrars una liga que te servir de gua.


Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

13

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

El objetivo principal de las especificaciones es entregar una relacin de requerimientos


que ayuden a determinar de forma completa y correcta el diseo orientado a objetos. La
especificacin es el documento final que contiene toda la informacin de manera
completa: diagramas de informacin y tablas de requerimientos.
La especificacin puede realizarse con base en estndares internacionales, con lo cual se
desarrollarn softwares con altos niveles de calidad. Existen organismos dedicados a
establecer normas y a la vez se encargan de evaluar que dichas normas se cumplan.
Existen estndares relacionados con el desarrollo de software, tales como:
ISO/IEC 25000: en lo que se refiere a calidad del producto la norma ISO/IEC 25000
proporciona una gua para el uso de las nuevas series de estndares internacionales,
llamados Requisitos y Evaluacin de Calidad de Productos de Software (SQuaRE);
constituyen una serie de normas basadas en la ISO 9126 y en la ISO 14598 (para la
evaluacin del software), y su objetivo principal es guiar el desarrollo de los productos de
software con la especificacin y evaluacin de requisitos de calidad; establece criterios
para la especificacin de requisitos de calidad de productos software, sus mtricas y su
evaluacin (Norma ISO/IEC 25000:2005).
El CMM-CMMI es un modelo de calidad del software que muestra una tabla de niveles de
madurez de las empresas, en cuanto a los procesos que tienen para producir software.

Actividad 3. Documentacin de los requerimientos para disear un


programa
Consulta las instrucciones y considera las indicaciones de tu Docente en lnea para el
desarrollo de la actividad.

2.3. Estndares de especificacin


Las especificaciones del software determinan el proceso de comprensin y definicin
sobre los servicios que se requieren del sistema y de identificacin de las restricciones de
funcionamiento y desarrollo del mismo. La ingeniera de requerimientos es un proceso
crtico en el proceso del software, los errores en esta etapa originan problemas
posteriores en el diseo e implementacin del sistema.
En la siguiente figura se muestra el proceso de ingeniera de requerimientos. ste
conduce a la produccin de un documento de requerimientos, que es la especificacin del
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

14

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

sistema. Normalmente en este documento los requerimientos se presentan en dos niveles


de detalle. Los usuarios finales y los clientes necesitan una declaracin de alto nivel de
los requerimientos, mientras que los desarrolladores del sistema necesitan una
especificacin ms detallada de ste.

Proceso de ingeniera de requerimientos. Tomada de Somerville (2006)

2.3.1. Fases de la estandarizacin


Existen cuatro fases principales en el proceso de estndares de ingeniera de
requerimientos:
1. Estudio de viabilidad. Se estima si las necesidades del usuario se pueden satisfacer
con las tecnologas actuales de software y hardware. El estudio analiza si el sistema
propuesto ser rentable desde un punto de vista de negocios y si se puede desarrollar
dentro de las restricciones de presupuesto existentes. Este estudio debe ser relativamente
econmico de elaborar. EI resultado debe informar si se va a continuar con un anlisis
ms detallado.
Sommerville (2005) define el estudio de viabilidad como un estudio corto y orientado a
resolver las siguientes preguntas:
1. El sistema contribuye a los objetivos generales de la organizacin o empresa?
2. El sistema se puede implantar utilizando tecnologa actual dentro de las
restricciones de tiempo y presupuesto?
3. El sistema puede integrarse a otros sistemas existentes en la empresa?
Para ayudar a responder las preguntas del estudio de viabilidad, se tienen algunos
ejemplos de preguntas posibles:
Cmo se las arreglara la organizacin o empresa si no se implantara el sistema?

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

15

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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?

El estudio de viabilidad no debe requerir ms de dos o tres semanas. El resultado de este


estudio es un informe que recomiende si vale o no la pena seguir con la ingeniera de
requerimientos y el proceso de desarrollo del sistema. En el informe se pueden proponer
cambios en el alcance, el presupuesto o sugerir requerimientos adicionales de alto nivel.
(Gmez, 2011).
2. Obtencin y anlisis de requerimientos. Es el proceso de obtener los requerimientos
del sistema por medio de la observacin de los sistemas existentes: discusiones con los
usuarios potenciales y proveedores, el anlisis de tareas, etc. Esto puede implicar el
desarrollo de uno o ms modelos y prototipos del sistema que ayudarn al analista a
comprender el sistema a especificar.
3. Especificacin de requerimientos. Es la actividad de traducir la informacin
recopilada durante la actividad de anlisis en un documento que define un conjunto de
requerimientos. En este documento se pueden incluir dos tipos de requerimientos: los
requerimientos del usuario, que son declaraciones abstractas de los requerimientos del
cliente y del usuario final del sistema, y los requerimientos del sistema, que son una
descripcin ms detallada de la funcionalidad a proporcionar.
4. Validacin de requerimientos. Esta actividad comprueba la veracidad, consistencia y
completitud de los requerimientos. Durante este proceso, inevitablemente se descubren
errores en el documento de requerimientos. Se debe modificar entonces para corregir
estos problemas.
Por supuesto, las actividades en el proceso de requerimientos no se llevan a cabo de
forma estrictamente secuencial. El anlisis de requerimientos contina durante la
definicin y especificacin, y a lo largo del proceso surgen nuevos requerimientos. Por lo
tanto, las actividades de anlisis, definicin y especificacin se entrelazan. En los
mtodos giles como la programacin extrema, los requerimientos se desarrollan de
forma incremental, conforme a las prioridades del usuario, y la obtencin de
requerimientos viene de los usuarios que forman parte del equipo de desarrollo.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

16

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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.

2.3.2. Anlisis de restricciones


Las restricciones son relaciones entre entidades de un modelo de objetos; el trmino de
entidad incluye los objetos, clases, atributos, enlaces y asociaciones. Una restriccin
reduce los valores que una entidad puede tomar.

Anlisis de restricciones
Tomada de http://goo.gl/v3mUt9

Restricciones entre objetos. Determina el estado en el cual los objetos se


diferencian uno del otro; ejemplo: horario de entrada de un empleado de oficina no
puede ser despus de las 9:00 de la maana, suponiendo que el horario de
entrada al trabajo sea a esa hora.
Restricciones entre atributos de un objeto. Determina sus atributos especficos;
ejemplo: el objeto alumno slo debe tener como atributos, nombre completo y no
apellido paterno, apellido materno y nombre.
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

17

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

Restricciones sobre un objeto a lo largo del tiempo. Determina el estado del


objeto; se especfica que nunca debe de cambiar su estado; ejemplo: el objeto
alumno no puede aumentar su nmero de control.

Las restricciones simples pueden situarse en el modelo de objetos; restricciones


complejas aparecern en el modelo funcional. Las restricciones no tienen por qu
aparecer inicialmente en el modelo de objetos, stas irn aadindose conforme se vayan
concretando en la definicin del modelo.

2.4. Modelos del desarrollo de software


Las metodologas se centran en una serie de combinaciones de los modelos de procesos
genricos (cascada, evolutivo, incremental, etc.). Adicionalmente una metodologa debe
definir con precisin los roles y actividades involucradas, junto con prcticas y guas de
adaptacin.
Si se recuerda la asignatura Programacin orientada a objetos, se explica en sta el uso
de mtodos, los cuales son las actividades a realizar por objetos; de igual manera se
aplica lo anterior como analoga para los modelos de desarrollo de software, en donde un
mtodo es un proceso para hacer una metodologa.
La comparacin y/o clasificacin de metodologas no es una tarea sencilla debido a la
diversidad de propuestas y diferencias en el grado de detalle, informacin disponible y
alcance de cada una de ellas. A grandes rasgos, si tomamos como criterio las notaciones
utilizadas para especificar artefactos producidos en actividades de anlisis y diseo,
podemos clasificar las metodologas en dos grupos: metodologas estructuradas y
metodologas orientadas a objetos. Por otra parte, considerando su filosofa de desarrollo,
aquellas metodologas con mayor nfasis en la planificacin y control del proyecto, en
especificacin precisa de requisitos y modelado, reciben el apelativo de metodologas
tradicionales (o peyorativamente denominada metodologas pesadas, o peso pesado).
Otras metodologas, denominadas metodologas giles, estn ms orientadas a la
generacin de cdigos con ciclos muy cortos de desarrollo; se dirigen a equipos de
desarrollo pequeos; hacen especial hincapi en aspectos humanos asociados al trabajo
en equipo e involucran activamente al cliente en el proceso.
En 1995 Booch y Rumbaugh proponen el mtodo unificado con la ambiciosa idea de conseguir una
unificacin de sus mtodos y notaciones, que posteriormente se reorienta a un objetivo ms
modesto, para dar lugar al Unified Modeling Language (UML), la notacin OO ms popular en la
actualidad (Abriz, Huitrn y Ramrez, 2012, p. 90).

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

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

19

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

20

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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.

Evidencia de aprendizaje. Requerimientos para disear un programa


orientado a objetos
Realiza la Evidencia de aprendizaje con base en las instrucciones e indicaciones de tu
docente en lnea.

Autorreflexiones
Tu docente en lnea te proporcionar la informacin necesaria para realizar tus
autorreflexiones.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

21

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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

Consulta el documento Crear un plan en Project en cinco pasos sencillos (2003), en l


encontrars un manual de uso del software Microsoft Project. Disponible en:

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

22

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

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.

Abriz, A., Huitrn, J. M. y Ramrez, C. (2012). Sistema financiero para empresa


distribuidora de gas. Mxico: UNAM-Facultad de Ingeniera.

Booch, G. (1996). Anlisis y Diseo Orientado a Objetos con aplicaciones. Mxico:


Pearson Educacin.

Ceri, B. (1994). Diseo conceptual de bases de datos. EUA: Addison-Wesley.

Cueva, J. (2005). Anlisis orientado a objetos. En El proceso de desarrollo de


software (pp. 6-15). Recuperado el 22 de julio de 2011 de
http://www.di.uniovi.es/~cernuda/pfc/aoo.pdf

Cueva, J. (2005) Ingeniera del software. Madrid: Pearson Educacin.

Fowler, M. (2003). La nueva metodologa. Sierra, A. (trad.). Programacin


Extrema. Recuperado el 22 de julio de 2011 de
http://www.programacionextrema.org/articulos/newMethodology.es.html

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

23

Anlisis y diseo orientado a objetos


Unidad 2. Requerimientos para el anlisis del diseo orientado a objetos

Garca, S. y Morales, E. (2003). Desarrollo de aplicaciones informticas. Anlisis y


diseo detallado de aplicaciones informticas de gestin. Mxico: Thompson.

Gmez, M. (2011). Notas del curso Anlisis de requerimientos. Mxico: UAMUnidad Cuajimalpa-Departamento de Matemticas Aplicadas y Sistemas-Divisin
de Ciencias Naturales e Ingeniera.

Kendall, E. (2011). Anlisis y diseo de sistemas. Mxico: Pearson Educacin.

Letelier, P. y Penads, M. (s. f.). Extreme Programming (XP). En Metodologas


giles para el desarrollo de software. Valencia: Universidad Politcnica de
Valencia. Recuperado el 22 de julio de 2011 de
http://www.willydev.net/descargas/masyxp.pdf

Norma ISO/IEC 25000:2005. (s. f.). Recuperado el 03 de julio de 2012 de


http://iso25000.com/index.php/25000.html

Somerville, I. (2006). Ingeniera del software. Madrid: Pearson Educacin.

World Lingo. (2011). Anlisis de requisitos. World Lingo Translations LLC.


Recuperado el 22 de julio de 2011 de
http://www.worldlingo.com/ma/enwiki/es/Requirements_analysis

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

24

También podría gustarte