ESTUDIANTE:
SOLORZANO URIÑA DANNY GUILLERMO.
CURSO / PARALELO:
SIN-S-MA-4-1.
CARRERA:
INGENIERÍA EN SISTEMAS DE
INFORMACIÓN.
DOCENTE:
MSIG. KATTY LINO C.
ASIGNATURA:
INGENIERIA DEL SOFTWARE.
PERIODO ACADÉMICO:
2024 – 2025 CI.
Contenido
Definición y Objetivos...................................................................................................... 3
➢ Actividades Fundamentales ................................................................................... 3
Atributos del Buen Software ........................................................................................ 3
Ética en la Ingeniería de Software ................................................................................ 3
Proceso de Desarrollo de Software............................................................................... 3
Metodologías Ágiles ..................................................................................................... 4
Requerimientos de Software ......................................................................................... 4
Unidad 2: Arquitectura de Software ................................................................................. 5
Definición y Objetivos...................................................................................................... 5
Decisiones en el Diseño Arquitectónico ....................................................................... 5
Vistas Arquitectónicas .................................................................................................. 5
Patrones Arquitectónicos .............................................................................................. 5
Pruebas y Mantenimiento de Software ......................................................................... 6
Confiabilidad y Seguridad ............................................................................................ 6
Mapas Conceptuales ......................................................................................................... 7
Unidad 1 ....................................................................................................................... 7
Unidad 2 ....................................................................................................................... 7
INFOGRAFIA .............................................................................................................. 8
UNIDAD 1 ................................................................................................................... 8
UNIDAD 2 ................................................................................................................... 9
Definición y Objetivos
La Ingeniería de Software es el proceso de desarrollo que seguimos para construir un
sistema informático y posteriormente mantenerlo, ajustándonos siempre a diferentes
factores: recursos, coste, duración, calidad, etc. Es importante porque:
1. Los individuos y la sociedad se apoyan cada vez más en sistemas de software
avanzados.
2. A menudo resulta más barato a largo plazo usar métodos y técnicas de ingeniería
de software.
➢ Actividades Fundamentales
❖ Especificación
❖ Desarrollo
❖ Validación
❖ Evolución del software
Atributos del Buen Software
❖ Mantenibilidad
❖ Confiabilidad
❖ Eficiencia
❖ Usabilidad
Ética en la Ingeniería de Software
Los ingenieros de software deben adherirse a ocho principios éticos, incluyendo:
1. Actuar de acuerdo con el interés público.
2. Actuar de manera que se alinee con los mejores intereses de su cliente y el interés
público.
3. Mantener sus habilidades y conocimientos al día.
Proceso de Desarrollo de Software
Es una serie de actividades que conduce a la elaboración de un producto de software,
incluyendo:
1. Especificación del software
2. Diseño e implementación
3. Validación
4. Evolución
Modelos de Proceso
1. Modelo en Cascada (Waterfall)
✓ Primer modelo empleado (Royce, 1970)
✓ Ejecución secuencial de fases
2. Desarrollo Incremental
✓ El sistema se desarrolla en versiones
✓ Cada versión añade funcionalidad
Metodologías Ágiles
Nacieron para entregar productos de calidad en el menor tiempo y costo posible.
Principales Metodologías
1. Extreme Programming (XP)
✓ Enfoque orientado a objetos
✓ Optimiza y agiliza la programación en parejas
2. SCRUM
✓ Marco de trabajo para resolver problemas complejos
✓ Roles: Product Owner, Scrum Master, Development Team
✓ Hitos: Sprint Planning, Daily Meeting, Sprint Review, Sprint Retrospective
3. KANBAN
✓ Útil para controlar el avance de trabajo
✓ Simplifica la planificación y asignación de responsabilidades
Requerimientos de Software
Son descripciones de lo que el sistema debe hacer, incluyendo servicios y restricciones.
Tipos de Requerimientos
1. Requerimientos del Usuario
• En lenguaje natural y diagramas
2. Requerimientos del Sistema
• Descripciones detalladas de funciones y restricciones
3. Requerimientos Funcionales
• Servicios que el sistema debe proveer
4. Requerimientos No Funcionales
• No se relacionan directamente con los servicios
• Tipos: del producto, de la organización, externos
Unidad 2: Arquitectura de Software
Definición y Objetivos
La arquitectura del software es la estructura o estructuras del sistema, que comprende
componentes, propiedades externas visibles y relaciones entre ellos.
Decisiones en el Diseño Arquitectónico
El diseño arquitectónico es un proceso creativo en el que se diseña una organización del
sistema que cubrirá los requerimientos funcionales y no funcionales.
Vistas Arquitectónicas
1. Vista Lógica: Indica abstracciones clave en el sistema.
2. Vista de Proceso: Muestra la composición de procesos en interacción.
3. Vista de Desarrollo: Muestra la descomposición del software.
4. Vista Física: Expone el hardware del sistema.
5. Vista de Escenarios: Representada por los casos de uso.
Patrones Arquitectónicos
1. Model-View-Controller (MVC)
• Separa presentación e interacción de los datos del sistema.
• Componentes: Modelo, Vista, Controlador.
2. Modelo En Capas
• Organiza el sistema en capas con funcionalidad relacionada.
• Capas comunes: presentación, lógica de negocio, acceso a datos.
3. Cliente-Servidor
• La funcionalidad se organiza en servicios.
• Ventajas: servidores distribuibles, más baratos a largo plazo.
4. Arquitectura Monolítica vs Microservicios
• Monolítica: mejor para requisitos simples y tráfico limitado.
• Microservicios: mejor para casos complejos y tráfico creciente.
Pruebas y Mantenimiento de Software
1. Proceso de Pruebas
• Demostrar cumplimiento de requerimientos
• Encontrar situaciones indeseables
2. Etapas de Pruebas
• Pruebas de desarrollo
• Versiones de prueba
• Pruebas de usuario
3. Mantenimiento del Software
• Tipos: reparaciones, adaptación ambiental, adición de funcionalidad
Confiabilidad y Seguridad
1. Razones de Importancia
• Las fallas afectan a muchos individuos
• Los costos por fallas son enormes
2. Propiedades de Confiabilidad
• Disponibilidad
• Fiabilidad
• Protección
• Seguridad
3. Seguridad
• Refleja la habilidad para protegerse de ataques externos
• Tipos de amenazas: confidencialidad, integridad, disponibilidad
Mapas Conceptuales
Unidad 1
Introducción a la Ingeniería de Software
Proceso de desarrollo y
mantenimiento de sistemas
informáticos considerando
recursos, coste, duración,
calidad.
Ética y Estándares de
Actividades Fundamentales de Procesos de Desarrollo de Metodologías de Desarrollo Requerimientos en la
Comportamiento para
la Ingeniería de Software Software Ágil Ingeniería de Software
Ingenieros de Software
Unidad 2
Arquitectura de
Software
Pruebas y
Diseño Confiabilidad y
Mantenimiento
Arquitectónico Seguridad
de Software
INFOGRAFIA
UNIDAD 1
UNIDAD 2
ENLACES DE TAREA: Tarea