Title: Introducci
1Introducción al Proceso de Desarrollo de Software
- Patricio Letelier
- Centro de Formación de Postgrado Depto.
Sistemas Informáticos y Computación - Universidad Politécnica de Valencia
2Contenidos
- Motivación
- Notación
- Metodología
- Herramientas
- Discusión
3I. Motivación Construcción de una casa para
fido
Puede hacerlo una sola persona Requiere Modelado
mínimo Proceso simple Herramientas simples
4I. Motivación Construcción de un Chalet
Construido eficientemente y en un tiempo
razonable por un equipo Requiere Modelado Proc
eso bien definido Herramientas más sofisticadas
5I. Motivación Construcción de un Rascacielos
6I. Motivación Claves en el Desarrollo de SI
Notación
Herramientas
Metodología
7II. Notación
El modelado captura las partes esenciales del
sistema
Proceso de Negocios
Sistema Computacional
8II. Notación Modelado para manejar la
Complejidad
9II. Notación Modelado de la Arquitectura del SW
Interface de Usuario (Visual Basic, Java, ..)
Lógica del Negocio (C, Java, ..)
Servidor de BDs (C SQL, ..)
Modelar el sistema independientemente del
lenguaje de implementación
10II. Notación Modelado para promover la
Reutilización
Múltiples Sistemas
Componentes Reutilizados
11III. Metodología Qué es una Metodología?
- En un proyecto de desarrollo de software la
metodología define Quién debe hacer Qué, Cuándo y
Cómo debe hacerlo - No existe una metodología de software universal.
Las características de cada proyecto (equipo de
desarrollo, recursos, etc.) exigen que el proceso
sea configurable
Sistema nuevo o modificado
Requisitos nuevos o modificados
Proceso de Desarrollo de Software
12III. Metodología Procesos y Metodologías
- La Ingeniería de Software como disciplina
- Algunos modelos de proceso de desarrollo son
desarrollo en Cascada, usando Prototipos, Basado
en Componentes, en Espiral (Incremental,
Iterativo), Programación Automática. Las
metodologías se basan en alguna combinación de
estos enfoques - Las metodologías (tanto comerciales como en el
ámbito académico y de investigación) pueden ser
agrupadas en dos grandes corrientes Metodologías
Estructuradas y Metodologías Orientadas a Objetos
13III. Metodología Metodologías Estructuradas
- Los métodos estructurados comenzaron a
desarrollar-se a fines de los 70s con la
Programación Estructurada, luego a mediados de
los 70s aparecieron técnicas para el Diseño
primero y luego para el Análisis. Enfocados a
implementaciones usando lenguajes de 3ra
generación - Ejemplos de metodologías estructuradas
gubernamentales MERISE (Francia), MÉTRICA 3
(España), SSADM (Reino Unido) - Ejemplos de métodos estructurados en el ámbito
académico Gane Sarson, Ward Mellor, Yourdon
DeMarco e Information Engineering
14III. Metodología Metodologías Orientadas a
Objetos (OO)
- Su historia va unida a la evolución de los
lenguajes de programación orientada a objeto, los
más representativos a fines de los 60s SIMULA,
a fines de los 70s Smalltalk-80, la primera
versión de C por Bjarne Stroustrup en 1981 y
actualmente Java o C. A fines de los 80s
comenzaron a consolidarse algunos métodos
Orientadas a Objeto - En 1995 aparece el Método Unificado, que
posteriormente se reorienta para dar lugar al
Unified Modeling Language (UML), la notación OO
más popular en la actualidad - Algunos métodos OO con notaciones predecesoras de
UML OOAD (Booch), OOSE (Jacobson), Coad
Yourdon, Shaler Mellor y OMT (Rumbaugh) - Algunas metodologías orientadas a objetos basadas
en UML Rational Unified Process (RUP), OPEN,
MÉTRICA 3
15III. Metodología Elementos de un Proceso SW
Herramientas
Personas
Proceso SW
Notación
16IV. Herramientas CASE
- CASE es un acrónimo para Computer-Aided Software
Engineering, aunque existen algunas variaciones
para lo que actualmente se entiende por CASE - C Computer
- A Aided
- Assisted
- Automated
- S Software
- Systems
- E Engineering
17IV. Herramientas CASE Qué es una CASE?
- En Terminology for Software Engineering and
Computer-aided Software Engineering, B.Terry
D.Logee, Software Engineering Notes, Abril 1990,
CASE es definido como - Herramientas individuales para ayudar al
desarrollador de software o administrador de
proyecto durante una o más fases del desarrollo
de software (o mantenimiento). - En The CASE Experience, Carma McClure, BYTE
Abril 1989 p.235 se ofrece la siguiente
definición - Una combinación de herramientas de software y
metodo-logías de desarrollo
18(No Transcript)
19V. Discusión
Cuál es vuestro contexto?
Cuál es vuestra Situación ActualNotación -
Metodología - Herramientas?
20Introducción al Proceso de Desarrollo de
Software
- Patricio Letelier
- Centro de Formación de Postgrado Depto.
Sistemas Informáticos y Computación - Universidad Politécnica de Valencia