Instrucciones (programas de
cómputo) que cuando se ejecutan
proporcionan las características,
función y desempeño buscados;
Características
Se desarrolla o modifica con intelecto; no se manufactura en el sentido clásico.
No se “desgasta”
La mayor parte del software se construye para un uso individualizado.
Clasificación
De Sistemas
Aplicación
De ingeniería y ciencias
Incrustado
De líneas de producto
Aplicaciones web
De inteligencia artificial
Modelos de Calidad
ISO 25010
De Boehm
Proceso del
desarrollo de
Software
Un marco de trabajo de las
tareas que se requieren
para construir software de
alta calidad
Proceso
Genérico
Comunicación
Ingeniería
de requisitos
Requisito
Una condición o capacidad que un usuario necesita
para resolver un problema o lograr un objetivo.
Definición
Un proceso sistemático de desarrollo de requerimientos, a través de un proceso iterativo,
cooperativo de analizar del problema, documentar las observaciones resultantes en una
variedad de representaciones y comprobar la exactitud de la comprensión obtenida
Tipos
Requisitos Funcionales
Determinan lo que el sistema puede o no hacer
Requisitos no Funcionales
se aplican al sistema en sus totalidad
(Seguridad, mantenibilidad, etc.)
Objetivos
Conocer los requisitos relevantes
Lograr un acuerdo entre los stakeholders sobre los requisitos del sistema.
Documentar los requisitos y gestionar los mismo de manera sistemática
Proceso
Es un proceso iterativo e incremental, mediante el
cual se logran identificar, documentar y gestionar
los requisitos del producto software que se requiere
Planificación
Diseño
Implementación
Despliegue
Modelos
Cascada
Incremental
Evolutivo
Prototipos
Espiral
Concurrentes
Calidad
PSP
TSP
CMMI
Proceso Unificado
Metodologías
de desarrollo
Clasificación
Estructuradas
Orientadas a Procesos
Orientadas a Datos
Mixtas
Orientadas a Objetos
Ortodoxas
OMT
Método de Booch
OOSE
PU
Ágiles
XP
Scrum
AUP
Conjunto de técnicas y procedimientos
organizados en fases para el desarrollo
de productos software, de manera eficaz,
y abarca el ciclo de vida del mismo.
Es la aplicación de un enfoque sistemático,
disciplinado y cuantificable al desarrollo,
operación y mantenimiento de software; es
decir, la aplicación de la ingeniería al software