Publicado el 28 de Julio del 2017
890 visualizaciones desde el 28 de Julio del 2017
2,2 MB
141 paginas
Creado hace 19a (10/09/2005)
CENTRO DE INVESTIGACI ÓN Y DE ESTUDIOS
AVANZADOS DEL INSTITUTO POLIT ÉCNICO NACIONAL
DEPARTAMENTO DE INGENIERÍA EL ÉCTRICA
SECCI ÓN DE COMPUTACI ÓN
Análisis para el Proceso de Diseño de Sistemas
Tesis que presenta
José Jaime López Rabadán
Para obtener el grado de
Maestro en Ciencias
en la Especialidad de
Ingeniería Eléctrica
opción
Computación
Director de la tesis:
Dr. Pedro Mejía Alvarez
México, D.F.
Agosto 2005
II
.
Resumen
III
La Ingeniería de Software estudia los diferentes procesos que se usan para la creación de
software con calidad. Sus principales actividades son: análisis, diseño, implementación, valida-
ción, e incluso, el mantenimiento del software. En cada una de estas etapas se utilizan diferentes
procesos que garantizan la calidad de un producto de software. Una de las etapas importantes
es: el proceso de diseño, en el que se planea y se define cómo se debe implementar el sistema
cuidando los diferentes recursos con los que se cuenta.
En este trabajo de tesis se describe lo que es la ingeniería de software para contextualizar el
proceso de diseño. Además se describe el Proceso Unificado de Rational (RUP), el cual trabaja
con un modelo iterativo, que disminuye los riesgos en la creación del software. El RUP, en la
etapa de diseño ocupa el Lenguaje de Modelado Unificado (UML) para generar una serie de
documentos que permiten la implementación de sistema.
Proponemos una guía para el diseño de sistemas, esta se basa en las etapas del diseño de
sistemas y en el Proceso Unificado de Rational, con el objetivo de definir, de forma específica,
las actividades que se desarrollan durante el proceso de diseño de un sistema. Además, se cuidan
detalles de calidad en el diseño tales como: trazabilidad, mantenibilidad y evolutividad.
Esta guía se usó en un caso de estudio de un sistema denominado Sistema de Inscripciones
Virtuales (SIV), que permite la inscripción de alumnos del CINVESTAV a través de la internet.
IV
Abstract
The software engineer studies the different processes used for the creation of quality software.
Their main activities are: analysis, design, implementation, validation even the maintaining of
software. In each of these stages different processes are used that guarantee the quality of soft-
ware products. One important stage is, the design process, where the system implementation is
planed and defined, taking in account the different resources.
These thesis describes what the software engineer is for giving the design process context
into the software engineer. Besides, the Rational Process Unified (RUP) is described, whitch
works with the iterative model that minimize the risk in the software creation. The RUP, in its
design stage uses the Unified Modeling Language (UML) for generating a serie of documents
that allow the system implementation.
This work proposes a guide for the designing of systems, this guide is based on the system
design and on the RUP, with the aim of defining in a specific form, the activities developed
during the design process of a system. Besides, detailes are taken in account in the design such
as: traceability, maintainability and evolutionary.
This guide was used in a case of study for a system denominated Sistema de Inscripciones
Virtuales (SIV), which allows the CINVESTAV’s student inscription through the Internet.
Dedicatoria
Este trabajo está dedicado a Dios, a mi familia y a cada uno de mis amigos...
V
VI
Agradecimientos
A Dios, quién me ha permitido llegar hasta este momento.
A mi esposa, Araceli Hernández Hernández, por su apoyo, comprensión y por ser una
mujer que a me ha ayudado a tener sueños y metas.
A mi hija, Jeanete Xiadany López Hernández, por que es un encanto de niña y una moti-
vación para mi vida y mi hijo que viene en camino.
A mi Papá, José Jaime López Peña y Mamá Ma. del Carmen Rabadán Miranda, por que
siempre han estado con migo en todo momento y me han apoyado.
A mis Hermanos Fernando Isaac, Marco Antonio y Christian Natanael, por ser tres perso-
nas especiales en mi vida por su apoyo y porque siempre están cuando los necesito.
A Jorge David Díaz Nava, Por enseñarme a no quedarme donde estoy y siempre luchar
por lo que uno quiere, por su ejemplo y por ser alguien especial en mi vida.
A mis amigos con los que he compartido momentos gratos.
A mi Asesor el Dr. Pedro Mejía Álvarez, quien me dirijio en esta tesis y me compartio de
sus conocimientos.
A Sofi la secretaria de la Sección, por su apoyo.
A mis revisores de tesis el Dr. Adriano de Luca Pennacchia y al Dr. Sergio Víctor Chapa
Vergara.
A los compañeros administrativos de la biblioteca del departamento de Ingeniería Eléctri-
ca.
Al Centro de Investigaciones y Estudios Avanzados del IPN, CINVESTAV-IPN junto con
la sección de Computación del departamento de Ingeniería Eléctrica por ofrecerme las
instalaciones y recursos necesarios para realizar este trabajo de investigación.
Al Consejo Nacional de Ciencia y Tecnología, CONACyT, por el apoyo económico otor-
gado en el periódo agosto 2003- agosto 2004
.
VII
VIII
Índice general
1. Introducción
1.1. Motivación . .
.
. .
.
.
.
. .
1.2. Planteamiento del problema
1.3. Objetivos de la Tesis
. . .
.
.
.
.
.
.
. .
.
. .
. .
. .
. .
. .
. .
.
.
. .
.
. .
.
.
.
. .
.
. .
. .
. .
. .
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
. .
.
.
. .
.
.
.
1.3.1. Objetivos Particulares
. . .
1.4. Organización de la Tesis
. . .
.
.
.
.
.
.
.
.
. .
.
.
. .
. .
.
.
. .
.
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
.
.
.
2. Conceptos básicos de Ingeniería de Software
2.1. ¿Qué es la Ingeniería de Software? . . .
.
.
.
2.2. ¿Qué hacen los Ingenieros de Software? . . .
.
.
.
.
. .
.
.
.
.
. .
. .
.
.
2.3. El Software . .
.
. .
.
.
.
. .
.
. .
2.4. Atributos de un buen software
. . .
.
.
2.5. Defecto, error y falla en el software
. . .
2.6. Elementos en el desarrollo de software .
.
. .
. .
. .
. .
. .
. .
.
.
. .
. .
.
.
.
.
. .
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
. .
. .
. .
. .
. .
. .
. .
. .
. .
.
. .
. .
. .
. .
2.7. El proceso de desarrollo de Ingeniería de Software
. . .
2.8. Paradigmas del proceso de desarrollo de software . . .
.
.
.
2.8.1. Modelo de desarrollo en cascada . . .
.
.
2.8.2. Desarrollo Evolutivo .
.
.
. .
.
.
.
.
. .
.
.
. .
.
.
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
.
.
. .
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
.
.
.
.
.
.
.
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
. .
. .
. .
2.8.3. Modelo de desarrollo Incremental e Iterativo .
2.8.4. Desarrollo en espiral
.
.
.
. .
.
.
.
.
. .
.
. .
IX
1
2
3
3
3
4
5
5
6
8
9
9
10
11
13
13
13
15
16
X
ÍNDICE GENERAL
2.8.5. Modelos de Métodos Formales .
.
.
. .
2.8.6. Desarrollo basado en componentes
.
.
.
.
.
.
. .
. .
.
2.9. Problemas que enfrenta la Ingeniería de Software . . .
.
.
.
.
. .
. .
.
.
.
.
.
.
.
.
. .
.
.
.
.
. .
.
. .
.
.
.
.
.
.
.
. .
.
.
3. Proceso de Diseño
3.1. Diseño Arquitectónico .
. .
. .
.
.
.
. .
3.1.1. Estructuración del Sistema . . .
.
.
.
3.1.2. Modelos de control .
.
.
. . .
.
. .
. .
.
.
.
.
. .
.
.
.
.
. .
.
.
.
.
.
.
.
.
. .
.
.
. .
. .
. .
. .
. .
. .
.
. .
. .
. .
. .
. .
. .
. .
.
3.1.3. Descomposición Modular
. . .
3.2. Especificación Abstracta . .
3.3. Diseño de Interfaz .
. .
.
. .
.
.
.
.
. .
. .
.
.
.
.
.
.
.
. .
. .
. .
. .
.
.
. .
3.3.1.
Interfaz entre Subsistemas . . .
.
.
. .
3.3.2.
Interfaz entre Usuario y software . . .
3.4. Diseño de Componentes
. .
3.4.1. Diseño Funcional . .
.
.
.
.
. .
. .
.
.
.
.
.
.
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
. .
. .
.
.
.
.
.
. .
. .
. .
. .
. .
.
.
.
.
.
.
.
.
. .
. .
. .
. .
.
.
.
.
. .
. .
. .
. .
. .
.
.
.
. .
. .
. .
.
.
.
.
.
.
.
. .
. .
. .
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
17
18
19
21
22
25
27
28
28
30
30
31
32
33
34
34
35
36
37
3.4.2. Diagramas de flujo de Datos . . .
.
. .
. .
. .
. .
. .
. .
3.4.2.1. Proceso .
.
.
. . .
3.4.2.2. Entidades Externas
.
.
.
. .
. .
. .
. .
. .
. .
. .
. .
. .
.
. .
.
.
. .
.
.
.
.
.
.
.
3.4.2.3. Almacén de datos . . .
3.4.2.4. Flujos de datos .
.
.
. .
. .
.
. .
. .
.
. .
.
.
.
. .
. .
. .
. .
.
.
.
.
. .
.
.
.
.
.
.
.
3.4.2.5. Pasos para la creación de un Diagrama de Flujo de Datos (DFD) 38
3.4.3. Descomposición Estructural
. . .
.
.
.
.
.
. .
.
. .
3.4.3.1. Descripción de los detalles del sistema .
.
3.4.4. Diseño Orientado a Objetos
. . .
.
.
.
.
.
. .
.
. .
.
.
.
. .
. .
. .
. .
. .
.
.
.
.
. .
. .
. .
. .
. .
.
.
.
3.4.4.1. Características principales del Diseño Orientado a Objeto . .
3.4.4.2. Desarrollo Orientado a Objetos . . .
.
.
3.4.4.3. Método de Diseño Orientado a Objetos .
3.4.4.4. Objeto . .
.
.
. .
.
.
.
. .
.
. .
.
.
.
.
.
.
.
.
.
.
.
. .
. .
.
.
.
.
.
.
.
. .
.
. .
.
.
.
. .
.
. .
. .
40
41
42
43
43
44
44
ÍNDICE GENERAL
XI
3.4.5. Conceptos Importantes en el Diseño Orientado a Objetos (DOO) .
3.5. Diseño de Algoritmos y Estructura de Datos .
.
.
. .
.
.
.
.
. .
.
. .
.
.
3.6. Características de calidad . . .
.
.
. .
.
. .
.
Comentarios de: Análisis para el Proceso de Diseño de Sistemas (0)
No hay comentarios