You are on page 1of 8

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación

Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.

Repaso – Ingeniero de
Software
Análisis y Diseño de
z Un Ingeniero de Software debe tener dominio
Sistemas sobre un amplio espectro de actividades.
Dpto. Ciencias e Ingeniería de la Computación z Habilidades interpersonales.
Universidad Nacional del Sur
z Las diferentes personas que interactúan con
Clase 5 – Jugadores y Definición de el sistema se pueden clasificar:
Requerimientos
z usuarios,
Lic. María Mercedes Vitturini
[mvitturi@cs.uns.edu.ar]
z gerentes, auditores,
z analistas y diseñadores, programadores,
1er. CUATRIMESTRE 2006 personal de operación, etc.
Análisis y Diseño de Sistemas - Clase 5 2

Participantes en el desarrollo
Repaso de software
z El desarrollo de sistemas puede estar a
cargo de (relación equipo de Cliente
Patrocina el desarrollo $$$, necesidades
desarrollo/empresa): del sistema.

z Un grupo de desarrollo dentro de la empresa.


Obligación
z Contratarse a una empresa externa. contractual
z Pueden hacerse desarrollos para usuarios no Usuario
Usa el sistema. Necesidades
conocidos (paquetes).
z Según la alternativa las comunicaciones van Sistema de
Desarrollador
Construye el
Software
a ser diferentes. sistema.

Análisis y Diseño de Sistemas - Clase 5 3 Análisis y Diseño de Sistemas - Clase 5 4

Usuarios Clasificación de los Usuarios


z Persona/s para la que se construye el
sistema (“clientes”o “dueños del z Por categoría de trabajo
sistema”) z Usuarios Operativos.
z Entrevistar. z Usuarios Supervisores.
z Conformar. z Usuarios Ejecutivos.
z Existen sistemas donde no se conoce z Por nivel de experiencia en proyectos de
al usuario. desarrollo de software.
z Esto acarrea malos entendidos.
z Amateur.
z En estos casos es importante
z Novato.
documentar.
z Experto.
Análisis y Diseño de Sistemas - Clase 5 5 Análisis y Diseño de Sistemas - Clase 5 6

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
1
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.

Usuarios
Usuarios Operativos
Usuarios Ejecutivos
z Tendrán contacto diario con el nuevo sistema. Usuarios Ejecutivos
z Se interesan por funciones e interfaz. z Dan iniciativa al proyecto.
z Tienen una visión local. z Se interesan por estrategias de mercado y
z Manejan términos físicos. ganancias/pérdidas.
Usuarios Supervisores z Tienen una visión global del sistema.
z A veces fueron usuarios operacionales. z Están familiarizados con modelos abstractos.
z Les interesa el aumento de productividad que
z Les interesa:
pueda darles el nuevo sistema.
z La información que puedan obtener del sistema.
z Puede negarse a que se entreviste a sus
operadores.
z Tiene una visión similar al usuario operador.
Análisis y Diseño de Sistemas - Clase 5 7 Análisis y Diseño de Sistemas - Clase 5 8

Gerentes (Clientes) Ejemplo


z Cuanto mayor sea el nivel de gerencia menos le z Para el desarrollo de un portal educativo para
interesará la tecnología informática. la UNS. Distintos niveles de usuarios:
z Sus prioridades pueden estar en conflicto con la z Alumnos.
de los usuarios. z Docentes de cátedra.
z Diferentes gerentes pueden tomar posiciones z Secretarios Académicos de Departamentos.
encontradas con relación al proyecto. z Rector
z Tienen la decisión sobre el futuro del proyecto.
z Les interesa las nuevas posibilidades de
negocio.
Análisis y Diseño de Sistemas - Clase 5 9 Análisis y Diseño de Sistemas - Clase 5 10

Auditores Personal de Operación


z Personal de control de calidad. z Responsables de la red, sistemas de
z Verifican que se respeten estándares. hardware,de backups.
z Tener en cuenta: z La comunicación solo se requiere para
z Pueden aparecer en juego tarde. coordinar tareas.
z Revisan modelos.
z Se ocupan demasiado de las formas.

Análisis y Diseño de Sistemas - Clase 5 11 Análisis y Diseño de Sistemas - Clase 5 12

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
2
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.

Análisis y Definición
Analista
El equipo de Requerimientos

El equipo de desarrollo de Diseño del Sistema


Diseñador
z Analista: trabaja con el cliente desglosando en desarrollo Diseño de
requerimientos separados lo que el cliente desea. Programas Programador
z Diseñador: a partir de los requerimientos Implementación de
documentados, generan una descripción de lo que programas

el sistema debe hacer. Prueba de


programa Testeador
z Programadores: a partir del diseño escriben el
código. Prueba de Sistema
z Testeadores: trabajan con el equipo de
implementación para verificar que el sistema se Entrega del Sistema
Capacitador
comporta de acuerdo a la especificación.
Análisis y Diseño de Sistemas - Clase 5 13 Mantenimiento
Análisis y Diseño de Sistemas - Clase 5 14

¿Por qué son importantes los


Requerimientos requerimientos? (lectura)
En 1994 el Standish Group hizo un estudio sobre 350
z Cada sistema basado en software tiene un compañías y cerca de 8000 proyectos de software para
propósito, usualmente expresado como algo averiguar cómo les estaba yendo. Los resultados son
que el sistema debe hacer. desencantadores. El 31% de los proyectos de
software fueron cancelados antes de completarse. Es
más, en las grandes compañías, sólo el 9% de los
z Un requerimiento es: proyectos fue entregado en término y dentro del costo
z Una característica del sistema. presupuestados; el 16% satisfizo esto, en pequeñas
empresas.
z Una descripción de algo que el sistema es capaz de
hacer con el objeto de satisfacer el propósito de Para comprender el por qué, Standish (1995) pidió a los
usuarios y cliente. participantes en el estudio que explicaran las causas de
los proyectos fallidos. Los principales factores fueron: …
Análisis y Diseño de Sistemas - Clase 5 15 Análisis y Diseño de Sistemas - Clase 5 16

¿Por qué son importantes los ¿Por qué son importantes los
requerimientos? (lectura) ... requerimientos? (lectura) ...
Los principales factores fueron: … Notemos que cierta parte de las etapas de la
z Requerimientos incompletos (13,1%). extracción, la definición, y la gestión del proceso de
z Falta de compromiso del usuario (12,4%). los requerimientos participaron en casi todas estas
z Falta de recursos (10,6%).
causas. La falta de cuidado en la comprensión, la
documentación y la gestión de los requerimientos
z Expectativas no realistas (9,9%).
puede llevar a una gran cantidad de problemas:
z Falta de soporte ejecutivo (9,3%).
construir un sistema que resuelve el problema
z Requerimientos y especificaciones cambiantes equivocado, que no funciona como se espera, o que
(8,7%). presenta dificultades para que los usuarios puedan
z Falta de planeamiento (8,1%). comprenderlo y utilizarlo. Es más un proceso de
z Fin de la necesidad del sistema (7,5%). requerimientos mediocre puede en realidad resultar
muy caro.
Análisis y Diseño de Sistemas - Clase 5 17 Análisis y Diseño de Sistemas - Clase 5 18

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
3
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.

¿Por qué son importantes los


requerimientos? (lectura) ... Requerimientos
En el trabajo de Boehm y Papaccio se consigna que si
z La extracción de requerimientos tiene lugar después
cuesta 1$ localizar y subsanar un problema debido a
requerimientos, durante la etapa de definición; puede de que es aceptado el estudio de factibilidad.
costar 5$ repararlo durante el diseño; 10$ durante la
codificación; 20$ durante la prueba unitaria; y hasta z El objetivo primario de la extracción de los
200$ después de la entrega del sistema. requerimientos: la comprensión de lo que los
Conclusión: es rentable tomarse el tiempo que sea
clientes y usuarios esperan que haga el sistema.
necesario para comprender el problema y su contexto, y
obtener los requerimientos correctos desde el primer z Los requerimientos deben ser documentados y
momento. revisados con el cliente para comprobar exactitud y
Ingeniería de Software – Shari Pfleeger – Pág. 157 completitud.
Análisis y Diseño de Sistemas - Clase 5 19 Análisis y Diseño de Sistemas - Clase 5 20

El proceso de Extracción de El proceso de determinación de


Requerimientos los Requerimientos
z Fases del proceso de extracción de Definición y
Extracción y Análisis de
requerimientos Requerimientos
Especificación de
Requerimientos
1. Trabajar con clientes y usuarios del sistema para
extraer los requerimientos. Análisis Descrip- Prototipa- Documen-
z Incluye formular preguntas, hacer demostraciones, del ción del do y tación y
prototipos, etc. Problema Problema prueba Validación
2. Documentar los requerimientos.
z Elegir descripciones matemáticas o gráficas. ¿Hemos ¿Estamos ¿La función es ¿Hemos
capturado todo usando las factible? capturado todo
3. Verificar los requerimientos. lo que el usuario técnicas o lo que el usuario
z Validar si son completos, exactos y consistentes. necesita? visiones espera?
correctas?

Análisis y Diseño de Sistemas - Clase 5 21 Análisis y Diseño de Sistemas - Clase 5 22

Extracción de Requerimientos Extracción de requerimientos


z Se trabaja con el cliente para extraer los z La extracción de requerimientos es crítica.
requerimientos. z Se debe analizar el problema antes de
z Formulando preguntas. considerar cualquier solución:
z Presenciando demostraciones de sistemas z Desglosar el problema en piezas más pequeñas
similares.
más fáciles de comprender.
z Desarrollando prototipos.
z Análisis del problema:
z Se capturan los requerimientos en una base de z Identificar las personas, los procesos y
datos o en documentos. recursos involucrados.
z Documentar las relaciones entre ellos
z Se validan los requerimientos.
Análisis y Diseño de Sistemas - Clase 5 23 Análisis y Diseño de Sistemas - Clase 5 24

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
4
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.

Extracción de requerimientos Extracción de Requerimientos


z Se interroga a las personas involucradas y se z La clasificación de requerimientos es útil para:
intenta determinar el límite del sistema. z Que los participantes comprendan lo que
z Resulta útil clasificar a los requerimientos en: realmente se necesita.
z Requerimientos que deben ser absolutamente z Cuando el proyecto está restringido en tiempo y
satisfechos (mandatorios). recursos, se eliminan los requerimientos de la
z Requerimientos que son muy deseables pero no tercera categoría, y los de la segunda se
indispensables (deseables). negocian
z Requerimientos que son posibles, pero que Recordar: los requerimientos apuntan al propósito del sistema, sin
podrían eliminarse (no prioritarios). considerar cómo se va a implementar. Deben concentrarse en el
cliente y en el problema, no sobre la implementación y la solución.
Análisis y Diseño de Sistemas - Clase 5 25 Análisis y Diseño de Sistemas - Clase 5 26

Ejemplo Requerimientos
z Supongamos una aplicación para proveer
servicios de correo electrónico: z Los requerimientos se agrupan en: Mo
d
z Requerimientos FUNCIONALES. Ca elo
z Requerimientos mandatorios: so
s
de
Us d e
z Facilidades para enviar y recibir mensajes, crear nuevos z Identificar
actores. o
mensajes, responder mensajes, etc. z Identificar
necesidades funcionales.
z Requerimientos deseables: z Revisar que no existan conflictos.
z Contar con un libreta de direcciones, facilidades filtrar z Requerimientos NO FUNCIONALES.
mensajes, etc.
z Identificar necesidades no funcionales.
z Requerimientos no prioritarios:
z Revisar que no existan conflictos
z Mostrar los mensajes con distinto tipo de letra según el
remitente.
Análisis y Diseño de Sistemas - Clase 5 27 Análisis y Diseño de Sistemas - Clase 5 28

Requerimientos NO
Requerimientos FUNCIONALES FUNCIONALES
z Un requerimiento funcional describe una interacción z Un requerimiento no funcional describe una
entre el sistema y su ambiente. restricción sobre el sistema que limita nuestras
z Para determinar los requerimientos funcionales se elecciones en la construcción de una solución al
deciden cuáles son los estados aceptables para el problema.
sistema. z Estas restricciones limitan la selección del lenguaje,
z Describen cómo debe comportarse el sistema ante plataforma, etc., sin embargo, la selección se realiza
determinados estímulos. en la etapa de diseño.
z Ejemplo: z Ejemplos:
z para un sistema de alumnos: ¿Cuándo un alumno pierde su z El sistema debe funcionar en el servidor..., el informe debe
regulariadad? ¿Cuándo ocurre? ¿Se generan reportes? salir después de 2 horas de..., las consultas en mostrador
no deben demorar más de...
Análisis y Diseño de Sistemas - Clase 5 29 Análisis y Diseño de Sistemas - Clase 5 30

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
5
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.

Propósito de los
requerimientos Extraer requerimientos
Algunos consejos
z Los requerimientos sirven tres propósitos: z Revisar la situación actual.
z Permiten que los desarrolladores expliquen cómo z Trabajar en el ámbito del usuario para comprender
han entendido lo que el cliente pretende del el contexto, los problemas y las relaciones.
sistema.
z Entrevistar a los usuarios actuales y potenciales.
z Indican a los diseñadores qué funcionalidad y z Realizar demostraciones de cómo podría funcionar
características va a tener el sistema resultante. el sistema.
z Indican a los testeadores qué demostraciones z Investigar los documentos existentes.
llevar a cabo para que el cliente se convenza de
z Realizar lluvia de ideas con los usuarios actuales y
que el sistema que se le entrega es lo que había potenciales.
solicitado.
z Observar las estructuras y los patrones.
Análisis y Diseño de Sistemas - Clase 5 31 Análisis y Diseño de Sistemas - Clase 5 32

Entrevistas – Consejos
Prácticos Consejos prácticos ...
z Estudiar previamente el dominio del problema. z Durante la entrevista:
z Determinar el objetivo y contenido de la entrevista. z Mantener la entrevista en foco.
z Seleccionar a las personas que se va a z Al finalizar, leer las conclusiones.
entrevistar. z Consensuar próximos pasos.
z Concertar la entrevista por anticipado. Indicar la z Solicitar ejemplos de documentos fuentes, salidas
del sistema, pantallas.
duración de la entrevista.
z Fijar roles en el equipo: secretario de actas,
controlador de tiempos, moderador
z Ser puntual – Respetar tiempos.
Análisis y Diseño de Sistemas - Clase 5 33 Análisis y Diseño de Sistemas - Clase 5 34

Documentos de requerimientos Análisis de requerimientos


z La extracción y el análisis del problema sirve a
Revisar
dos propósitos diferentes, pero relacionados:
z ¿Los requerimientos son correctos?.
z La extracción permite escribir un documento de
definición de requerimientos (términos que el z Cliente y analista deben revisarlos.
cliente entiende).
z ¿Los requerimientos son consistentes?.
z La extracción y el análisis permiten escribir la
z No poseen inconsistencia ni ambigüedades.
especificación de requerimientos (términos
técnicos, que habilita el diseño del sistema). z ¿Los requerimientos son completos?.
z Todos los estados, cambios de estados, entradas,
z A veces un único documento sirve para ambos productos y restricciones están descriptos.
propósitos.
Análisis y Diseño de Sistemas - Clase 5 35 Análisis y Diseño de Sistemas - Clase 5 36

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
6
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.

Análisis de requerimientos Temas de la clase de hoy


Revisar z Usuarios del Sistema.
z Clasificación.
z ¿Los requerimientos son realistas?
z Requerimientos
z Es posible cumplir con los requerimientos. z Extracción de requerimientos. Fases. Objetivos.
Requerimientos Funcionales y No funcionales.
z ¿Describe cada requerimiento algo que es z Documentación de requerimientos.
necesario para el usuario? z Análisis de Requerimientos.
z Existen requerimientos que se puedan eliminar z Bibliografía.
z ¿Los requerimientos son verificables? z Análisis Estructurado Moderno – Edward Yourdon. Capítulo 3.
z Ingeniería de Software -Teoría y práctica” - Shari L. Pfleeger.
z Se necesitan pruebas que los demuestren Capítulos 1 y 4.

Análisis y Diseño de Sistemas - Clase 5 37 Análisis y Diseño de Sistemas - Clase 5 38

Apéndice Ambiente físico e Interfaces


z Ambiente Físico
Tipos de Requerimientos
z ¿Dónde está el equipamiento que necesita el sistema para
z Los documentos de definición y especificación funcionar?
de requerimientos describen cómo el sistema z ¿Existe una localización o varias?
interactúa con su ambiente, incluyendo los z ¿Existen restricciones ambientales: temperatura, humedad,
siguientes aspectos: o interferencia magnética?
z Ambiente físico, Interfaces, Usuarios y factores z Interfaces
humanos, Funcionalidad, Documentación, Datos, z ¿La entrada proviene de uno o más sistemas?
Recursos, Seguridad, Aseguramiento de la calidad. z ¿La salida va a uno o más sistemas?
z ¿Existe una manera prescripta en que deben formatearse
los datos?
z ¿Existe un medio prescripto que los datos deban utilizar?
Análisis y Diseño de Sistemas - Clase 5 39 Análisis y Diseño de Sistemas - Clase 5 40

Funcionalidad y
Usuarios y factores humanos Documentación
z ¿Quién usará el sistema? z Funcionalidad
z ¿Habrá varios tipos de usuarios? z ¿Qué hará el sistema?
z ¿Cuál es el nivel de habilidad de cada tipo de z ¿Cuándo lo hará?
usuario? z ¿Existen varios modos de operación?
z ¿Qué clase de entrenamiento requerirá cada tipo de z ¿Cómo y cuándo se puede cambiar o mejorar un sistema?
usuario? z ¿Existen restricciones de la velocidad de ejecución, tiempo
z ¿Cuán fácil le será a un usuario comprender y utilizar de respuesta o rendimiento?
el sistema? z Documentación
z ¿Cuán difícil le resultará a un usuario hacer un uso z ¿Cuánta documentación se requiere?
indebido del sistema? z ¿Debe estar en línea, en papel, o en ambos?
z ¿A qué audiencia está orientado cada tipo de información?
Análisis y Diseño de Sistemas - Clase 5 41 Análisis y Diseño de Sistemas - Clase 5 42

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
7
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.

Datos Recursos
z ¿Cuál será el formato de los datos tanto para entrada z ¿Qué recursos materiales, personales o de otro tipo
como para salida? se requieren para construir, utilizar y mantener el
sistema?
z ¿Cuán a menudo serán recibidos o enviados?
z ¿Qué habilidades deben tener los desarrolladores?
z ¿Cuán exactos deben ser?
z ¿Cuánto espacio físico será ocupado por el sistema?
z ¿Con qué grado de precisión deben hacerse los z ¿Cuáles son los requerimientos de energía,
cálculos? calefacción o acondicionamiento de aire?
z ¿Cuántos datos fluyen a través del sistema? z ¿Existe un cronograma prescripto para el desarrollo?
z ¿Debe retenerse algún dato por algún período de z ¿Existe un límite sobre la cantidad de dinero a gastar
tiempo? en el desarrollo o en hardware o en software?

Análisis y Diseño de Sistemas - Clase 5 43 Análisis y Diseño de Sistemas - Clase 5 44

Seguridad Aseguramiento de la calidad


z ¿Debe controlarse el acceso al sistema o a la z ¿Cuáles son los requerimientos para la confiabilidad,
información? disponibilidad, facilidad de mantenimiento, seguridad, y
z ¿Cómo se podrán aislar los datos de un usuario de los los restantes atributos de calidad?
de otros? z ¿Cómo deben demostrarse las características del
z ¿Cómo podrán aislarse los programas de usuario de sistema a terceros?
los otros programas y del sistema operativo? z ¿Debe el sistema detectar y aislar defectos?
z ¿Con qué frecuencia deben hacerse las copias de z ¿Cuál es el promedio de tiempo prescripto entre fallas?
respaldo? z ¿Cómo puede el sistema incorporar los cambios al
z ¿Dónde se almacenarán las copias de respaldo? diseño?
z ¿Se deben tomar precauciones contra el fuego, el z ¿El mantenimiento sólo corregirá errores o incluirá
daño provocado por agua, o el robo? evolución?
Análisis y Diseño de Sistemas - Clase 5 45 Análisis y Diseño de Sistemas - Clase 5 46

Aseguramiento de la calidad ...


z ¿Existe un tiempo máximo permitido para la
recuperación del sistema después de una falla?
z ¿Qué medidas de eficiencia se aplicarán al uso de
recursos y al tiempo de respuesta?
z ¿Cuán fácil debe ser de mover el sistema de una
ubicación a otra o de un tipo de computadora a otra?

Análisis y Diseño de Sistemas - Clase 5 47

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
8

You might also like