ingeniería software

67
SISTEMAS DE INFORMACIÓN

Upload: anitalu-simbana

Post on 16-Apr-2017

872 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Ingeniería software

SISTEMAS DE INFORMACIÓN

Page 2: Ingeniería software

SISTEMAS DE INFORMACIÓN

Control u ordenación de elementos organizados para llevar acabo algún método, procedimiento o control mediante el proceso de la información.

Page 3: Ingeniería software

ANÁLISIS Y DISEÑO

Se refiere al proceso de examinar la situación de una empresa con el propósito de mejorar con métodos y procedimientos más adecuados.

Page 4: Ingeniería software

COM

PON

ENTES

Análisis Diseño

Proceso de clasificación e interpretación de hechos.

Diagnóstico del problema

Empleo de la información para recomendar mejoras al sistema actual

Especifica las características del producto terminado

Establece como alcanzar el objetivo

Page 5: Ingeniería software

ACTIVIDADES Análisis de sistemas:

Análisis y diseño de sistemas:

Análisis, diseño y programación de sistemas:

Page 6: Ingeniería software

Análisis del sistemas

Actividad:Persona encargada:

Reúne la información y determina los requisitos

Los analista no son responsables del sistema

Analista de Información

Page 7: Ingeniería software

Análisis y diseño del sistem

as

Actividad:Persona encargada:

Tiene la responsabilidad adicional de diseñar el nuevo sistema

Diseñador de sistemas

Diseñador de aplicaciones

Page 8: Ingeniería software

Análisis, diseño y program

ación del sistemas

Actividad:Persona encargada:

Desarrolla las especificaciones de diseño

Analiza el software necesario para implementar el diseño

Analista programador

Page 9: Ingeniería software

ELEMENTOS DE UN SI Software Hardware Gente Base de datos Documentación Procesamiento Control

Page 10: Ingeniería software

ELEMEN

TOS D

E UN

SIsoftware

Hardware

Programas

Estructura de datos y documentación asociada para realizar el método lógico

Dispositivos electrónicos que proporciona la capacidad de computación

Page 11: Ingeniería software

ELEMEN

TOS D

E UN

SIGente

Base de datos

Usuarios y operadores del software y del hardware

Colección grande y organizada de información y que es una parte integral del funcionamiento del sistema

Page 12: Ingeniería software

ELEMEN

TOS D

E UN

SIDocum

entaciónProcesam

iento:

Manuales, los impresos y otra información descriptiva que explica el uso y/o la operación

Los pasos que definen el uso especifico de cada elemento del sistema

Page 13: Ingeniería software

ELEMENTOS DE UN SI

Control: Niveles de control tolerables de rendimiento del sistema

Page 14: Ingeniería software

PROCESO DE DESARROLLO DE UN SI

1. Identificación de las alternativas para el desarrollo del sistema.

2. Creación de la propuesta

3. Determinación de las necesidades del ejecutivo

Page 15: Ingeniería software

PROCESO DE DESARROLLO DE UN SI

1. Identificación de las alternativas para el desarrollo del sistema:

Identificar si el sistema se lo hace de manera interna y partiendo de cero

Hace modificaciones al existente

Desarrolla el SI partiendo de cero y con la ayuda de desarrollares externos con experiencia

Page 16: Ingeniería software

PROCESO DE DESARROLLO DE UN SI

2. Creación de la propuesta:

Claro entendimiento con el ejecutivo

Reducir la resistencia al cambio

Manejar las expectativas, beneficios, informar los riesgos que implica y los recursos que requiere

Lograr el compromiso delos recursos

Page 17: Ingeniería software

PROCESO DE DESARROLLO DE UN SI

3. Determinación de las necesidades del ejecutivo:

Cuestionar al ejecutivo acerca de cuales son sus necesidades y requerimientos

Realizar entrevistas con los ejecutivos, directores y gerentes de las diferentes áreas de la empresa

Listar los principales objetivos de la empresa a corto y largo plazo

A partir de la observación o entrevista determinar la información que utiliza en la actualidad el ejecutivo

Page 18: Ingeniería software

CARACTERISTICAS DE SI Logran ahorros significativos de mano

de obra Necesitan información de entrada y

salida para generar resultados, operaciones o reportes.

Se adaptan a aplicaciones que se encuentran en el mercado.

Page 19: Ingeniería software

Ingeniería 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.

Page 20: Ingeniería software

Proceso de desarrollo de software

Es aquel en que las necesidades del usuario son traducidas en requerimientos de software.

Page 21: Ingeniería software

Proceso de desarrollo de softw

are

Es decir define

› ¿Cuándo de hace?

› ¿Qué se esta haciendo?

› ¿Qué se produjo?

› ¿Quién lo hace?

Curso: fase e interacciones

Actividades: Flujo de trabajo de procesos

Artefactos: Modelos, reportes y documentos

Persona: Grupo de desarrolladores

Page 22: Ingeniería software

Ciclo de Vida del Software

Comprende cuatro grandes fases:

› Concepción› Elaboración› Construcción › Transición.

Page 23: Ingeniería software

Ciclo de Vida del Software

Concepción:

Es definir el alcance del proyecto y definir el caso de uso

Page 24: Ingeniería software

Ciclo de Vida del Software

Elaboración:

Es proyectar un plan, definir las características y cimentar la arquitectura.

Page 25: Ingeniería software

Ciclo de Vida del Software

Construcción :Es crear el producto

Page 26: Ingeniería software

Ciclo de Vida del Software

Transición. :

Transferir el producto al usuario

Page 27: Ingeniería software

Ciclo de Vida del Software

Modelo en cascada Modelo escala

Análisis

Requisitos

Diseño preliminar y detallado

Implementación & prueba unitaria

Mantenimiento

Integración

Esfuerzo

Tiempo

AnálisisDiseño

Implementación

prueba

Page 28: Ingeniería software

Proceso de desarrollo de Software

MAESTRO

RECTOR

Quiero ingresar los datos

de los estudiante

s

Quiero generar reportes

?<HTML> <HEAD> <TITLE> Mi paguina WEB </TITLE> </HEAD> <BODY> <CENTER><h1>Primera Paguina</h1></CENTER> <HR> Esta es mi primera paguina, aunque es muy sencilla. Como el lenguaje HTMLno es dificil <P>aqui va un segundo parrafo <ul> <li><b>el cine</b> <li><i>volly</i> </ul> <ol> <li><pre>salsa</pre> </tt> </ol> <dl> <dt>valores <dd>son actitudes </dl> </BODY> </HTML>

Page 29: Ingeniería software

Proceso de desarrollo de software

El problema central del desarrollo de software es transformar las necesidades del cliente en código

“El camino desde las necesidades hasta el código del sistema es tan

complejo que no es posible escribir el código instantáneamente”

Page 30: Ingeniería software

Desarrollo de Software Proceso Unificado

Comprende cuatro grandes fases:

Concepción Elaboración Construcción Transición

Objetivos Arquitectura Sistema Corriendo

Presentación del Producto

Page 31: Ingeniería software

Para reflexionar¿Qué pasaría, si el ingeniero civil o el

arquitecto construye una casa o un edificio sin hacer sus planos, proyectos o maquetas?

¿Crees que la obra pueda concluirse cubriendo las necesidades, con la calidad necesaria y a tiempo? Simplemente observa a tu alrededor

Page 32: Ingeniería software

UMLLenguaje de Modelamiento Unificado

Page 33: Ingeniería software

UMLLenguaje de Modelamiento Unificado

Para representar adecuadamente la arquitectura de un sistema es necesario contar con varios diagramas o vistas. Dada la cantidad de características y de elementos que tiene un sistema de software no es posible incluirlos todos en un solo diagrama y que sirva, además, para todas las personas que participan en el desarrollo. Cada una de estas vistas es una estructura de la arquitectura del sistema, que muestran una parte del sistema como un conjunto de componentes, conectores y restricciones sobre sus tipos y relaciones.

Page 34: Ingeniería software

UMLLenguaje de Modelamiento Unificado

Permite representar la estructura de un sistema a un nivel mayor que el dado por la programación o incluso el diseño

Además, cada estructura puede relacionarse con las demás para complementar la visión integral del sistema.

En UML se utilizan para el modelamiento de un sistema diferentes elementos y relaciones, que tienen una semántica y sintaxis definidas. Estos elementos se agrupan en diagramas preestablecidos que corresponden a diferentes proyecciones del sistema

Page 35: Ingeniería software

Notación

Una notación es un conjunto de diagramas normalizados que posibilita al analista o desarrollador el describir el comportamiento del sistema (análisis) y los detalles de una arquitectura (diseño) de forma no ambigua.

Page 36: Ingeniería software

Notación La acción de dibujar un diagrama no constituye

ni análisis ni diseño

Una notación no es un fin por si misma

El hecho de que una notación sea detallada no significa que todos sus aspectos deban ser utilizados en todas las ocasiones

La notación son como los planos para un arquitecto o un ingeniero

Page 37: Ingeniería software

Notación Una notación no es más que un vehículo para capturar los

razonamientos acerca del comportamiento y la arquitectura de un sistema

Las notaciones deben ser lo más independientes posibles de los lenguajes de programación, sin embargo facilita el proceso de desarrollo que exista una equivalencia entre la notación y los lenguajes de programación

El propósito de este tema es describir la sintaxis y semántica de la notación que se utiliza para el análisis y diseño orientado a objetos

Page 38: Ingeniería software

Notación - UML UML ofrece nueve diagramas en los cuales modelar sistemas:

1. Diagramas de Casos de Uso para modelar los procesos ’business’.2. Diagramas de Secuencia para modelar el paso de mensajes entre

objetos.3. Diagramas de Colaboración para modelar interacciones entre

objetos.4. Diagramas de Estado para modelar el comportamiento de los

objetos en el sistema.5. Diagramas de Actividad para modelar el comportamiento de los

Casos de Uso, objetos u operaciones.6. Diagramas de Clases para modelar la estructura estática de las

clases en el sistema.7. Diagramas de Objetos para modelar la estructura estática de los

objetos en el sistema.8. Diagramas de Componentes para modelar componentes.9. Diagramas de Implementación para modelar la distribución del

sistema.

Page 39: Ingeniería software

Conclusiones ¿Qué es el Proceso Unificado?

¿Cuáles son las fases del proceso unificado?

¿Qué es UML?

¿Qué es Notación?

¿Es importante usar una metodología para desarrollo de SI? Porque

Page 40: Ingeniería software

Desarrollo de Software Proceso Unificado

Comprende cuatro grandes fases:

Concepción Elaboración Construcción Transición

Objetivos• Planteamiento del

problema• Determinación de los

Requerimientos.

Arquitectura• Análisis• Diseño

Sistema Corriendo:• Programación• Prueba• Documentación

Presentación del Producto• Implementació

n

Page 41: Ingeniería software

Planteamiento del ProblemaConcepción

REGLAS: Identificar los componentes Ubicar el problema dentro de un marco

conceptual Analizar el problema desglosando en

sus unidades más simples Simplificar y eliminar la información

redundante

Page 42: Ingeniería software

Determinación de los Requerimientos

HERRAMIENTAS: Datos relevantes Entrevistas Cuestionarios Prototipos

DESARROLLADOR: Comprende que información necesitan

los usuarios para trabajarConcepción

Page 43: Ingeniería software

Determinación de los Requerimientos

INVOLUCRADOS: Desarrolladores Usuarios Administradores

LOS DESARROLLADORES NECESITAN: Detalles del SI

¿Quién? Personas ¿Qué? Actividades del SI ¿Dónde? Ambiente ¿Cuándo? En que momento ¿Cómo? De que manera se desarrollo

Concepción

Page 44: Ingeniería software

Determinación de los Requerimientos

AL TÉRMINO DE LA FASE:

Los desarrolladores deben comprender el porque de las funciones del SI

Tener informe sobre personas, objetivos y procedimientos

Concepción

Page 45: Ingeniería software

Conclusiones ¿Cuáles son las fases del ciclo de vida dentro del

proceso unificado?

¿Dentro de la Concepción que actividades se realiza?

¿Indica dos reglas para el planteamiento del problema?

¿Qué herramienta utilizarías para determinar los requerimientos del SI?

¿Qué obtiene el desarrollador al finalizar esta etapa?

Page 46: Ingeniería software

TAREAElabora una herramienta para determinar los requerimientos

del SI a partir del problema expuesto a continuación:

Se debe realizar un sistema capaz de mantener una base de datos con todos los equipos hardware y software de los laboratorio UNO y TRES del Colegio Eloy Alfaro, de manera que se pueda obtener información acerca del número de licencias instaladas y de los equipos en los que están instaladas dichas licencias.

Además debe ser posible controlar el hardware, las modificaciones efectuadas en los equipos, las averías de dichos equipos, la composición de cada uno de los ordenadores y el software que está instalado en ellos.

Page 47: Ingeniería software

Análisis

Aunque el proceso es interactivo los pasos fundamentales son los siguientes:

1. Título de la aplicación El título de una aplicación debe reflejar de la mejor forma

posible sus fines y su funcionalidad:

Ejemplo: Mónica: Su asistente en los negociosTrasgu: Gestión de Hardware y Software

Elaboración

Page 48: Ingeniería software

Análisis

2. Documentos de análisis Son la documentación que aporta el cliente que encarga la

aplicación También es la documentación elaborada de forma informal

en reuniones de trabajo para entender las solicitudes del cliente

Documento: Ejemplo de Documento de Análisis

3. Especificación de Requisitos o Requerimientos Es la especificación más técnica y elaborada de los

documentos de análisis Es importante codificar los requisitos para poder seguirlos

a lo largo del proceso de construcción del softwareTarea: Realizar las especificaciones con el documento anterior Elaboración

Page 49: Ingeniería software

Diseño Usa la información anterior para hacer el

diseño lógico del SI (pseudo código, DF, etc)

Diseña procedimientos precisos para la captura de datos

Diseño de formas y pantallas Diseña la interfaz del usuario Diseño de base de datos Diseño de control y respaldos

Elaboración

Page 50: Ingeniería software

Diseño

4. Diagramas de Casos de Uso: Un caso de uso es una técnica de modelado utilizada para

describir lo que un nuevo sistema debe hacer o lo que un sistema existente ya hace.

Un modelo de casos de uso se construye mediante un proceso iterativo durante las reuniones entre los desarrolladores del sistema y los clientes (y/o los usuarios finales) conduciendo a una especificación de requisitos sobre la que todos coinciden.

Un caso de uso captura algunas de las acciones y comportamientos del sistema y de los actores

Un caso de uso es la típica interacción entre un usuario y un sistema informático Elaboración

Page 51: Ingeniería software

Diseño Diagramas de Casos de Uso

Es un diagrama que muestra sistemas, casos de uso y actores

Es una documentación que describe cada caso de uso, cada sistema y cada actor

Es importante codificar cada caso de uso

Los casos de uso sólo muestran aspectos muy generales

Elaboración

Page 52: Ingeniería software

Diseño Diagramas de Casos de Uso

Elaboración

Page 53: Ingeniería software

Diseño Diagramas de Casos de Uso

El sistema que se desea modelar se representa encerrado en un rectángulo

Los actores son los que interactúan con el sistema. Representan todo lo que necesite intercambiar con el sistema.› Un actor es una clase› Se diferenciará entre actores y usuarios.› Un usuario es una persona que utiliza el sistema› Un actor representa el papel (rol) que una persona desempeña› Un actor es el papel que el usuario juega con respecto al sistema. › Un actor no tiene que ser un humano, puede ser por ejemplo otro

sistema externo que pide información al sistema actual

Por ejemplo una persona puede ser usuario y administrador en un sistema, unas veces actuará como usuario y otras como administrador, pero deben contemplarse ambos actores.

Elaboración

Page 54: Ingeniería software

Diseño Diagramas de Casos de Uso

CONCLUSIÓN Los Casos de Uso es un camino específico para utilizar el

sistema

Para cada Caso de Uso, Actor y Sistema se realiza una descripción detallada

Los Casos de Uso tan sólo indican opciones generales

El diagrama de Casos de Uso es un diagrama sencillo que tiene como finalidad dar una visión global de toda la aplicación de forma que se pueda entender de una forma rápida y gráfica tanto por usuarios como por desarrolladores Elaboración

Page 55: Ingeniería software

Diseño Diagramas de Casos de Uso

EJEMPLO:

CLIENTE

Elige producto

Pregunta por el precio

Paga el producto

COMPRA PRODUCTO Elaboración

Page 56: Ingeniería software

TAREA

Realizar el diagrama de caso de uso de los involucrados en el sistema para los laboratorios.

Page 57: Ingeniería software

Proceso de Análisis y Diseño Preliminar

Aunque el proceso es iterativo los pasos fundamentales son los siguientes:  1. Título de la aplicación

El título de una aplicación debe reflejar de la mejor forma posible sus fines y su funcionalidad

  2. Documentos de análisis

– Son la documentación que aporta el cliente que encarga la aplicación– También es la documentación elaborada de forma informal en reuniones de trabajo para entender las solicitudes del cliente

3. Especificación de Requisitos o Requerimientos– Es la especificación más técnica y elaborada de los documentos de análisis– Es importante codificar los requisitos para poder seguirlos a lo largo del proceso deconstrucción del software

Page 58: Ingeniería software

Proceso de Análisis y Diseño Preliminar

4. Diagramas de Casos de Uso– Es un diagrama que muestra sistemas, casos de uso y actores– Es una documentación que describe cada caso de uso, cada sistema y cada actor– Es importante codificar cada caso de uso– Los casos de uso sólo muestran aspectos muy generales

 5. Escenarios y sub-escenarios– A cada caso de uso le corresponden varios escenarios donde se pueden mostrar los detalles– Cada escenario puede dividirse en sub-escenarios para bajar más el nivel de detalle– Los escenarios se codifican siguiendo los valores de los casos de uso

Page 59: Ingeniería software

Proceso de Análisis y Diseño Preliminar

6. Diagramas de Secuencia– Se corresponden con los escenarios y sub-escenarios pero con mucho más detalle– Siguen la misma codificación que los escenarios y sub-escenarios– Algunos diagramas de secuencia pueden refinarse más en la fase de diseño detallado 

7. Diccionario de datos– Contiene todas las clases– Se pueden ir definiendo los miembros de las clases (datos y métodos)– Se iré refinando paso a paso en cada iteración– Las herramientas lo van construyendo automáticamente

Page 60: Ingeniería software

Diseño

5. Escenarios y sub-escenarios A cada caso de uso le corresponden varios

escenarios donde se pueden mostrar los detalles

Cada escenario puede dividirse en sub-escenarios para bajar más el nivel de detalle

Los escenarios se codifican siguiendo los valores de los casos de uso

Elaboración

Page 61: Ingeniería software

Diseño Escenarios y sub-escenarios

Se enumeran escenarios fundamentales para el funcionamiento del sistema

Se estudia cada escenario utilizando guiones como los que se usan en el cine

Cada equipo que pasa por un escenario identifica los objetos y sus responsabilidades, así como los mecanismos que relacionan los objetos

De los escenarios iníciales se puede pasar a otros escenarios secundarios

Elaboración

Page 62: Ingeniería software

Diseño Escenarios y sub-escenarios

Los escenarios también se pueden utilizar para probar el sistema en la fase de pruebas

El estudio de los escenarios con detalle permite ir enriqueciendo el Diccionario de datos

No es necesario hacer todos los escenarios y sub-escenarios posibles si se observa que no enriquecen el diccionario de datos

Elaboración

Page 63: Ingeniería software

Diseño Escenarios y sub-escenarios

Numeración:

Titulo:

Precondiciones:

Quien Lo Comienza:

Quien Lo Finaliza:

Postcondiciones:

Descripción:

Page 64: Ingeniería software

Diseño Escenarios y sub-escenarios

Numeración: 1.1. Titulo: Hacer pedido Precondiciones: Sugerencias de compra, caducidad de licencias, bajas

permanentehardware, …

Quien Lo Comienza: Responsable de Informática. Quien Lo Finaliza: Responsable de Informática. Postcondiciones: Descripción: Son las operaciones de compra de todos los componentes

(hardware,software y manuales) que realiza el responsable de informática. Además da estosequipos de alta y debe apoyarse en el sistema para gestionar los pedidos correctamente para lo que debe anotar en el sistema que ha pedido un componente a un proveedor ( por tanto que está pendiente de recibir).

Page 65: Ingeniería software

Diseño Escenarios y sub-escenarios

Numeración: 1.2. Titulo: Anular pedido Precondiciones: Cambio de precio, cambio de

necesidades de la Empresa. Quien Lo Comienza: Responsable de Informática Quien Lo Finaliza: Responsable de Informática Postcondiciones: Descripción: Esta operación la realiza el responsable de

informática cuando toma la decisión de anular un pedido que había realizado con anterioridad.

Page 66: Ingeniería software

Diseño Escenarios y sub-escenarios

Numeración: 1.3 Titulo: Recibir pedido Precondiciones: Haber realizado la petición de

un pedido. Quien Lo Comienza: Responsable de

Informática Quien Lo Finaliza: Responsable de Informática Postcondiciones: Descripción: El responsable de informática

confirma la recepción de los pedidos

Page 67: Ingeniería software

Diseño

6. Diagramas de Secuencia Se corresponden con los escenarios y sub-escenarios pero

con mucho más detalle Siguen la misma codificación que los escenarios y sub-

escenarios Algunos diagramas de secuencia pueden refinarse más en

la fase de diseño detallado

7. Diccionario de datos Contiene todas las clases Se pueden ir definiendo los miembros de las clases (datos

y métodos) Se iré refinando paso a paso en cada iteración Las herramientas lo van construyendo automáticamenteElaboración