Está en la página 1de 39

INTRODUCCIÓN A LA

INGENIERÍA DE SOFTWARE

Ing. Lourdes Roxana Díaz Amaya


INGENIERÍA DE
SOFTWARE
Definición de Ingeniería de Software

La Ingeniería del Software se podría definir como el establecimiento


y aplicación de principios de la Ingeniería para obtener software.
Teniendo en cuenta factores tan importantes como el costo
económico, la fiabilidad del sistema y un funcionamiento eficiente
que satisfaga las necesidades del usuario.
Definición de Ingeniería de Software

La Ingeniería de Software es un proceso multicapa, formado


por un proceso, métodos, herramientas apoyadas por u
enfoque de calidad.

Herramientas

Métodos

Proceso
Un Enfoque de Calidad
Capas de la Ingeniería de Software

Define un marco de Trabajo para el


desarrollo de Software en sus áreas
Proceso
claves., que van a formar la base
del control de proyectos del
software.

Indica como construir teóricamente


Métodos
el software, Incluyen análisis de
requisitos, análisis, diseño,
construcción de programas,
pruebas y mantenimiento.
Capas de la Ingeniería de Software

Es el software que se utiliza para


desarrollar e integrar los métodos
Herramientas y el proceso. Actualmente existen
los CASE (Software asistida por
computadora).

Un Enfoque de Calidad
Es la correcta aplicación de los
métodos y técnicas, se establecen
hitos que aseguren la calidad y el
cambio se gestiona
adecuadamente.
El Proceso del Software

Un conjunto coherente de
políticas, estructuras organizacionales, tecnologías,
procedimientos y artefactos que son
necesarios para concebir, desarrollar,
instalar y mantener un producto software
Elementos del Proceso de Software
El Proceso del Software

Es un marco de desarrollo, donde se definen un numero determinado


de actividades, que son aplicables a todos los proyectos de software,
con independencia de su tamaño y complejidad

Marco de Trabajo
Actividades del Marco común
Conjunto de Tareas
Hitos
Entregas
PROCESO DE INGENIERIA DE
SOFTWARE
PROCESO DE INGENIERIA DE
SOFTWARE
El proceso de ingeniería de software se define como "un conjunto de etapas
parcialmente ordenadas con la intención de logra un objetivo, en este caso, la
obtención de un producto de software de calidad".

El proceso de desarrollo de software "es aquel en que las necesidades del


usuario son traducidas en requerimientos de software, estos requerimientos
transformados en diseño y el diseño implementado en código, el código es
probado, documentado y certificado para su uso operativo". Concretamente
"define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un cierto
objetivo".
Proceso de Desarrollo de Software
PROCESO DE DESARROLLO DE SOFTWARE
- Proceso y Ciclo de Vida
- Modelos de Desarrollo

IINGENIERIA DE SOFTWARE
- Ingeniería de Requerimientos
- Modelado de Análisis
- Ingeniería de Diseño
- Diseño de Arquitecturas
- Estrategias y técnicas de pruebas
- Ingeniería de Software Basada en Componentes
-
Métricas
- Estimación ADMINISTRACION
- Planificación DE PROYECTOS
- Administración de Riesgos
- Administración de la calidad
- Administración del cambio
GESTION DE PROYECTOS DE
SOFTWARE
Es una actividad muy necesaria, cuando se construyen productos y sistemas para ser
utilizados por la computadora
Implica la planificación, supervisión, y control de personal del proceso y de los eventos que
ocurren mientras evoluciona el software, desde la fase preliminar, implementación al hasta
la implantación.

Comprende las cuatro P’s


1. Personal
2. Producto
3. Proceso
4. Proyecto
GESTION DE PROYECTOS DE
SOFTWARE
Personal Organizarse en equipos eficaces, motivados
para realizar un software de calidad y
coordinados para alcanzar una comunicación
efectiva.

Proceso

El Proceso debe de adaptarse al personal y al


problema, Se selecciona una estructura
común de proceso
Producto

Debe definirse los objetivos y


requerimientos de producto.

Proyecto
El Proyecto debe planificarse,
estimando el esfuerzo y el tiempo para
cumplir las tareas, estableciendo
puntos de control de calidad.
Planificación de Proyectos de Software

Para una correcta gestión de proyecto, necesita una buena planificación del proyecto.
La Planificación implica la estimación del trabajo, cuanto dinero, esfuerzo, recursos y tiempo
supondrá construir u sistema o producto especifico de software.
Es importante conocer el costo, tiempo que utilizará el proyecto antes de empezar el proyecto.
Planificación del Tiempo
Perspectiva histórica del Desarrollo de Software
Década 1950-60: Década 1990-00
▪ “Software como un añadido” ▪ Generalización POO
▪ Aplicaciones sencillas ▪ Programación visual
▪ Desarrollo artesanal, a medida ▪ Tecnología de componentes
▪ Lenguajes de bajo nivel ▪ Interoperabilidad (CORBA)
Década 1960-70: ▪ Nuevas plataformas (Java, .NET)
▪ Primeras aplicaciones complejas ▪ Análisis/Diseño OO -“Guerra de los métodos” UML 1997
▪ Década lenguajes y compilación ▪ Patrones
▪ “Crisis del software” ▪ Tecnología CASE (2ª generación)
▪ Popularización de Internet
Década 1970-80:
Década 2000-2020
▪ Programación estructurada ▪ Generalización comercio electrónico
▪ Modelo relacional
▪ Web 2.0
▪ Primeras etapas Ingeniería del Software
▪ Desarrollo web
▪ Primeros métodos estructurados
▪ Seguridad
▪ Modelado de datos
▪ Arquitecturas basadas en servicios (SOA)
Década 1980-90: ▪ Arquitecturas de Capas, MVC, etc.
▪ Programación OO ▪ Métodos ágiles XP, ICONIX, SCRUM, etc.
▪ 4GLs ▪ Desarrollo opensource
▪ Cliente /Servidor ▪ Desarrollo Movil
▪ Tecnología de SGBDs, Sos ▪ Software de AI,
▪ Métodos estructurados ▪Aplicaciones Web progresivas. (web+Movil)
▪ Tecnología CASE (1ª generación)
Situación actual de la Ingeniería de Software

✓ Se ha establecido UML (Lenguaje Unificado de Modelado) como una notación estándar de análisis y
diseño OO.
✓ Aparecen métodos ágiles como Extreme Programming.
✓ SWEBOK(Guide to theSoftware EngineeringBodyofKnowledge) (2001).
✓ Algunas universidades han comenzado a ofrecer un título en isw.
✓ Comités CSAB (ComputerScienceAccreditationBoard) y
✓ABET (AccreditationBoardforEngineeringandTechnology).
✓ CMMI (CapabilityMaturityModelIntegration) del SEI (Software Engineering Institute) y la familia de
estándares ISO 9000 son usados para valorar la capacidad de una organización de ISW.
✓ En EE UU, el Colegio de Ingenieros Profesionales de Texas (Texas BoardofProfessionalsEngineers) ha
comenzado a licenciar ingenieros del software.
✓ ACM e IEEE-CS han desarrollado y adoptado conjuntamente un Código de Ética para Profesionales en
Ingeniería del Software.
Tecnología de Desarrollo de Software

Proceso de Desarrollo Lenguaje de


Implementación
Tecnología

Notación
Gestor de BD

Herramienta Case
Ingeniería de Software
Es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener
software de calidad.
Tecnología Desarrollo
Proceso de Desarrollo Requerimientos
Notación Análisis y Diseño
Herramientas Case Implementación
Lenguaje de Desarrollo Pruebas
Arquitectura Implantación
Despliegue de Hardware y
comunicaciones

Ingeniería de
Software

Aseguramiento Gestión
de la calidad
Proyecto
CMMI Personal
Producto
Moprosoft
22
Cuando los stakeholder Cliente indican

✓ No cumple con los procedimientos del Negocio


✓ No cumple con los requerimientos
✓ No han cumplido con el desarrollo de todos los
requerimientos definidos
✓ El tiempo de desarrollo se ha extendido demasiado
✓ El uso del software es demasiado complicado
✓ Los costos de desarrollo implantación son excesivos.
✓ Confiabilidad cuestionable de los cálculos u resultados de
algunos procedimientos.
Que indican los stakeholder Desarrollador
✓ No se definió bien el problema ni se preciso el alcance (Magnitud del proyecto)
✓ Los procedimientos de la empresa no están estandarizados.
✓ La complejidad del software se incrementa
✓ Los analista no definieron bien los requerimientos
✓ Los usuarios, administrativos no tienen claro los requerimientos, cambian
continuamente
✓ Incremento del numero de usuarios de los sistemas de software
✓ Tipos de usuarios no homogéneos
✓ Los usuarios no asisten a la capacitación en el uso del sistema
✓ Los usuarios no tienen tiempo para verificar los resultados y pruebas del sistema.
✓ No se preciso los cambios en el entorno
✓ Todos los integrantes del equipo de desarrollo no están preparados para asumir este
proyecto.
Como, solucionar estos problemas?
• Definir bien el problema, la solución y precisar el alcance
• Establecer la viabilidad económica, social, ética del proyecto.
• Monitoreo constante al proyecto.
• Definir objetivos y gestionar riesgos de desarrollo de software
• Hacer un contrato que involucre tiempos, holguras, costos y penalidades.
• Mantenerse al corriente de cualquier cambio o problema procedimental
• Establecer una lenguaje común entre los integrantes del equipo
desarrollador
• Establecer medidas de contingencia coherentes sin bajar la calidad al
producto para los problemas que se presenten
APLICAR LA INGENIERÍA DE SOFTWARE
Tecnología de Desarrollo de Software

Proceso de Desarrollo
Tecnología Lenguaje de
Implementación
y Calidad

Notación
Herramienta Case Gestor de BD
Normas de calidad de software
Tecnología de gestión de Proyectos de Software
Industria del Software en el Perú

• Una de las industrias que tiene inmensas oportunidades es la del software, cuyo
mercado mundial asciende a los $ 1,500 billones.

• El Perú es un actor que tiene significativas ventajas para obtener parte del
consumo internacional, ya que cuenta con un activo en capital humano (30,000
programadores) y con la presencia de aproximadamente 300 empresas (90%
pequeñas y microempresas), que en su mayoría no superan una década de
funcionamiento.
Industria del Software en el Perú

Sector de las Tecnologías de Información cada vez cobra


mas importancia, por ser:
Industria del Software en el Perú

✓ Países latinoamericanos han tomado la iniciativa de apoyar sus


industrias informáticas, considerándolas “sector de interés nacional”
✓ En nuestro país, la industria del software tiene un expectante
potencial de crecimiento:
✓Da empleo directo e indirecto altamente calificado a más de 6000
peruanos.
✓ Pese a lo comentado, la industria informática dista aún de estar
consolidada. “La informalidad es un cáncer para nuestra actividad
porque disipa el esfuerzo de las empresas formales”, comenta Amau.
✓ Se reclama una política gubernamental para incentivar la
formalización del sector, que acelere el desarrollo de los centros
informáticos
Industria del Software en el Perú

Año Ventas Incremento Exportación


(millones de (millones de
dólares) dólares)
2008 160 - 16
2009 171 7.0 18
2010 182 6.4 19
2011 205 12.6 21
2012 240 17,0 25
2015 438 82,5 45
2016 50
2017 51
Industria del Software en el Perú

17

36
Las limitaciones del sector de TI

• Las principales limitaciones para el desarrollo del sector son:


• Carencia de fuentes de financiamiento para proyectos tecnológicos.
• Insuficiente infraestructura tecnológica (hardware y conexiones a costo
internacional)
• Presencia real y significativa de la piratería del software. Según BSA es
de 61%.

¡ Es necesario implementar políticas de fomento para el sector


tecnológico!
Planes de la industria del Software para los próximos 5 años

• Programa BID de apoyo a la industria de software: Sostenibilidad de la


Capacitación en CMMI (Capability Maturity Model Integration), de los Ingenieros de
Software, laboratorio de testeado, estudios, eventos, etc.
• Fomento a las exportaciones de software.
• Esquema descentralizado de capacitación especializada (provincias
componente importante)
• Centro de arbitraje tecnológico.
• Centro de incubación de empresas de base tecnológica.
• Certificación de competencias laborales IT-CARD.
Preguntas ?

También podría gustarte