Está en la página 1de 48

Proceso de Software Carrera de Software

Unidad 1
PROCESO DE SOFTWARE

Mgs. Francisco Alvarez 28/11/2021 1


Proceso de Software Carrera de Software

Objetivo general de la Unidad 1

Caracterizar los fundamentos del proceso de desarrollo de


software mediante su contextualización en la ingeniería de
software para planificar el desarrollo de software de
manera metodológica.

Mgs. Francisco Alvarez 28/11/2021 2


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición del proceso de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 3


Proceso de Software Carrera de Software

Ingeniería de SW según PRESSMAN


Herramientas

Métodos

Modelo de proceso
Enfoque de calidad

• Es una tecnología multicapa que contempla:


– Herramientas: Proporcionan un enfoque automático para el
proceso y para los métodos.
– Métodos: Indican “COMO” construir técnicamente el software,
incluyen actividades de modelado y otras técnicas
descriptivas.
– Proceso: Marco de trabajo aplicable a un conjunto de áreas
clave del proceso para entregar software de calidad.
– Basado en un enfoque de calidad

Mgs. Francisco Alvarez 28/11/2021 4


Proceso de Software Carrera de Software

Elementos de la Metodología
En un proyecto de desarrollo de software
la metodología define Quién debe hacer
Qué, Cuándo y Cómo debe hacerlo

Actividades

Personas Herramientas

Proceso
SW

Artefactos Notación
Roles

Mgs. Francisco Alvarez 28/11/2021 5


Proceso de Software Carrera de Software

Artefacto

 Un artefacto es una pieza de información


que:
 (1) es producida, modificada o usada por el
proceso,
 (2) define un área de responsabilidad para un
rol y
 (3) está sujeta a control de versiones.
 Un artefacto puede ser un modelo, un
elemento de modelo o un documento.

Mgs. Francisco Alvarez 28/11/2021 6


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición del proceso de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 7


Proceso de Software Carrera de Software

¿Que queremos decir con proceso de software?

Deseos, Software
necesidades,
Especificaciones,

Mgs. Francisco Alvarez 28/11/2021 8


Proceso de Software Carrera de Software

¿Qué es el proceso del software?


• Proceso seguido por una organización para el
desarrollo del software
• Este proceso incluye todas las fases del ciclo de
vida clásico
• Este proceso se define de manera general para
todas las aplicaciones de una organización
• Igualmente se definen tareas especificas a cada
aplicación en particular
• No existe un proceso de software universal. Las
características de cada proyecto (equipo de
desarrollo, recursos, etc.) exigen que el proceso
sea configurable

Mgs. Francisco Alvarez 28/11/2021 9


Proceso de Software Carrera de Software

Definición del proceso de software


• Proceso: colección de actividades de trabajo, acciones y
tareas que se realizan cuando va a crearse algún producto
terminado.
– Cada una de las actividades, acciones y tareas se encuentra
dentro de una estructura o modelo que define su relación tanto
con el proceso como entre sí.
• Propósito del proceso de desarrollo de Software
– La producción eficaz y eficiente de un producto software que
reúna los requisitos del cliente.
– Este proceso es intensamente intelectual, afectado por la
creatividad y juicio de las personas involucradas.

Requisitos nuevos Sistema nuevo


o modificados o modificado
Proceso de Desarrollo
de Software

Mgs. Francisco Alvarez 28/11/2021 10


Proceso de Software Carrera de Software

Características de un proceso de
desarrollo de software

• Proporciona pautas para el


desarrollo eficiente de
software de calidad.
• Reduce el riesgo y aumenta la
previsibilidad
• Promueve una visión y una
cultura comunes
• Presenta las mejores
prácticas actuales

Mgs. Francisco Alvarez 28/11/2021 11


Proceso de Software Carrera de Software

¿Qué es un proceso de desarrollo de software?


Define
• Quién va a hacer qué
• Cuándo hacerlo, y
• Cómo alcanzar un objetivo determinado
Requisitos nuevos o modificados

Proceso de desarrollo de software

Sistema nuevo o modificado

Mgs. Francisco Alvarez 28/11/2021 12


Proceso de Software Carrera de Software

Elementos del proceso de desarrollo


 Quién: Las Personas participantes que
desempeñan uno o más Roles específicos.
 Qué: Un Artefacto es producido por un Rol en una
de sus Actividades. Estos se especifican utilizando
Notaciones específicas. Las Herramientas apoyan
la elaboración de los Artefactos.
 Cómo y Cuándo: Las Actividades son una serie
de pasos que lleva a cabo un Rol durante el
proceso de desarrollo. El avance del proyecto está
controlado mediante hitos que establecen un
determinado estado de terminación de ciertos
Artefactos.

Mgs. Francisco Alvarez 28/11/2021 13


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición del proceso de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 14


Proceso de Software Carrera de Software

El proceso del software

Marco de trabajo común

Actividades de protección

Conjunto de tareas

Tareas

Hitos, entregas

Puntos SQA

Mgs. Francisco Alvarez 28/11/2021 15


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición del proceso de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 16


Proceso de Software Carrera de Software

El proceso del software


• Marco de Trabajo Común
– Es el entorno para la definición de un grupo de actividades
aplicables a todos los proyectos de software independientemente
de su tamaño y complejidad.
• Actividades de Protección
– Van enfocadas a garantizar la calidad del software.
– Se aplican durante todo el proceso y son independientes del marco
de trabajo y de las tareas que lo constituyen.
• Conjunto de Tareas
– Se refiere a actividades de la Ingeniería de Software que hacen que
el marco de trabajo se adapte a las características particulares de
cada proyecto de software.
– En este conjunto se definen tareas, hitos que son señales que se
colocan en un momento específico del proceso y que coinciden con
la entrega de un resultado concreto y los puntos SQA (Software
Quality Assurance o Aseguramiento de la Calidad del Software).

Mgs. Francisco Alvarez 28/11/2021 17


Proceso de Software Carrera de Software

Marco de Trabajo Común


 Marco de Trabajo Común  Se define un Framework
del proceso. del proceso con un
 Actividades del Marco de conjunto de actividades
Trabajo. aplicables a todos los
 Conuntos de Tareas. proyectos de SW.
 Tareas.  El conjunto de tareas
 Hitos, Entregas. permiten que las
 Puntos de actividades se adapten a
aseguramiento de las características del
la calidad SQA. proyecto y los requisitos
 Actividades de del equipo.
protección.
 Las actividades de
 Garantía de calidad,
gestión de
protección aparecen
configuración y durante todo el proceso.
medición.

Mgs. Francisco Alvarez 28/11/2021 18


Proceso de Software Carrera de Software

Mgs. Francisco Alvarez 28/11/2021 19


Proceso de Software Carrera de Software

Actividades de Protección
(actividades sombrilla-Pressman)
 Se aplican a lo largo de un proyecto de software y ayudan al
equipo que lo lleva a cabo a administrar y controlar el avance,
la calidad, el cambio y el riesgo.
 Es común que las actividades sombrilla sean las siguientes:
 Seguimiento y control del proyecto de software: permite que
el equipo de software evalúe el progreso comparándolo con el plan
del proyecto y tome cualquier acción necesaria para apegarse a la
programación de actividades.
 Administración del riesgo: evalúa los riesgos que puedan
afectar el resultado del proyecto o la calidad del producto.
 Aseguramiento de la calidad del software: define y ejecuta
las actividades requeridas para garantizar la calidad del software.
 Revisiones técnicas: evalúa los productos del trabajo de la
ingeniería de software a fin de descubrir y eliminar errores antes
de que se propaguen a la siguiente actividad.

Mgs. Francisco Alvarez 28/11/2021 20


Proceso de Software Carrera de Software

Actividades de Protección
(actividades sombrilla-Pressman)
 Medición: define y reúne mediciones del proceso, proyecto y
producto para ayudar al equipo a entregar el software que
satisfaga las necesidades de los participantes; puede usarse junto
con todas las demás actividades estructurales y sombrilla.
 Administración de la configuración del software: administra
los efectos del cambio a lo largo del proceso del software.
 Administración de la reutilización: define criterios para volver
a usar el producto del trabajo (incluso los componentes del
software) y establece mecanismos para obtener componentes
reutilizables.
 Preparación y producción del producto del trabajo: agrupa
las actividades requeridas para crear productos del trabajo, tales
como modelos, documentos, registros, formatos y listas.

Mgs. Francisco Alvarez 28/11/2021 21


Proceso de Software Carrera de Software

Conjunto de tareas
• Un conjunto de tareas define el trabajo real por efectuar a fin
de cumplir los objetivos de una acción de ingeniería de
software.
• Para un proyecto pequeño y relativamente sencillo, el
conjunto de tareas para la indagación de requerimientos
(IDR) tendrá un aspecto parecido al siguiente:
1. Elaborar la lista de participantes del proyecto.
2. Invitar a todos los participantes a una reunión informal.
3. Pedir a cada participante que haga una relación de las
características y funciones que requiere.
4. Analizar los requerimientos y construir la lista definitiva.
5. Ordenar los requerimientos según su prioridad.
6. Identificar las áreas de incertidumbre.

Mgs. Francisco Alvarez 28/11/2021 22


Proceso de Software Carrera de Software

Conjunto de tareas
• Para un proyecto de software más grande y complejo se requerirá de
un conjunto de tareas diferente que quizá esté constituido por las
siguientes tareas de trabajo:
1. Hacer la lista de participantes del proyecto.
2. Entrevistar a cada participante por separado a fin de determinar los deseos y
necesidades generales.
3. Formar la lista preliminar de las funciones y características con base en las
aportaciones del participante.
4. Programar una serie de reuniones para facilitar la elaboración de las
especificaciones de la aplicación.
5. Celebrar las reuniones.
6. Producir en cada reunión escenarios informales de usuario.
7. Afinar los escenarios del usuario con base en la retroalimentación de los
participantes.
8. Formar una lista revisada de los requerimientos de los participantes.
9. Usar técnicas de despliegue de la función de calidad para asignar prioridades a
los requerimientos.
10. Agrupar los requerimientos de modo que puedan entregarse en forma paulatina
y creciente.
11. Resaltar las limitantes y restricciones que se introducirán al sistema.
12. Analizar métodos para validar el sistema.

Mgs. Francisco Alvarez 28/11/2021 23


Proceso de Software Carrera de Software

Conjunto de tareas
• Los dos conjuntos de tareas mencionados
sirven para “recabar los requerimientos”, pero
son muy distintos en profundidad y formalidad.
• El equipo de software elige el conjunto de tareas
que le permita alcanzar la meta de cada acción
con calidad y agilidad.

Mgs. Francisco Alvarez 28/11/2021 24


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición del proceso de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 25


Proceso de Software Carrera de Software

Ciclo de vida de un proyecto de Software


Se inician los preparativos y la recepción de
la solución, se capacita al personal, se
efectúan pruebas piloto y pruebas de
aceptación

Fase
final
Gestión y Fase
recursos inicial
Fase
implementación tiempo

Inicio Terminación

En la fase inicial se efectúa la identificación


La producción del sistema da inicio, se
de necesidades, problema u oportunidad.
concluyen las instalaciones y se estabiliza el
Requiere de documentar y armar un
sistema. Se desarrollan las actividades
preproyecto. Se efectúan los análisis de
rutinarias de operación y mantenimiento
soluciones y se desarrolla un requerimiento
de cotización.

Se efectúan los análisis de propuestas,


diseño detallado, las negociaciones
convenientes y se da la contratación

Mgs. Francisco Alvarez 28/11/2021 26


Proceso de Software Carrera de Software

Fases de un proyecto de tecnología Plena


disponibilidad
Puesta a punto
de operación
Planeación y diseño
100 %
• Plan de actividades
• Costo y programa de
implementación
• Términos contractuales
y condiciones
Porcentaje de avance

• Planeación detallada

Contratación

Aprobación

Preproyecto
Cierre

Implementación
Factibilidad • Preparación Producción
• Formulación de proyecto
• Entrega • Afinación
• Estudio de factibilidad
• Instalación • Mantenimiento
• Diseño de estrategia
• Pruebas
• Protocolo de aprobación

Mgs. Francisco Alvarez 28/11/2021 27


Proceso de Software Carrera de Software

Actividades Fundamentales
(Pressman)
 Existe un conjunto de actividades fundamentales
(disciplinas) que se encuentran presentes en todos los
procesos de desarrollo de software:
 Comunicación: Se busca entender los objetivos de los
participantes respecto del proyecto, y reunir los
requerimientos que ayuden a definir las características y
funciones del software.
 Planeación: define el trabajo de ingeniería de software al
describir las tareas técnicas por realizar, los riesgos
probables, los recursos que se requieren, los productos del
trabajo que se obtendrán y una programación de las
actividades
 Modelado: se crea un “bosquejo” a fin de entender mejor
los requerimientos del software y el diseño que los
satisfará.

Mgs. Francisco Alvarez 28/11/2021 28


Proceso de Software Carrera de Software

Actividades Fundamentales
(Pressman)
 Construcción: se combina la generación de código (ya
sea manual o automatizada) y las pruebas que se
requieren para descubrir errores en éste.
 Despliegue: el software se entrega al consumidor que
lo evalúa y que le da retroalimentación, misma que se
basa en dicha evaluación
 Para muchos proyectos de software, las actividades
estructurales se aplican en forma iterativa a medida
que avanza el proyecto.
 Las actividades estructurales del proceso de ingeniería
de software son complementadas por cierto número
de actividades de protección.

Mgs. Francisco Alvarez 28/11/2021 29


Proceso de Software Carrera de Software

Actividades Fundamentales
(Sommerville)
 Existe un conjunto de disciplinas que se
encuentran presentes en todos los procesos de
desarrollo:
 Especificación de software: Se define la funcionalidad
y restricciones operacionales que debe cumplir el
software.
 Diseño e Implementación: Se diseña y construye el
software de acuerdo a la especificación.
 Validación: El software debe validarse, para asegurar
que cumpla con lo que quiere el cliente.
 Evolución: El software debe evolucionar, para
adaptarse a las necesidades del cliente.

Mgs. Francisco Alvarez 28/11/2021 30


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición de procesos de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 31


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición de procesos de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 32


Proceso de Software Carrera de Software

Software de sistemas
• Programas escritos para servir a otros programas
– Compiladores, Sistemas Operativos (SOs), etc.
• Características:
– Fuerte interacción con el hardware de computadora
– Múltiples usuarios
– Operación concurrente
– Compartición de recursos
– Estructuras de datos complejas

Mgs. Francisco Alvarez 28/11/2021 33


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición de procesos de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 34


Proceso de Software Carrera de Software

Software de Tiempo Real


• Mide, analiza y controla sucesos del mundo real
conforme ocurren
– Control de aviones, procesos de fabricación, etc.
– Sistemas de tiempo real estricto (hard real time) o no (soft
real time)
• Componentes:
– Adquisición de datos. Recolecta y da formato a la
información recibida del entorno externo
– Análisis. Transforma la información según lo requiere la
aplicación
– Control/salida. Responde al entorno externo
– Monitorización. Coordina a los demás componentes para
obtener una respuesta en tiempo real (de 1 milisegundo a
1 minuto)

Mgs. Francisco Alvarez 28/11/2021 35


Proceso de Software Carrera de Software

Software empotrado
(embedded systems)
• Controla productos y sistemas de
mercados industriales y de consumo
– Control de fábricas, etc.
– Reside en ROM
• Relacionado con el tiempo real

Mgs. Francisco Alvarez 28/11/2021 36


Proceso de Software Carrera de Software

Domótico.
• Software que se utiliza
para controlar el
hábitat del ser
humano, a pequeña
escala.
• Va desde las alarmas
hasta el control de
temperaturas de un
hogar.

Mgs. Francisco Alvarez 28/11/2021 37


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición de procesos de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 38


Proceso de Software Carrera de Software

Software de Gestión
• Proceso de información
comercial, accediendo a
Bases de datos que
contienen dicha información
– Gestión de nóminas, control
de almacén, etc.
• Se trata del software que da
soporte a los procesos
comerciales y manejo de
información que tienen por
objetivo permitir a las
gestiones una mejor
gestión.

Mgs. Francisco Alvarez 28/11/2021 39


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición de procesos de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 40


Proceso de Software Carrera de Software

Software de Ingeniería y científico


• Da soporte a los procesos
creativos y de diseño de las
personas, se caracteriza por
cálculos matemáticos
complejos.
– Ejemplo de ello son las
herramientas CAD o el soporte
a seguimiento de
acontecimientos en el espacio
(Telescopios, etc.)
• Algoritmos numéricos aA, bA a+bA
– Programas CAD, predicción
meteorológica, etc.

Mgs. Francisco Alvarez 28/11/2021 41


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición de procesos de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 42


Proceso de Software Carrera de Software

Software basado en web

• Muy diferentes de las otras categorías de software


informático.
– implican una mezcla de publicación impresa y desarrollo
de software, de marketing e informática, de
comunicaciones internas y relaciones externas, y de arte y
tecnología
• Se puede ubicar en una Intranet (implementando la
comunicación a través de redes de una organización)
o una Extranet (comunicación entre redes).

Mgs. Francisco Alvarez 28/11/2021 43


Proceso de Software Carrera de Software

Software basado en web: Características


• Controlada por el contenido.
– En muchos casos, su función primaria es utilizar hipermedia para presentar
al usuario el contenido de textos, gráficos, sonido y vídeo.
• Evolución continúa.
– A diferencia del software de aplicaciones convencional, que evoluciona con
una serie de versiones planificadas y cronológicamente espaciadas, las
aplicaciones Web están en constante evolución.
– No es inusual que algunas WebApps (específicamente, su contenido) se
actualicen cada hora.
• Inmediatez.
– Las aplicaciones basadas en Web tienen una inmediatez que no se
encuentra en otros tipos de software. Es decir, el tiempo que se tarda en
comercializar un sitio Web completo puede ser cuestión de días o semanas.
– Los desarrolladores deberán utilizar los métodos de planificación, análisis,
diseño, implementación y comprobación que se hayan adaptado a
planificaciones apretadas en tiempo para el desarrollo de WebApps.

Mgs. Francisco Alvarez 28/11/2021 44


Proceso de Software Carrera de Software

Software basado en web: Características


• Seguridad.
– Dado que las WebApps están disponibles a través del acceso por red,
es difícil, si no imposible, limitar la población de usuarios finales que
pueden acceder a la aplicación.
– Con objeto de proteger el contenido confidencial y de proporcionar
formas seguras de transmisión de datos, deberán implementarse
fuertes medidas de seguridad en toda la infraestructura que apoya una
WebApp y dentro de la misma aplicación.
• Estética.
– Una parte innegable del atractivo de una WebApp es su apariencia e
interacción.
– Cuando se ha diseñado una aplicación con el fin de comercializarse o
vender productos o ideas, la estética puede tener mucho que ver con el
éxito del diseño técnico.

Mgs. Francisco Alvarez 28/11/2021 45


Proceso de Software Carrera de Software

Contenido
• Introducción al proceso de software
– Definición de procesos de software.
– Componentes del proceso.
– Funciones de los componentes.
– Disciplina del proceso.
• Tipos de desarrollo
– Software de Sistemas.
– Software de Tiempo Real.
– Software de Gestión.
– Software de Ingeniería y científico.
– Software basado en web.
– Software de inteligencia artificial.

Mgs. Francisco Alvarez 28/11/2021 46


Proceso de Software Carrera de Software

Software de inteligencia artificial


• Algoritmos no numéricos
para resolver problemas
complejos para los que
no son adecuados el
cálculo o análisis directo
– Sistemas expertos
– Reconocimiento de
patrones (voz,
imágenes, etc.)
– Agentes software

Mgs. Francisco Alvarez 28/11/2021 47


Proceso de Software Carrera de Software

Unidad 1
PROCESO DE SOFTWARE

Final de la unidad

Mgs. Francisco Alvarez 28/11/2021 48

También podría gustarte