1. INSTITUTO
TECNOLÓGICO DE
CHILPANCINGO
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
FUNDAMENTOS DE DESARROLLO
“INGENIERÍA DE SOFTWARE”
DE SISTEMAS
PRESENTADO POR: RAFAEL DÍA
CHILPANCINGO GRO., SEPTIEM
2. Contenido
1. Ingeniería de software.
1.1 Definición.
1.2 Características.
1.3 Ciclo de vida de un proyecto de software.
1.3.1 Acciones.
2. Paradigmas de la ingeniería software.
2.1 Concepto.
2.2 Enfoque estructurado.
2.2.1 Diagrama de flujos de datos.
3. Modelos de proceso de software.
3.1 Concepto.
3.2 Modelos evolutivos del proceso.
3.2.1 Construcción de prototipo.
4.Técnicas, herramientas y estudios previos.
4.1 Entrevista.
4.2 Cuestionario.
4.3 Observación.
5. Diseño y arquitectura de productos de software.
5.1 Diseño de software.
5.2 Modelo cliente/servidor.
5.3 Diseño de software de tiempo real.
Conclusión.
4. 1.1 DEFINICIÓN.
Es una disciplina de la ingeniería cuya meta es el
desarrollo costeable de sistemas de software
confiables que funcionen de modo eficiente y
comprende todos los aspectos de la producción
del software.
5. 1.2 CARACTERÍSTICAS.
El software consta de 3 elementos que lo
definen:
1. Los programas y/o algoritmos.
2. Las estructuras de datos.
3. Los documentos.
6. 1.2 CARACTERÍSTICAS.
Existen 2 tipos de productos de software
cuando se desarrolla:
1. Productos genéricos.
2. Productos personalizados.
8. 1.3 CICLO DE VIDA DE UN
PROYECTO DE SOFTWARE.
Es una secuencia de diferentes acciones que
toman lugar durante el desarrollo del
software.
9. 1.3.1 ACCIONES.
1. La factibilidad.
2. Los requerimientos.
3. La planeación del proyecto.
4. El diseño.
5. La implementación.
6. La prueba.
7. La entrega.
8. El mantenimiento.
11. 2.1 CONCEPTO.
Un software es un sistema basado en computadora que
requiere para su desarrollo y construcción la aplicación
de la ingeniería del software.
Empieza con una serie de tareas de modelado que llevan
a una especificación de los requerimientos y una
representación general del sistema de software a
construir.
12. 2.1 CONCEPTO.
El modelado de análisis es un conjunto de modelos
donde se representan los objetos y sus interacciones
bajo el contexto del dominio del problema.
Existen 2 filosofías del modelado del análisis:
• El análisis estructurado.
• El análisis orientado objetos.
13. 2.2 ENFOQUE ESTRUCTURADO.
El método general es mirar al problema y
diseñar una solución de funciones y/o
procedimientos que llevaran a cabo las tareas
requeridas.
Descomposición modular.
14. 2.2 ENFOQUE ESTRUCTURADO.
El diagrama de flujo de datos sirve para dos
propósitos:
1. Indicar cómo se transforman los datos a medida
que se avanza en el sistema.
2. Representar las funciones (y subfunciones) que
transforman el flujo de datos.
Análisis estructurado es una técnica del modelado
del flujo y del contenido de la información.
15. 2.2 ENFOQUE ESTRUCTURADO.
Entidad externa
Proceso de datos o burbuja
Flujo de datos
Almacenamiento de datos
17. 3.1 CONCEPTO
Los modelos de proceso definen un marco de
trabajo genérico para el proceso el cual
incluye :
Comunicación
Planeación.
Modelado.
Construcción.
Despliegue.
18. 3.2 MODELOS EVOLUTIVOS DEL
PROCESO.
Son iterativos y los caracteriza la forma en
que permiten que los desarrolladores de
software realizan el desarrollo de versiones
mas completas del software.
Los mas utilizados y conocidos son:
* Modelo de construcción de prototipos.
* Modelo en espiral.
19. 3.2.1 CONSTRUCCIÓN DE
PROTOTIPOS.
Comunicación
Plan rápido Planeación
Modelado Diseño rápido
Construcción Construcción
Desarrollo, de prototipo
Entrega y
Retroalimentación. Despliegue
21. 4.1 ENTREVISTA.
Es una técnica que permite obtener por
medio del diálogo una serie de datos
necesarios para la realización del proyecto.
2 tipos de entrevistas:
1. Las dirigidas.
2. Las semidirigidas.
22. 4.2 CUESTIONARIO.
Es una técnica que permite obtener
información por medio de preguntas bien
establecidas y ordenadas.
3 tipos de cuestionarios.
1. Preguntas abiertas.
2. Preguntas cerradas.
3. Preguntas mixtas.
23. 4.3 OBSERVACIÓN.
Es una técnica por medio del cual el analista
de sistemas está en posibilidad de cerciorarse
con base a la experiencia práctica, de cual es
el problema real que afecta el área sometida
a estudio.
2 tipos de observación:
1. Participante
2. No participante.
25. 5.1 DISEÑO DE SOFTWARE.
Se divide en 6 capas:
1. Diseño arquitectónico: subsistemas que
conforman el software y su relación.
2. Especificación abstracta: especificación de
sus servicios y restricciones bajo los cuales
opera.
3. Diseño de la interfaz. Diseña y documenta
su interacción con otros subsistemas.
26. 5.1 DISEÑO DE SOFTWARE.
4. Diseño de componentes: se asignan servicios a los
diferentes componentes y la interfaz.
5. Diseño de la estructura de datos: estructura de
datos a utilizar.
6. Diseño de algoritmos: algoritmos a utilizar.
27. 5.2 MODELO CLIENTE/SERVIDOR.
Es un modelo de sistemas distribuido que muestra
como los datos y el procesamiento se distribuyen a lo
largo de varios procesadores.
Componentes principales:
- conjunto de servidores independientes que ofrecen servicios
a otros subsistemas.
- conjunto de clientes que llaman a los servicios ofrecidos por
los otros servidores.
- una red que permite a los clientes acceder a estos servicios.
29. 5.3 DISEÑO DE SOFTWARE DE
TIEMPO REAL
Es aquel software que coordina, analiza y controla
eventos del mundo real conforme estos ocurren.
Una forma de visualizar este sistema es como un
sistema de estimulo/respuesta.
2 clases de estimulo:
- los periódicos.
- los aperiódicos.
30. 5.3 DISEÑO DE SOFTWARE DE
TIEMPO REAL
Sensor Sensor
Sensor Sensor
Actuador Actuador Actuador
31. CONCLUSIÓN
La ingeniería de software es una disciplina de la ingeniería que nos ayudan a
desarrollar sistemas de software a tiempo y a la vez que se cumpla con las
expectativas de calidad y que permanezca dentro del presupuesto. Sus 3
elementos importantes son: algoritmos, estructura de datos y documentos.
El proyecto de software cumple con un ciclo de vida, para todo proyecto de
software se debe elegir el modelo en el que se trabajara, es muy importante
realizar prototipos de los productos de software para el mejor diseño y
entendimiento de lo que requiere el cliente.
Para esto necesitamos información adecuada, podemos utilizar cualquier
técnica de recopilación de información siempre y cuando se haga de la forma
correcta y constante comunicación con el cliente.
32. FUENTES CONSULTADAS
Apuntes de Fundamentos de Desarrollo de
Sistemas.
Primera Edición, 2009.
Víctor Manuel Hernández Alarcón.
Editorial Artesanal Educativa.