You are on page 1of 42

ESCUELA PROFESIONAL DE

INGENIERIA DE SISTEMAS

INGENIERIA SOFTWARE
CONCEPTO BASICO
SESION 01
ING. IVAN PEREZ FARFAN
IPEREZF@UCVLIMA.EDU.PE
IVANPEREZF@HOTMAIL.COM

Trabajo para expoword: Automatizacion de


un proceso de la organizacion
Se debe de formar grupos de 4 alumnos:
Este trabajo debe ser desarrollado con la
metodologa RUP y se debe de entregar:
Trabajo impreso con todos los pasos de la
metodologa
Avances peridicos del sistema
El Mejor trabajo participara en expoword

Trabajo de Investigacin: Proyecto de investigacin


La lnea de Investigacin es Tecnologas de Informacin
El Trabajo es individual.
Presentacin a asesores que van a evaluar la parte temtica
y tecnolgica.
Al finalizar se va ha evaluar el proyecto con jurado.

PRUEBA DE ENTRADA

CONCEPTOS BASICOS

Ingeniera
Conjunto de conocimientos y tcnicas
cientficas

software
Elemento lgico del sistema

Problema
Conjunto de hechos o
circunstancias que dificultan la
consecucin de algn fin

Qu es Ingeniera de Software?
Es una disciplina o rea de la informtica
o ciencia de la computacin, que ofrece
conocimientos, tcnicas y mtodos para
desarrollar y mantener software de
calidad que resuelva problemas de todo
tipo.

Qu es Software de Calidad?
Software concordante con:
Los requisitos funcionales del cliente
Los
estndares
de
desarrollo
reconocidos en la industria de software
mundial.

Ingeniera de Software como


Tecnologa Estratificada
HERRAMIENTAS

MTODOS
PROCESO
UN ENFOQUE DE
CALIDAD

Herramientas y Mtodos
Las herramientas de la ingeniera del
software
proporcionan
un
enfoque
automtico o semi-automtico para el
proceso y para los mtodos.
Los mtodos de la ingeniera del software
indican cmo construir tcnicamente el
software.

Proceso de Software
Marco de trabajo de las tareas que se
requieren para construir software de alta
calidad.
Define el enfoque que se aplica cuando
el software es tratado por la ingeniera

Proceso de Software
Conjunto de etapas con la
intencin de lograr un objetivo:

Calidad en Ingeniera de
Software
Software son los programas de computador, los
procedimientos y documentacin asociada y los datos
relativos a la operacin del sistema informtico
IEEE Std.610 [IEEE, 1990]
Calidad de Software:
Grado con el que un sistema, componente o proceso
cumple:
Los requisitos especificados
Las necesidades o expectativas del cliente o usuario
(R.S.Pressman, 1993)

Calidad en Ingeniera de
Software - Terminologa
Gestin de la calidad de software (Software Quality
Management)
Aspecto de la funcin general de la gestin que
determina y aplica la poltica de calidad.
Aseguramiento de la Calidad de Software (Quality
Assurance):
Conjunto de actividades planificadas y sistemticas
necesarias para aportar la confianza en que el producto
va a satisfacer los requisitos dados de calidad.
Control de la Calidad del Software (Quality Control):
Tcnicas y actividades de carcter operativo, utilizadas
para satisfacer los requisitos relativos a la calidad,
centradas en mantener bajo control un proceso y
eliminar las causas de defectos en las diferentes fases
del ciclo de vida.

Calidad en Ingeniera de
Software - Terminologa
Verificacin y Validacin del Software:
Verificacin:
Conjunto de actividades para comprobar si un
producto software est tcnicamente bien construido,
si funciona.
Validacin:
Conjunto de actividades, para comprobar si el
software construido satisface los requerimientos del
usuario.
Evidentemente slo tiene objeto validar el
producto que ya est verificado

mbitos de la gestin de la
calidad
mbitos de actuacin:
Nivel de empresa / organizacin: consiste en la
creacin de una estructura organizativa apropiada
para fomentar el trabajo por la calidad de todas las
personas y departamentos de la empresa.
Nivel de proyecto: en cada proyecto de desarrollo
se deben aplicar las directrices de calidad fijadas a
nivel de la organizacin. Para ello es imprescindible
la adaptacin de las mismas a las condiciones de
cada proyecto.

mbitos de la Calidad y la relacin


entre ellos
Manual de Calidad

Documentacin del
Sistema de Calidad

Proyecto 1

Proyecto 2

Plan de Calidad
Adaptado

Plan de Calidad
del Proyecto

Proyecto 3
Plan de Calidad
Adaptado

Condiciones
especiales del
Proyecto

Normas y exigencias
del cliente

10

Sistemas de Calidad: Nivel de


Empresa
Por Sistema de Calidad se entiende:
La estructura de organizacin, de
responsabilidades, de actividades, de recursos
y de procedimientos que se establecen para
llevar a cabo la gestin de calidad.
(ISO 9000)
Caractersticas que debe tener un Sistema de
Calidad:
Ser eficaz y comprendido por todos.
Ofrecer confianza en satisfacer las
necesidades de los clientes.
Poner ms nfasis en prevenir que en
detectar y corregir.

Sistemas de Calidad: Nivel de


Empresa
Un Sistema de Calidad
consta de:
Documentacin:
Manual de calidad
Procedimientos de
calidad
Registros de datos
sobre calidad
Parte prctica:
Aspectos fsicos
Aspectos humanos

11

Sistemas de Calidad: Nivel de


Empresa - Dificultades en la
Implantacin

Alta dedicacin de tiempo y trabajo


Resistencia al Cambio
Desilusin inherente a un fracaso
Falta de recursos
Falta de Formacin y Educacin

Sin Calidad
Con Calidad

Sistemas de Calidad: Nivel de Empresa Recomendaciones para Implantacin

Asegurar el compromiso de la Alta Direccin


Involucrar a los mandos intermedios
Delegar en mandos intermedios la toma de decisiones
Formacin e Informacin Adecuada
Establecer mecanismos de seguimiento continuo
Utilizar casos reales
Pactar con los expertos, la metodologa, requisitos,
niveles y criterios de aceptacin
Documentacin exacta, veraz
Utilizar los registros de calidad

12

CLIENTE

Patrocina el desarrollo
del sistema

$$$,
necesidades
DESARROLLADOR
USUARIO

Obligacin
contractual

Usa el
sistema
Necesidades

Construye
el
sistema

Sistema de software

Diseo del Sistema


Diseo del programa

Analista
Diseador
Programador

Implementacin del
programa
Prueba Unitaria

Tester

Prueba de Integracin
Prueba del Sistema
Liberacin del Sistema

Capacitador

Roles de los Desarrolladores

Paso en el Desarrollo de Software

Anlisis y Definicin de
Requerimientos

Mantenimiento

13

Ing.Software y de Sistemas
El Software como componente de un sistema:
Hardware
Software
Personas

Sistema
Lmite
Interaccin con el exterior
Componentes y sus relaciones

Cambios y
Tendencias
Tecnologa de Objetos

Problemas con
Modelo en Cascada

CAMBIOS EN
INGENIERIA DE
Desktop computing
SOFTWARE

Inversin de relacin
de costo entre HW y SW

Interfaces
Grficas

Tiempo para
salir al mercado

Interconexin
en Redes

14

Cambios y
Tendencias
Nociones Fundamentales:
Abstraccin
Mtodos y Notaciones para Anlisis y Diseo
Prototipacin
Arquitectura del Software
Proceso de Software
Reuso
Mediciones
Herramientas y Ambientes Integrados

Abstraccin
es una decripcin del problema a cierto nivel de
generalizacin que permite concentrarnos en los
aspectos esenciales del problema sin
preocuparnos de detalles.
Identificar clases de objetos que permiten
agrupar elementos
Formar jerarquas

15

Mtodos de Notacin Anlisis y


Diseo
Construir Modelos y verificar completitud y
consistencia
Usar notacin estndar para ayudarnos a
comunicar y documentar las decisiones

Prototipos
Construir una pequea versin de un
sistema para
ayudar al usuario y al cliente a identificar los
requerimientos clave
demostrar la factibilidad de un diseo o
enfoque

El usuario se siente cmodo con la


apariencia y forma de interaccin?

16

Arquitectura
La arquitectura de un sistema lo describe
en trminos de un conjunto de unidades
arquitectnicas y de cmo esas unidades
se relacionan entre s
Existen distintos estilos arquitectnicos y
distintos enfoques para identificar las
unidades arquitectnicas

Proceso
Proceso de desarrollar software
(organizacin y disciplina en las
actividades)
contribuir a la calidad del software y a la
velocidad con la que se desarrolla

17

Desarrollo

Proceso- especificidad

Controlado
Aplicaciones para
toda la
empresa o divisin
Aplicaciones
Departamentales

Mono-usuario,
Desarrollo
Rpido

herramientas para
PC de escritorio

Mision -critica
Multi -usuario
Multi -plataforma
2- 3-capas

Visin/Alcance limitados
Riesgo bajo/medio
mono/ multi -plataforma
1-2-capas

Paquetes/desarrollo
minimo
Bajo costo/bajo
riesgo
plataforma nica

de aplicaciones

Reuso
Sacar partido de los elementos comunes
entre aplicaciones reutilizando elementos
de desarrollos previos
Componentes Reusables como bienes de
activo del negocio

18

Mediciones
Cuantificando dnde estamos y lo que
podemos, describimos nuestras acciones
y sus resultados en un lenguaje
matemtico comn que nos permite
evaluar nuestro progreso.

Herramientas y Ambientes
Integrados
Utilizar herramientas para mejorar el
desarrollo de software, ayudan en:
anlisis y diseo
registrar el avance
depurar programas
probar programas

19

Modelo de Proceso de
Software

Qu es un Modelo de Proceso de Software?


Es una estrategia de desarrollo que los
ingenieros de software deben emplear
para resolver problemas de la industria de
software

Modelos de Procesos de Software


La Ingeniera de Software es una disciplina
que integra al proceso, los mtodos y las
herramientas para el desarrollo de software de
computadora. Existe un gran numero de
modelos de proceso para la ingeniera de
software, todas definen
un conjunto de
actividades y tareas.

20

Modelos Prescriptivos del


Procesos de Software
Incremental
DRA

Modelos Incrementales
Construccin
de prototipos

Modelos Evolutivos

Espiral

Modelo Especializado

Desarrollo
Concurrente

El Proceso Unificado

Desarrollo Basado
en Componentes
Mtodos Formales
Software Orientado a Aspectos

Modelo

Comunicacin

Planeacin

Modelado

Construccin

Despliegue

Cascada

Entrega 1

Entrega 2

Plan Rpido

C
Comunicacin

Desarrollo

Modelado
Diseo Rpido
Construccin
del Prototipo

P
C

M
P

C
M

Ent.3

Ent N

MODELO S INCREMENTALES

MODELO DE
CONSTRUCCION
DE PROTOTIPOS

21

Ninguno
Planeacin

Bajo
Desarrollo
Comunicacin

En Espera
de Cambio

Modelado
Inicio

En
Revisin

En
Modificacin

Despliegue
Construccin

En Lnea

Modelo Espiral
Realizado

Modelo Concurrente

Sobre Metodologas
Es necesario establecer un
enfoque disciplinado y
sistemtico para desarrollar
un proyecto de software.

22

Definiciones de Metodologa
Conjunto de filosofas, fases,
procedimientos, reglas, tcnicas,
herramientas, documentacin y
aspectos de formacin para los
desarrolladores de sistemas de
informacin. - Maddison 1983

Las Metodologas nos


describen ...
Cmo se debe dividir un proyecto en
etapas.
Qu tareas se llevan a cabo en cada una
Qu salidas se producen y cundo
Qu restricciones se aplican
Qu herramientas se van a utilizar
Cmo se gestiona y controla un proyecto

23

Definiciones de Metodologa
Conjunto de procedimientos,
tcnicas, herramientas y un
soporte documental que ayuda a
los desarrolladores a realizar
nuevo software.

Necesidades principales
Mejores aplicaciones considerando
la mejor calidad (varios factores).
Un mejor proceso de desarrollo,
con mayor rapidez y con recursos
apropiados.
Un proceso estndar en la
organizacin.

24

Objetivos generales
Registrar los requisitos de un sistema de
informacin de forma acertada.
Proporcionar un mtodo sistemtico de
desarrollo que permita controlar el progreso.
Construir un sistema de informacin
considerando tiempo y costo apropiados.
Construir un sistema bien documentado y de
fcil mantenimiento.
Identificar cambios necesarios rpidamente.
Proporcionar un sistema que satisfaga a todos.

Definiciones
La descomposicin del proceso se
realiza hasta el nivel de tareas y
actividades elementales.
Para cada tarea se identifica un
procedimiento que define la forma
de ejecutarla y sirve de vehculo de
comunicacin.

25

Definiciones
Un procedimiento puede utilizar
una o ms tcnicas, grficas con
apoyos textuales formales, y
determinan el formato de los
productos resultantes de cada
tarea.

Definiciones
Para la realizacin de una tcnica,
podemos apoyarnos en las
herramientas , software que
automatizan su aplicacin.
Una metodologa puede seguir uno o
varios modelos de ciclos de vida.

26

Para cada tarea ...


Modelos
Metodologa

Procedimiento

Calidad

Herramienta
Tcnica

Historia del desarrollo de


metodologas
Desarrollo Convencional
Desarrollo Estructurado
Orientacin a Objetos

27

Desarrollo Convencional

En los primeros aos (50s).


Aplicaciones de tipo cientfico.
No existan metodologas de desarrollo.
Carencia de documentacin.

Se observaron en el proceso de desarrollo


de sistemas: analistas (funcionales y
tcnicos), programadores y operadores.

Problemas en el Desarrollo
Convencional
Los resultados finales eran
impredecibles.
No hay forma de controlar lo que esta
sucediendo en el proyecto.
Los cambios organizativos afectan
negativamente al proceso de
desarrollo.

28

Desarrollo Estructurado

En las dcadas 60s - 90s.


Modelado de funciones.
Anlisis y diseo estructurado
Enfoque Top-Down.

Se observaron problemas:
Especificaciones monolticas, redundantes,
ambiguas e imposibles de mantener.

Desarrollo Orientado al Objeto


A finales de los aos 80s.
Trata procesos y datos.
Lenguajes de simulacin y generacin de
prototipos.
Abstraccin, ocultacin de informacin y
modularidad.

29

Caractersticas deseables en una


metodologa
Existencia de reglas
predefinidas

Cobertura total del

ciclo de desarrollo

Verificaciones
intermedias

Planificacin y control

Comunicacin efectiva

Amplia utilizacin
Fcil formacin
Herramientas CASE
Actividades que
mejoren el desarrollo
Soporte mantenimiento
Soporte reutilizacin.

Clasificacin
Metodologas
Estructuradas

Orientadas al
Objeto

{
{

Orientada a
procesos
Orientada a
datos

Jerrquicos
No Jerrquicos

Puros
Evolutivos

Sistema de
Tiempo Real

30

El RATIONAL UNIFIED PROCESS


RUP

RUP

Requerimientos
de
Usuarios

Software

31

Fases
Flujos de Trabajo de Procesos

Inicio

Elaboracin

Construccin

Transicin

Modelacin de Negocios
Requerimientos
Anlisis y Diseo
Implementacin
Prueba
Implantacin
Flujos de Trabajo de Soporte

Admin. Configuracin
Admin. de Proyectos
Ambiente o Entorno
Iteracin(es)
Preliminar

Iter.
#1

Iter.
#2

Iter.
#n

Iter.
#n+1

Iter.
#n+2

Iter.
#m

Iter.
#m+1

Iteraciones

1. Fases de RUP
Inicio Define el alcance y objetivos del proyecto.
Elaboracin Plan del proyecto, Especificacin
de caractersticas y Arquitectura base.
Construccin Construye y opera el producto.
Transicin Transicin del producto a la
comunidad del usuario.
Metas
Principales

Inicio

Elaboracin

Construccin

Transicin

<-------------------------------------Tiempo------------------------------------->

32

Definicin de RUP
Es un proceso de ingeniera de software orientado
a objetos.
Consiste en un conjunto de actividades
necesarias para transformar los requerimientos
del usuario en el sistema de software.
Est especializado para diversos tipos
de
software de sistemas, diversas reas de
aplicacin, diferentes tipos de organizaciones y
diferentes tamaos de proyectos.

QU tareas hacer ?

Actividades
QUIN las hace?

Roles
CUNDO se hace ?

Workflow
QU generar ?

Artefactos

33

Captura varias de las mejores prcticas en el


desarrollo moderno de software que es aplicable
para un amplio rango de proyectos y
organizaciones.

RUP es una gua de cmo usar UML de la forma


ms efectiva.

COMPETENCIAS

MODELADO DE INFORMACION MEDIANTE EL


MANEJO DE NOTACIONES Y CONCEPTOS
UTILIZADOS EN LOS LENGUAJES DE
MODELAMIENTO PARA EL ANALISIS Y DISEO DE
SISTEMAS DE INFORMACION ORIENTADOS A
OBJETOS, DE ACUERDO A LAS NORMATIVAS DE
LAS HERRAMIENTAS EXISTENTES.

34

INGENIERIA DE SOFTWARE
PRINCIPIO

Unidad de un Sistema de Informacin

Entrada

Salida

PROCESO

INGENIERIA DE SOFTWARE
PROCESOS

Requerimientos De Usuarios

PROCESOS DE
INGENIERIA DE
SOFTWARE

Sistema o aplicacin

Un Proceso es el conjunto total de actividades de


ingenieria necesarias para transformar dentro de
un Software los requerimientos de los usuarios
Managing the Process, Humphrey 1989

35

INGENIERIA DE SOFTWARE
CICLO DE VIDA
Principales Hitos

Inicio

Elaboracin

Construccin

Transicin

LOS PROCESOS TIENE CUATRO FASES

TIME

Inicio o Incepcin: Definir el alcance del proyecto


Elaboracin: Planear el Proyecto, especificar caractersticas y
disear la arquitectura.
Construccin: Construir el Producto
Transicin: Desplegar a la comunidad de Usuarios

ADMINISTRACION DE
PROYECTOS

36

37

38

39

40

41

42

You might also like