Академический Документы
Профессиональный Документы
Культура Документы
Unidad 1: Análisis
Especificación de requisitos: proceso de redacción o registro de los
requisitos. Se pueden utilizar tanto el lenguaje natural, como modelos
gráficos.
El análisis de requisitos es una de las tareas más importantes en el ciclo
de vida del desarrollo de software, puesto que en ella se determinan
los “planos” de la nueva aplicación.
Características de una buena ERS
1. Correcta: La ERS es correcta si y sólo si todo requisito que figura en ella
refleja alguna necesidad real. La corrección de la ERS implica que el
sistema implementado será el sistema deseado.
2. No ambigua: Un documento es no ambiguo si y solo si cada requisito
descrito tiene una única interpretación. Cada característica del
producto final debe ser descrita utilizando un término único.
3. Completa:
1. Incluye todos los requisitos significativos del software
(relacionados con la funcionalidad, ejecución, diseño, atributos
de calidad o interfaces externas).
2. Cumple con el estándar utilizado.
3. Aparecen etiquetadas todas las figuras, tablas, diagramas, etc.,
así como definidos todos los términos y unidades de medida
empleados.
4. Verificable: Se dice que es verificable si existe algún proceso no
excesivamente costoso por el cual una persona o una máquina pueda
chequear que el software satisface dicho requerimiento.
5. Consistente: Una ERS es consistente si y sólo si ningún conjunto de
requisitos descritos en ella son contradictorios o entran en conflicto.
6. Clasificada: Los requisitos pueden clasificarse por diversos criterios:
1. Importancia: Pueden ser esenciales, condicionales u opcionales.
2. Estabilidad: Cambios que pueden afectar al requisito
7. Modificable: Una ERS es modificable si cualquier cambio puede
realizarse de manera fácil, completa y consistente.
8. Explorable: Una ERS es explorable si el origen de cada requerimiento
es claro tanto hacia atrás (origen que puede ser un documento, una
persona etc.) como hacia delante (componentes del sistema que
realizan dicho requisito).
9. Utilizable durante las tareas de mantenimiento y uso: En la ERS
también se deben tener en cuenta las necesidades de mantenimiento.
El personal que no ha intervenido directamente en el desarrollo debe
ser capaz de encargarse de su mantenimiento. Así, dicha ERS actúa a
modo de plano de la aplicación, permitiendo incluso modificaciones
que no requieran un cambio en el diseño.
1.1.1 Norma IEEE830
A continuación se muestra la estructura de la ERS propuesta por el IEEE
en su estándar 830
1 Introducción
1.1 Propósito
1.2 Ámbito del Sistema
1.3 Definiciones, Acrónimos y Abreviaturas
1.4 Referencias
1.5 Visión general del documento
2 Descripción General
2.1 Perspectiva del Producto
2.2 Funciones del Producto
2.3 Características de los usuarios
2.4 Restricciones
2.5 Suposiciones y Dependencias
2.6 Requisitos Futuros
3 Requisitos Específicos
3.1 Interfaces Externas
3.2 Funciones
3.3 Requisitos de Rendimiento
3.4 Restricciones de Diseño
3.5 Atributos del Sistema
3.6 Otros Requisitos
4 Apéndices
5 Índice
1.1.2Trazabilidad de requisitos
La trazabilidad en la Ingeniería de Software es una práctica de control
que ayuda a obtener el producto en el dominio de la solución lo más
exacto y fiable posible a las necesidades expresadas por el cliente en
el dominio del problema.
Según el estándar IEEE 830-1998, la trazabilidad es la habilidad para
seguir la vida de un requerimiento en ambos sentidos, hacia sus
orígenes o hacia su implementación a través de las especificaciones
generadas durante el proceso de desarrollo. Es un factor de calidad.
1.2Descripción de Procesos Actuales o Modelado de Negocios
El modelo de negocios es el estudio de la organización.
Se examina la estructura de la organización
Examina el flujo de trabajo de la organización, los procesos
principales dentro de la compañía y como ellos trabajan.
Examina las entidades externas, cualquier individuo u otras
compañías, y como interactúan con el negocio, y observar las
implicaciones de esas interacciones.
Cliente
Cliente
Registrar Pedido
Proceso de
Negocio
Objetivo
Descripción
UML
Prioridad
Segunda Forma
• La segunda forma, es incluir el modelo de negocios dentro del ciclo de
vida.
• la ventaja de dejarle estudiar la organización a medida que se crea el
sistema de software.
• se corre el riesgo del mal entendiendo de la organización, y por lo
tanto el sistema de software en construcción no resuelve
absolutamente las necesidades
Objetivo
Procesos de Negocio
Reglas de Negocio
Flujo de Tareas.
Agentes. - Describen restricciones y
Información y Reglas comportamientos.
Negocio. - NO son requisitos, pero
influyen en ellos.
- Determina políticas y
estructuras de la
información.
1.3 Diagramas UML
2. El Lenguaje Unificado de Modelado (UML) fue creado para
forjar un lenguaje de modelado visual común y semántica y
sintácticamente rico para la arquitectura, el diseño y la
implementación de sistemas de software complejos, tanto en
estructura como en comportamiento. UML tiene aplicaciones
más allá del desarrollo de software, p. ej., en el flujo de
procesos en la fabricación.
3. En general, los diagramas UML describen los límites, la
estructura y el comportamiento del sistema y los objetos que
contiene. UML no es un lenguaje de programación. UML
guarda una relación directa con el análisis y el diseño
orientados a objetos.
• Se trata de • Se trata de
diagramas de • Los diagramas
diagramas de de interacción,
casos de uso clases que los diagramas
que describen describen la de máquina de
la estructura del estados y los
funcionalidad sistema en diagramas de
términos de actividades se
del sistema usan para
desde el objetos,
atributos, describir el
punto de comportamient
vista del asociaciones
o interno del
y sistema.
usuario.
operaciones.
Tipos de diagramas UML
UML usa elementos y los asocia de diferentes formas para formar diagramas que
representan aspectos estáticos o estructurales de un sistema, y diagramas de
comportamiento, que captan los aspectos dinámicos de un sistema.
Diagrama de objetos Muestra la relación entre objetos por medio de ejemplos del
mundo real e ilustra cómo se verá un sistema en un momento dado. Dado que los
datos están disponibles dentro de los objetos, estos pueden usarse para clarificar
relaciones entre objetos.
DIAGRAMAS DE CLASES
Los diagramas de clases representan las estructuras estáticas de un sistema, incluidas sus
clases, atributos, operaciones y objetos. Un diagrama de clases puede mostrar datos
computacionales u organizacionales en la forma de clases de implementación y clases
lógicas, respectivamente. Puede haber superposición entre estos dos grupos.
1. Las clases se representan con una forma rectangular dividida en tercios. La sección
superior muestra el nombre de la clase, mientras que la sección central contiene los
atributos de la clase. La sección inferior muestra las operaciones de la clase
(también conocidas como métodos).
2. Agrega formas de clases a tu diagrama de clases para modelar la relación entre esos
objetos. Además, podría ser necesario que agregues subclases.
DIAGRAMAS DE COMPONENTES
Los diagramas de componentes muestran cómo se combinan los componentes para formar
componentes más grandes o sistemas de software. Estos diagramas están diseñados para
modelar las dependencias de cada componente en el sistema. Un componente es algo
necesario para ejecutar una función de estereotipo. Un estereotipo de componente puede
constar de ejecutables, documentos, tablas de bases de datos, archivos o archivos de
bibliotecas.
1. Representa un componente con una forma rectangular. Debe tener dos rectángulos
pequeños en un lado o mostrar un icono con esa forma.
2. Usa un cubo 3D para modelar un nodo (lo cual representa una máquina física o
máquina virtual).
3. Etiqueta el nodo con el mismo estilo que se usa para los diagramas de secuencia.
Agrega otros nodos según sea necesario, luego conéctalos con líneas.
1.4 Estudio de factibilidad.
El ámbito del proyecto
Es importante que tanto el cliente como el desarrollador tengan la misma visión del
proyecto, por lo que la comunicación inicial es importante.
No solo se trata de que el cliente diga lo que requiere, porque muchas veces esta
lista de requisitos escapa de los limites del problema, así que lo primero será partir
de la necesidad o problema que da origen a la solicitud de desarrollo, dado que
dicha solicitud no es siempre hecha por quien esta mas ligado con el problema,
entendiendo que, quien solicita el software, usualmente no es quien lo va a tener
que utilizar, por lo que los requisitos e incluso el problema varían según el nivel de
la organización donde nos encontremos
Factibilidad tecnica
Cuando hablamos de factibilidad tecnica, nos referimos al conjunto tecnologías que
la organización deberá tener, para que el software que se desarrolle funcione tal y
como ellos esperan que funcione, en este sentido comprende:
Computadoras
Periféricos
Instalaciones y servicios de red e Internet
Instalaciones eléctricas
Espacios físicos.
Como podemos ver, es bastante amplio, ya que debemos determinar si hay las
condiciones físicas para que el cliente implemente la solución al problema, pero en
el estudio deberemos ir un poco mas allá, ya que si no cuenta con el 100% de lo que
se requiere a nivel físico, corresponde especificar que es lo que hace falta para
llegar a ese 100%.
Pero aun no podemos llegar a determinar si es factible o no, pues para que dichas
disposiciones técnicas funcionen se debe de ver si hay el personal y el presupuesto
para realizarlo.
Factibilidad operativa
En los estudios de factibilidad operativa debemos analizar los recursos humanos
con los que cuenta la organización y la estructura organizacional de la misma.
Una vez concluido el estudio debemos de tener respuestas a los siguientes puntos
¿ Cuáles son las necesidades de capacitación ?
¿Será necesario crear nuevos puestos?
¿Será necesario crear nuevas áreas dentro de la empresa?
¿Se contratará nuevo personal ?
¿En qué modalidad se contratara el personal?
Factibilidad económica
La conclusión
Ahora llegamos a la parte mas importante, la conclusión, que en realidad rara vez
es una sola, ya que cuando el presupuesto de desarrollo es mayor al presupuesto
que el cliente tiene destinado, lo que se hace es elaborar una alternativa, en la cual
podemos suprimir ciertas funciones, modelos o características, con el fin de
ajustarnos al presupuesto del cliente, eso si, tratando de no perder el objetivo y la
funcionalidad, ya que de nada sirve desarrollar un sistema que el cliente puede
pagar pero que a final de cuentas no le resolverá su problema.
Conceptos
Punto de amortización (Break-Even Point)
Es el momento en el tiempo en que el conjunto de beneficios obtenidos
por la explotación del nuevo sistema iguala al conjunto de costes de todo
tipo que ha ocasionado. A partir del punto de amortización (Break-Even
Point), el sistema entra en fase de aportar beneficios netos a la
organización.
Periodo de amortizació n (PayBack)
Es el periodo de tiempo que transcurre desde que los costes son máximos
hasta que se alcanza el punto de amortización (Break-Even Point), es decir,
en cuanto el sistema empieza a aportar beneficios. Cuanto menor sea el
periodo de amortización (Payback) de un Sistema, más atractivo será para
la organización acometer su implantación.
Retorno de la Inversió n – ROI (Return of Investment)
Es el rendimiento de la inversión expresada en términos de porcentaje. Se
calcula mediante la fórmula siguiente:
ROI = 100 x (Beneficio Neto Anual – Coste Desarrollo Anualizado) /
Inversión Promedio
Siendo:
Beneficio Neto Anual: Es la ganancia que aporta el sistema como
consecuencia de su uso, es decir los beneficios obtenidos más los gastos
no incurridos. Deben restársele los gastos operacionales anuales y los de
mantenimiento del sistema.
Coste Desarrollo Anualizado: Total del gasto inicial de desarrollo del
sistema, dividido por los años que se supone que va a ser operativo.
Inversió n Promedio: Total de la inversión realizada (costes de desarrollo,
hardware, software, etc.) dividido por el total de conceptos en los que se
invierte.
Descripció n
Para la realización del análisis coste/beneficio se seguirán los siguientes
pasos:
1. Producir estimaciones de costes/beneficios.
2. Determinar la viabilidad del proyecto y su aceptació n.
1. PRODUCIR ESTIMACIONES DE COSTES-BENEFICIOS
Se realizará una lista de todo lo que es necesario para implementar el
sistema y una lista de los beneficios esperados del nuevo sistema.
En general, los costes suelen ser medibles y estimables en unidades
económicas, no así los beneficios, los cuales pueden ser tangibles o no
tangibles. En un análisis de costes y beneficios se deben considerar
aquellos aspectos tangibles, es decir, medibles en valores como dinero,
tiempo, etc., y no tangibles, es decir, no ponderables de una forma
objetiva.
Entre los beneficios no tangibles pueden estar:
El aumento de cuentas debido a un mejor servicio a los clientes.
La mejora en la toma de decisiones debido a una mejora en el soporte
informá tico.
La valoración de los beneficios no tangibles se debe estimar de una forma
subjetiva y será realizada por las áreas correspondientes.
A menudo es conveniente desglosar los costes estimados a lo largo del
proyecto, para ofrecer una información más detallada de la distribución de
los recursos de cara a la dirección.
En la estimación de costes se considerarán, entre otros, los siguientes
aspectos:
Adquisició n de hardware y software: El que sea preciso para el
desarrollo, implantación y normal funcionamiento del sistema. Se debe
considerar la saturación de máquinas o sistemas actuales como
consecuencia de la entrada en vigor del nuevo sistema.
Gastos de mantenimiento de hardware y software anteriores.
Gastos de comunicaciones: Líneas, telé fono, correo, etc.
Gastos de instalació n: Cableado, acondicionamiento de sala, recursos
humanos y materiales, gastos de viaje, etc.
Coste de desarrollo del sistema.
Gastos del mantenimiento del sistema: Coste anual.
Gastos de consultoría: En caso de requerirse algún consultor externo
en cualquier etapa del proyecto.
Gastos de formació n: De todo tipo (Desarrolladores, Operadores,
Implantadores, Usuario Final, etc.).
Gastos de material: Papel, toner, etc.
Costes derivados de la curva de aprendizaje: De todo el personal
involucrado: Desarrolladores, Técnicos de Sistemas, Operadores, y desde
luego, Usuarios.
Costes financieros, de publicidad, etc.
0 C0 0
1 C1 B1 B1 – C1
2 C2 B2 B2 – C2
n Cn Bn Bn – Cn
0 C0