semana01-metodologías
DESCRIPTION
metodologiasTRANSCRIPT
-
1ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS
INGENIERIA SOFTWARECONCEPTO BASICO
SESION 01ING. IVAN PEREZ FARFAN
-
2Trabajo para expoword: Automatizacion deun 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
-
3Trabajo 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
-
4CONCEPTOS BASICOS
-
5Ingeniera
Problema
Conjunto de conocimientos y tcnicas cientficas
Elemento lgico del sistemasoftware
Conjunto de hechos o circunstancias que dificultan la consecucin de algn fin
Qu es Ingeniera de Software?
Es una disciplina o rea de la informticao ciencia de la computacin, que ofrececonocimientos, tcnicas y mtodos paradesarrollar y mantener software decalidad que resuelva problemas de todotipo.
-
6Qu es Software de Calidad?
Software concordante con: Los requisitos funcionales del cliente Los estndares de desarrolloreconocidos en la industria de softwaremundial.
UN ENFOQUE DE UN ENFOQUE DE CALIDADCALIDAD
PROCESOPROCESOMTODOSMTODOS
HERRAMIENTASHERRAMIENTAS
Ingeniera de Software como Tecnologa Estratificada
-
7Las herramientas de la ingeniera delsoftware proporcionan un enfoqueautomtico o semi-automtico para elproceso y para los mtodos.Los mtodos de la ingeniera del softwareindican cmo construir tcnicamente elsoftware.
Herramientas y Mtodos
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
-
8Conjunto de etapas con la intencin de lograr un objetivo:
Proceso de Software
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)
-
9Calidad 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
-
10
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
Proyecto 1Proyecto 1
Plan de Calidad Plan de Calidad AdaptadoAdaptado
Proyecto 2Proyecto 2
Plan de Calidad Plan de Calidad del Proyectodel Proyecto
Proyecto 3Proyecto 3
Plan de Calidad Plan de Calidad AdaptadoAdaptado
Normas y exigenciasdel cliente
Condicionesespeciales delProyecto
Manual de CalidadDocumentacin delDocumentacin delSistema de CalidadSistema de Calidad
-
11
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
-
12
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
Con Calidad
Sin 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
-
13
CLIENTE Patrocina el desarrollo del sistema
USUARIO
Usa elsistema
DESARROLLADOR
Construyeel sistema
Obligacincontractual
$$$,necesidades
Sistema de software
Necesidades
Mantenimiento
Diseo del Sistema
Anlisis y Definicin de Requerimientos
Diseo del programa
Implementacin delprograma
Prueba Unitaria
Prueba de Integracin
Prueba del Sistema
Liberacin del Sistema
Paso
en
el
D
esar
rollo
de
So
ftwar
eR
oles d
e lo
s D
esarrollad
ores
Analista
Diseador
Programador
Tester
Capacitador
-
14
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
Tiempo parasalir al mercado
Inversin de relacin de costo entre HW y SW
Desktop computing
Interconexinen Redes
Tecnologa de Objetos Problemas conModelo en Cascada
InterfacesGrficas
CAMBIOS EN INGENIERIA DE
SOFTWARE
-
15
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
-
16
Construir Modelos y verificar completitud y consistencia
Usar notacin estndar para ayudarnos a comunicar y documentar las decisiones
Mtodos de Notacin Anlisis y Diseo
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?
-
17
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
-
18
Aplicaciones paratoda la
empresa o divisin
Aplicaciones
Departamentales
Mono-usuario, herramientas para
PC de escritorio
Desarrollo
Controlado
Desarrollo Rpido de aplicaciones
Mision -critica Multi -usuario Multi -plataforma 2- 3-capas
Visin/Alcance limitados Riesgo bajo/medio mono/ multi -plataforma 1-2-capas
Paquetes/desarrollominimo Bajo costo/bajoriesgo plataforma nica
Proceso- especificidad
Reuso Sacar partido de los elementos comunes
entre aplicaciones reutilizando elementos de desarrollos previos
Componentes Reusables como bienes de activo del negocio
-
19
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
-
20
Qu es un Modelo de Proceso de Software?
Es una estrategia de desarrollo que losingenieros de software deben emplearpara resolver problemas de la industria desoftware
Modelo de Proceso de Software
Modelos de Procesos de Software
La Ingeniera de Software es una disciplinaque integra al proceso, los mtodos y lasherramientas para el desarrollo de software decomputadora. Existe un gran numero demodelos de proceso para la ingeniera desoftware, todas definen un conjunto deactividades y tareas.
-
21
Modelos Prescriptivos del Procesos de Software
El Proceso Unificado
DRAModelos Incrementales
Incremental
Construccin de prototipos
EspiralModelos Evolutivos
DesarrolloConcurrente
Mtodos Formales
Desarrollo Basadoen Componentes
Software Orientado a Aspectos
Modelo Especializado
PC CM
PC CM
PC CM
PC CM D
Entrega 2
Entrega 1
Ent.3
Ent N
MODELO S INCREMENTALES
Modelado Diseo Rpido
DesarrolloConstruccin del Prototipo
MODELO DE CONSTRUCCION DE PROTOTIPOS
Comunicacin
Plan Rpido
Comunicacin Planeacin Modelado DespliegueModeloCascada
Construccin
D
D
D
-
22
Modelo Espiral
Inicio
Construccin
Planeacin
Modelado Comunicacin
Despliegue
Modelo Concurrente
Ninguno
Bajo Desarrollo
En Revisin
En Modificacin
En Espera de Cambio
En Lnea
Realizado
Es necesario establecer un enfoque disciplinado y
sistemtico para desarrollar un proyecto de software.
Sobre Metodologas
-
23
Conjunto de filosofas, fases, procedimientos, reglas, tcnicas, herramientas, documentacin y aspectos de formacin para los desarrolladores de sistemas de informacin. - Maddison 1983
Definiciones de Metodologa
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
-
24
Conjunto de procedimientos, tcnicas, herramientas y un
soporte documental que ayuda a los desarrolladores a realizar
nuevo software.
Definiciones de Metodologa
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.
-
25
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.
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.
Definiciones
-
26
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.
Definiciones
-
27
Para cada tarea ...
Herramienta
Tcnica
ProcedimientoMetodologa
Modelos
Calidad
Historia del desarrollo de metodologas
Desarrollo Convencional
Desarrollo Estructurado
Orientacin a Objetos
-
28
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.
-
29
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.
-
30
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
Orientada a
procesos
JerrquicosOrientada a
datos No Jerrquicos
Orientadas al
Objeto
Sistema de
Tiempo Real
Puros
Evolutivos
{{
{
-
31
El RATIONAL UNIFIED PROCESSRUP
RUP
Requerimientosde
Usuarios
Software
-
32
Admin. de ProyectosAmbiente o Entorno
Modelacin de Negocios
ImplementacinPrueba
Anlisis y Diseo
Iteracin(es)Preliminar
Iter.#1
FasesFlujos de Trabajo de Procesos
Iteraciones
Flujos de Trabajo de Soporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Implantacin
Admin. Configuracin
Requerimientos
Elaboracin TransicinInicio Construccin
Inicio Elaboracin Construccin Transicin
MetasPrincipales
1. Fases de RUP
Inicio Define el alcance y objetivos del proyecto. Elaboracin Plan del proyecto, Especificacinde caractersticas y Arquitectura base.
Construccin Construye y opera el producto. Transicin Transicin del producto a lacomunidad del usuario.
-
33
Definicin de RUP
Es un proceso de ingeniera de software orientadoa objetos.
Consiste en un conjunto de actividadesnecesarias para transformar los requerimientosdel usuario en el sistema de software.
Est especializado para diversos tipos desoftware de sistemas, diversas reas deaplicacin, diferentes tipos de organizaciones ydiferentes tamaos de proyectos.
Actividades
Roles
Workflow
Artefactos
QU tareas hacer ?QU tareas hacer ?QU tareas hacer ?QU tareas hacer ?
QUIN las hace?QUIN las hace?QUIN las hace?QUIN las hace?
CUNDO se hace ?CUNDO se hace ?CUNDO se hace ?CUNDO se hace ?
QU generar ?QU generar ?QU generar ?QU generar ?
-
34
Captura varias de las mejores prcticas en eldesarrollo moderno de software que es aplicablepara un amplio rango de proyectos yorganizaciones.
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.
-
35
Unidad de un Sistema de Informacin
PROCESOEntrada Salida
INGENIERIA DE SOFTWARE
PRINCIPIO
INGENIERIA DE SOFTWARE
PROCESOS
PROCESOS DE INGENIERIA DE SOFTWARE
Requerimientos De Usuarios 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
-
36
Principales Hitos
TIMELOS PROCESOS TIENE CUATRO FASESInicio o Incepcin: Definir el alcance del proyectoElaboracin: Planear el Proyecto, especificar caractersticas y
disear la arquitectura.Construccin: Construir el ProductoTransicin: Desplegar a la comunidad de Usuarios
INGENIERIA DE SOFTWARE
CICLO DE VIDA
Inicio Elaboracin Construccin Transicin
ADMINISTRACION DE PROYECTOS
-
37
-
38
-
39
-
40
-
41
-
42