- CONCEPTO
- TÉCNICAS vs METODOLOGÍA
- CICLO DE VIDA DE UN PROYECTO
CLÁSICO - PROYECTOS SEMI ESTRUCTURADOS
- CICLO DE VIDA ESTRUCTURADO
- OTRAS METODOLOGÍAS
CICLO DE VIDA DE LOS
SISTEMAS
El Ciclo de Vida
del Desarrollo de
Sistemas es un
proceso por el
cual los analistas de sistemas, los
ingenieros de software, los programadores
y los usuarios finales elaboran sistemas de
información y aplicaciones
informáticas.
TÉCNICAS y
METODOLOGÍAS
- Técnica: Es un método
que aplica herramientas
y reglas específicas para completar una o más
fases del ciclo de
vida del desarrollo
de Sistemas. Ellas se aplican a una parte del ciclo de vida
total. - Metodología es una versión amplia y
detallada de un ciclo de vida COMPLETO de desarrollo de
sistemas que incluye: - Reglas, procedimientos, métodos, herramientas
- Funciones individuales y en grupo
por cada tarea - Productos resultantes
- Normas de Calidad
(Whitten, Bentley, Barlow)
Definiciones
- Herramientas : son los ambientes de apoyo
necesario para automatizar las prácticas de Ingeniería de Software - Métodos: son las maneras que se
efectúan las tareas de Ingeniería
de Software o las actividades del ciclo de
vida. - Procedimientos : son los mecanismos de
gestión que soportan a los métodos:
El control de
los proyectos, el
control de
la calidad
Objetivos del CICLO DE VIDA de un
Proyecto:
- Definir las actividades a ser ejecutadas en un
proyecto de Procesamiento Electrónico de Datos
(PED) - Introducir coherencia en muchos proyectos de
PED de la misma organización - Establecer punto de control para control de gerencia y
puntos de control para tomar la decisión de "continuar o
no".
CICLO DE VIDA ESTRUCTURADO PARA EL
DESARROLLO DE LOS SISTEMAS
CARACTERISTICAS DE LOS PROYECTOS
ESTRUCTURADOS
Las técnicas
estructuradas utilizadas en el desarrollo de los Proyectos de
Sistemas, buscaron superar el fracaso en muchos desarrollos
convencionales.
Los proyectos estructurados se caracterizan por
mejores herramientas
para expresar los requisitos del usuario, énfasis en el
proyecto de calidad, sistemas
de desarrollo top-down.
TECNICAS ESTRUCTURADAS
- Análisis estructurado
- Diseño estructurado
- Programación estructurada
- Desarrollo TOP-DOWN
- Equipos de programación
- Revisiones estructuradas
- ANALISIS ESTRUCTURADO
- El Análisis se refiere al "extremo inicial"
de un proyecto de desarrollo de sistemas, durante el tiempo en que
los requisitos del usuario son definidos y
documentados. - El Análisis estructurado introduce el uso de
las herramientas de documentación gráficas para producir un tipo diferente
de especificación funcional: "la
especificación estructurada".
Herramientas de documentación del
Análisis Estructurado
- Diagramas de flujo de datos
(DFDs) - Diccionario de Datos (DD)
- Diagramas de Entidad-Relación (ER)
- Diagramas de Transición de Estado
(DTEs) - Especificaciones de procesos
- DISEÑO ESTRUCTURADO
- Durante el desarrollo se determinan
"qué módulos, interconectados de qué
forma, solucionarán mejor un problema
definido - ¿Como se reconoce un buen diseño?
- ¿Existe una sola manera de realizar un buen
diseño?
Elementos del Diseño
Estructurado:
- Técnicas de documentación
- Criterios de evaluación del Diseño
- Heurísticas del diseño
- Estrategias del Diseño
Técnicas de
Documentación:
- Incluyen herramientas gráficas y de
texto - Herramientas
- Flujos de datos
- Diagramas Hipo
- Diagrama de estructura
- Especificaciones de módulo y
D.D.
Criterios de evaluación
de diseño:
- Tiene como objetivo
evaluar los defectos del diseño conforme a la
documentación del diagrama
Hipo y el diagrama
estructural Criterios - Acoplamiento
- Cohesión
Heurísticas del
diseño:
- Siguen reglas prácticas que generalmente son
útiles aunque no funcionan en todos los casos. Se
refieren al tamaño del módulo y al control del
módulo. - Son
- Tamaño del módulo
- Fan in Fan out (abanico)
- Alcance efecto y alcance de control
Estrategias de
diseño:
- Las estrategias
requieren un buen nivel de experiencia, sentido común y
decisión - Existe una basada en el flujo de datos y otra basada
en la estructura
de datos - Análisis transformacional
- Análisis transaccional
- Programación estructurada
- DESARROLLO TOP-DOWN
- Es una estrategia de
proyecto que divide sucesivamente los problemas
grandes y complejos en problemas
menores y menos complejos, hasta que el problema original pueda
ser expresado como una combinación de problemas
pequeños y fácilmente solucionables. - REVISIONES ESTRUCTURADAS
- Se trata de un procedimiento
organizado para que un grupo de
examinadores (Analistas de Sistemas, programadores) revisen el
producto
técnico para fines de corrección y
garantía de calidad. - La revisión estructurada (walktrough), es
conducida por los miembros de un equipo que trabajan juntos en
una base diaria, y su realización puede ser fijada en
cualquier momento.
- EQUIPOS DE PROGRAMACION
- Componentes :
- Superprogramador o Programador jefe
- Copiloto
- Administrador
- Abogado de lenguaje de
programación - Instrumentador o experto en utilitarios
- Bibliotecario
- 4 razones por la que no es posible
implementar - Costo del superprogramador
- Conseguir que trabaje para uno un
superprogramador - ¿qué hacer con el personal que se
tiene? - Si codifica con rapidez o no documenta o no se
comunica con el usuario
Algunas
herramientas:
- Herramientas CASE (Computer -Aided Software
Engineering:Ingeniería
de Software auxiliada por computadora) - Generadores automáticos de Código.
- Control de documentos,
versiones y grupos de
trabajo - Control y administración de proyecto.
CICLO DE VIDA
ESTRUCTURADO
ESTUDIO
- La etapa de Estudio de viabilidad o estudio
inicial. - Su
principal objetivo es
el estudio e identificación de las deficiencias actuales
en el ambiente del
usuario (a través de relevamientos, en cuentas),
establecer nuevos objetivos, y
proponer "escenarios" viables
ANALISIS
- Conforme a las alternativas generadas por el estudio,
en esta etapa se "Modelan" las necesidades del usuario a
través de DIAGRAMAS
especiales (DFD, ER),dando como resultado las Especificaciones
estructuradas.
DISEÑO
- En esta etapa se "diseña" el sistema,
determinando los módulos componentes del Sistema, de
acuerdo a una jerarquía apropiada, a los procesadores
(hardware) y a
la función
IMPLANTACION
(DESARROLLO)
- Esta actividad incluye la codificación e
integración de los módulos con
técnicas de programación estructurada
GENERACIÓN DEL TEST DE
ACEPTACIÓN
- Consiste en preparar un conjunto de casos para
efectuar las pruebas del
sistema
GARANTIA DE
CALIDAD
- En esta etapa se efectúa el TEST final
de aceptación del Sistema
DESCRIPCION DE
PROCEDIMIENTO
- Consiste en la elaboración de la "descripción formal" del nuevo sistema:
Manuales del
Usuario, Manuales del
Sistema, Manuales de procedimiento
CONVERSIÓN DE LA BASE DE
DATOS
- Esta actividad sólo se realiza cuando existen
sistemas funcionando
INSTALACION
- Es la actividad FINAL.
- Existen varias estrategias de
INSTALACION: Gradual, distribuida, completa - Un aspecto importante de esta actividad es la
CAPACITACION
Implementación
Radical VS. Conservadora
¿Iniciar una actividad después de
concluir la otra?
¿Cuándo utilizar una u otra?
Depende:
- De la presión
por dar resultados - Exactitud en la estimación de
recursos - Conocimiento del : software a utilizar,
de la aplicación,
del hardware
- Inconstancia del usuario
Ciclo de vida por prototipos
Ejemplo : Analogía lanzamiento del nuevo
modelo de
auto
Se realiza un sistema provisorio con el conjunto
inicial de necesidades e implantarlas rápidamente con la
intención de ir expandiéndolas y
refinándolas iterativamente al ir comprendiendo el
sistema el usuario y quien lo desarrolla
- Es radical, pero se asume que posteriormente
existirá un juego
completo de documentación. - Herramientas requeridas:
- D.D. Integrado y medios
poderosos de administración de B.D. - Generadores de:
- pantallas,
- reportes no guiado por procedimientos (un mandato una función)
- consultas y recuperación no guiado por
procedimientos - generadores de aplicaciones
- Lenguaje de 4ta. Generación (lo que debe
más que cómo) - Finalidad
- El usuario dice que le gusta y que no mientras testea
el sistema. - El usuario verifica la factibilidad
del diseño de un sistema - Método de interacción
(menúes, teclas especiales) - Formatos de presentación
- Método de interacción
- Características
- Es una aplicación que funciona
- Identifica y aclara los requerimientos evitando
suposiciones del analistas y los usuarios con respecto a los
requisitos del sistema. - Se crea rápidamente.
- Evoluciona a través de un sistema
iterativo. - ¿ Costo de
desarrollo bajo? - Se puede usar el mismo sistema cómo
prototipo - Se debe documentar los requisitos y no dejar
funcionando el prototipo sin documentación. - Razones por las cuales se utilizan los
prototipos - ¿Aumento de productividad?
- Entusiasmo de usuarios con prototipos (recordar
analogía) - Son candidatos las aplicaciones que :
- El usuario no quiere examinar DFD.
- Se determinan los requerimientos por
tanteo - El sistema será interactivo
- No existe cantidad de detalles de
algoritmo - Existe un alto costo y un
alto riesgo de
fracaso - La tecnología es nueva.
- Recomendación
- El ciclo de vida del prototipo involucra el
desarrollo de un modelo
funcional. Debe realizarse la documentación de los
requerimientos del usuario - Escenarios para la construcción de prototipos
- Evaluar la petición del software y determinar
si es o no un buen candidato a prototipo - Dado un proyecto candidato aceptable, el analista
desarrolla una representación abreviada de los
requerimientos - Después de revisar la r`presentación de
requerimientos se crea unas especificaciones de diseño
abreviadas - El software del prototipo se crea prueba y
refina - Una vez que el prototipo ha sido probado, se presenta
al cliente, el
cuál conduce la prueba de la aplicación y sugiere
modificaciones - Los pasos 4 y 5 se repiten iterativamente hasta que
todos los requerimientos estén formalizados o hasta que
el prototipo haya sido reemplazado por un sistema de producción
Desarrollo de
Actividades
en espiral
DESARROLLO DE SISTEMAS DESDE EL
ENFOQUE DE LA
INGENIERIA DE INFORMACION
INGENIERIA DE
INFORMACION
- Ingeniería es una Ciencia
aplicada, o sea un área de conocimiento
humano que utiliza principios
matemáticos y físicos para resolver problemas
ligados a la construcción de INGENIOS. Un Ingenio es
todo aquello que produce la capacidad creativa del hombre para
atender a un fin determinado - La Ingeniería de la Información se puede definir como una
disciplina,
o sea un "conjunto de conocimientos" ligados al tratamiento de
la Información y la construcción de
mecanismos formales para la construcción de los
"Sistemas de
Información".
CARACTERISTICAS DE LA INGENIERIA DE
LA INFORMACIÓN
- Centrada en los negocios
- Participación intensa de los
usuarios - Implementación de Técnicas de Modelaje
eficaces - Se orienta a la AUTOMATIZACION en los desarrollos de
los Sistemas - Propone a la Tecnología como "soporte" de los
negocios
LA PIRAMIDE DE LA INGENIERÍA DE
LA INFORMACION
Etapas del Ciclo de Vida del
Desarrollo de SIs
- Planeamiento Estratégico de Informaciones
(PEI) - Análisis del Area de Negocios
(AAN) - Proyecto de Sistemas de Información
(PSI) - Construcción del Sistema de
Información (CSI)
Planeamiento Estratégico de
Informaciones (PEI)
- Es la primera etapa . Consiste en el estudio y
definición de las necesidades de Información que
requiere la
Organización para alcanzar sus objetivos. - PRODUCTOS: El Modelo Empresarial, los Factores Claves
del Exito y los
problemas para alcanzarlos, el Modelo de Datos Corporativo y el
Modelo Funcional Corporativo
Análisis del Area de Negocio
(AAN)
- En esta etapa se realizan los estudios de las "Areas
de Negocio" que debe soportar el SI (tratando de obviar
aspectos tecnológicos) - Se vale de técnicas de relevamiento y modelaje
de las necesidades de la Organización - PRODUCTOS:"Modelo de Datos", "Diagrama de
Descomposición Funcional", DFD.
Proyecto de Sistemas de
Información (PSI)
- En esta etapa se definen las características técnicas
requeridas para soportar las necesidades del Proyecto
(Diseño del Sistema, requerimientos de hardware) - PRODUCTOS: Propuesta del Ambiente
Computacional, Diagramas de
estructuras
de módulos, Proyecto de la Base de Datos
Construcción del
Sistema
- Consiste en la conversión de los Modelos de
datos en estructuras
físicas (software y hardware). - Aquí se realizan las tareas de programación (o generación
automática de código). - PRODUCTOS: El sistema desarrollado, Bases de Datos
generadas, Manuales, etc.
LA PIRAMIDE DE LA INGENIERÍA DE
LA INFORMACION
El Desarrollo de SIs se base en los 3
pilares fundamentales:
Autor:
María Carmen Fernández
Ayudante Andy Villamayor