CIS-425: Análisis y diseño de sistemas Semana 1

Post on 21-Mar-2016

76 views 0 download

description

CIS-425: Análisis y diseño de sistemas Semana 1. Dr. Jesús Borrego Lead Faculty, COS Regis University. Agenda. Instructor Introducción al curso Programa de estudios Capítulo 1 – Contexto de métodos de análisis y diseño Capítulo 2 – Bloques de construcción de informática - PowerPoint PPT Presentation

Transcript of CIS-425: Análisis y diseño de sistemas Semana 1

scis.regis.edu ● scis@regis.edu

CIS-425: Análisis y diseño de sistemasSemana 1

Dr. Jesús BorregoLead Faculty, COSRegis University

1

Agenda•Instructor•Introducción al curso•Programa de estudios•Capítulo 1 – Contexto de métodos de

análisis y diseño•Capítulo 2 – Bloques de construcción de

informática•Capítulo 3 – Desarrollo de sistemas de

informática•Proyecto•Siguientes clases2

InstructorDr. Jesús BorregoEducación

◦PhD MIS; MS CS; BS CS; BS EE

Ubicado:◦Colorado Springs

Casado, 5 hijosMaestro desde 1989,

a nivel de Asociado, Licenciado y Maestría

En Regis U. desde 1995

3

Introducción•Prerequisitos

▫CS 362 – Estructuras de datos•Materiales del curso

▫Libro de texto▫Acceso a computadora personal▫MS Project y Visio – copias de evaluación

disponibles por Microsoft

4

Programa de estudios•Página Web del instructor:

http://academic.regis.edu/jborrego •Página del curso:

http://academic.regis.edu/jborrego/CIS_425.htm•Estudia el análisis y diseño de sistemas

informáticos basados en el computador. Considera procesos de transformación y diseño integral. Incluye la tecnología avanzada, enfatizando sistemas expertos y basados en el conocimiento. Considera recursos humanos, comunicaciones y computadoras en un marco sistémico.

5

Página Web•http://academic.regis.edu/jborrego•Clic CIS425

6

Libro de textoWhitten, Jeffrey L., and Bentley, Lonnie D. (2007)Systems Analysis and Design. (7th edition). Boston: Irwin/McGraw-Hill. ISBN 13: 978-0-07-305233-5 (REQUERIDO)NOTA: 6a o 8a edición no debe usarse

7

Método de evaluación

8

ASIGNACION VALOR Tarea 25%Participación 10%Presentaciones 25%Proyecto final 40%

----------TOTAL 100 %

Horario tentativo de clases

9

•Página Web

Vocabulario clave•Federation•Methodology•Systems

Development LifeCycle

•Federación•Metodología•Ciclo vitalicio del

desarrollo de sistemas

10

Cap. 1 – Contexto de los métodos de análisis y diseño• Supongan que son programadores y su Supongan que son programadores y su

cliente les pregunta que le hagan un cliente les pregunta que le hagan un programa.programa.

• ¿Por donde empiezan?¿Por donde empiezan?• ¿Como se aseguran que el cliente reciba lo ¿Como se aseguran que el cliente reciba lo

que necesita?que necesita?• ¿Como previenen desacuerdos entre lo ¿Como previenen desacuerdos entre lo

que el cliente quería y lo que se le que el cliente quería y lo que se le entregó?entregó?

11

Interesados•Dueños del sistema•Usuarios del sistema

▫Internos y externos•Diseñadores•Constructores•Analistas•Proveedores externos de servicios•Gerente del proyecto

12

13

Fig 1-1

Organización Típica– Fig. 1-2

14

1 – Dueños del sistema2 – Diseñadores/ Constructores3 – Analiistas4 – Diseñadores5 – Analistas

Analistas de sistemas•Interfaz entre clientes y diseñadores•Traducen requisitos del negocio y requisitos

técnicos▫Se comunica con los clientes en su propio

lenguaje▫Se comunica con los programadores en su

propio lenguaje▫El lenguaje es diferente

¿Que es un usuario?•Típicamente proviene del mundo de negocios

15

Analista de sistemas– Fig. 1-3

16

Analista de sistemas - Habilidades•Habilidades técnicas•Habilidades de comunicación•Habilidades de solución de problemas•Habilidades interpersonales•Flexibilidad•Adaptabilidad•Paciencia

17

Agentes de cambio– Fig. 1-5

18

Evolución de los negocios que impactan a los sistemas•Economía global•Internet •eCommerce•Seguridad y privacidad•Leyes y Reglamentos•Tecnología

▫Dispositivos móviles▫Dispositivos inteligentes

•Aplicationes empresariales

19

Applicaciones de negocios - Fig 1-9

20

Cadena de suministro – Fig 1-10

21

Integrando aplicaciones de negocios– Fig 1-11

22

23

Desarrollo de sistemas y solucionando problemas

Simple proceso•Identificar el problema•Analizar y entender el problema•Buscar soluciones y definir las

expectativas•Encontrar alternativas y decidir en el

curso de acción•Diseñar la solución elegida•Implementar la solución•Evaluar los resultados

24

25

Actividad 1•Análisis de sistemas (12:59):

http://www.youtube.com/watch?v=36EnmQk1uxM

26

Cap. 2 – Bloques de construcción•Sistemas de negocios

▫Oficina delantera Mercadotecnia Ventas Gestión de clientes

▫Oficina trasera Recursos humanos Finanzas Fábrica Inventario

27

Federación de sistemas de Información

28

Aplicaciones de sistemas de información – Fig. 2-2

29

30

1. Responds to inputs (orders)2. Produces outputs (invoices)3. Produces Reports4. Produces operational management info5. Relies on multiple databases6. Populates data warehouse 7. Provides read only access to warehouse8. Captures business intelligence9. Monitors problem spots10. Includes personal automation systems11. Provides access to office automation

Aplicaciones de sistemas de información – Fig. 2-2

Bloques de construcción de los sistemas de información – Fig. 2-3

31

Bloques de construcción de los sistemas de información – Fig. 2-4

32

Bases de datos

Bloques de construcción de los sistemas de información – Fig. 2-5

33

Software

34

Interfaces

Bloques de construcción de los sistemas de información – Fig. 2-6

Tecnología de redes electrónicas – Fig. 2-7

35

Todo junto

36

Actividad 2•Buscar métodos para entrevistar al

cliente•Preparen una lista de preguntas para el

cliente

37

Cap. 3 – Desarrollo de sistemas•Proceso de desarrollo de sistemas•Ciclo vital•Metodología•Fases FAST•Alternativas•RAD•Automatización•CASE•ADE

38

Ciclo de vida•Idea nace•Especificación es preparada•Solución es diseñada•Solución es desarrollada•Solución es revisada•Solución es implementada•Solución se pone en servicio•Solución se mantiene•Solución es retirada

39

Metodología•Un proceso estándar para construír y

mantener un sistema•Contiene la receta para seguir cuando se

desarrollan los sistemas•Metodología FAST (Framework for

Application of Systems Thinking)

40

Metodologias•SDLC•Cascada•Prototipos•Incremental•Desarrollo espiral•Prototipo rápido•Desarrollo de aplicaciones rápidas (Rapid

Application Development)•Otras

41

Ciclo vital

42

Características de la metodología•Participación de usuarios•Enfoque de resolución de problemas•Fases y actividades de establecimiento (plan)•Documentar a través del proyecto•Gestión del proceso y proyecto•Informática como inversión capital•Cancelar o revisar el alcance•Dividir y conquistar•Diseño para crecimiento y cambios

43

MarcoPIECES– Fig 3-4

44

45

Vista del proceso de desarrollo de

sistemas

Bloques de construcción del desarrollo de sistemas– Fig 3.6

46

Documentación, repositorio y presentación – Fig. 3-7

47

Metodología de cascada

48

DOD-STD-2167A•Defense System Software Development

▫Usado por el Departamento de Defensa para definir el proceso de desarrollo de software

▫Revisiones formales entre las fases•Componente de software se llama Computer

Software Configuration Item (CSCI)•Cada CSCI consiste de módulos llamados

Computer Software Components (CSC)•Componente de equipo se llama Hardware

Configuration Items (HWCI)

49

Prototipo•Un modelo del software se construye cuando los

requisitos son definidos▫Util cuando los requisitos no son firmes o bien

entendidos▫Retroalimentación de los clientes permiten mejorar el

prototipo•Dos tipos:

▫Fin cerrado: se desperdicia cuando se termina▫Fin abierto: evolucionario, se entrega al final

•Modelos son construídos, se muestran al cliente para evaluar, retroalimentación se recibe y el prototipo se actualiza

50

Prototipo

51

Escuchar al cliente

Soluciones de intercambio de

ideas

Crear Model

Evaluación del cliente

Incremental

52

• Parecido al prototipo evolucionario• La entrega inicial es creada con funcionalidad

mínima para demonstrar ‘look and feel’• La versión es probada y se enseña al cliente• Retroalimentación es recibida y funciones

nuevas son definidas• La nueva versión es probada y se enseña al

cliente• El ciclo se repite hasta que el modelo final se

termina• Cada ciclo es una mini-cascada

Espiral•Originalmente propuesto por Barry Boehm en

1988•Incluye los conceptos de prototipos con

conceptos controlados de cascada•Consiste de mini ciclos de cascada rápidos sobre

varias iteraciones▫Iteraciones iniciales pueden ser modelos de papel▫Iteraciones posteriores pueden ser modelos útiles de

funcionalidad limitada▫Iteraciones finales son mas estables

•Requiere interacción del usuario en cada fase

53

Espiral

54

Mitigació

n de riesgos

Alternativas

EvaluarPreparar siguiente

Prototipo Rápido•Parecido al prototipo•Análisis de requerimientos y definición de

objetivos inicia el proceso y define características de la aplicación

•El desarrollo del prototipo construye un simple prototipo basado en requerimientos y objetivos

•Iteraciones posteriores refinan el prototipo•Cuando el prototipo cumple con los requisitos,

la aplicación pasa a producción y mantenimiento

55

Prototipo Rápido

56

Análisis Objectivos

Instalación y Mantenimiento

Investigación de PrototipoDesarrollo de Prototipo

RAD•Hace hincapié en el rápido desarrollo de

software similar a la metodología incremental•Usa ciclos de metodología de cascada

corriendo en paralelo•Cada equipo construye un componente que se

integra a ciertos puntos en el plan de trabajo•El desarrollo rápido se debe a la

implementación en paralelo•Requiere comunicación y planeamiento

adecuado para tener éxito

57

RAD

58

Test & Cutover

BusinessModeling

DataModeling

ProcessModeling

ApplicationGeneration

Short Project Schedule

Team #1 Team #2 Team #3

59

RAD – Fig 3-11

Agil

60

• Kent Beck inventó el concepto Extreme Programming (XP) en el año 2000

• En el año 2001, Beck y otros formaron la Alianza Agil (Agile Alliance)

• El grupo publicó el manifiesto para el desarrollo de software

• La idea fué para formar la filosofía de software que se concentra en satisfacción del cliente, equipos pequeños y motivados, métodos informales, desarrollo simple y productos de software funcionales

Desarrollo Agil•Una alternativa de procesos de desarrollo

de software convencionales•Hace hincapié en el tiempo de

comercialización y la calidad•Hace hincapié en comunicación del

equipo y colaboración, incluyendo clientes•Usa principios de SDLC, prototipos y

desarrollo evolucionario•Metodologías múltiples

61

Agil

62

Design

Codi

ng

Test

Plan

ning Refactoring

• User Stories•Values• Acceptance Test Criteria• Iteration Plan

• Simple Design• CRC Cards• Spike Solutions• Prototypes

• Refactoring• Pair Programming• Continuous Integration• Collective Ownership• Coding Standards

Enfoque iterativo

63

64

Incremental

Otros• Cleanroom

▫ Trata de incluír exactitud en el proceso• OOA/OOD/OOP

▫ Metodologías diferentes con enfoque a objetos• CMM – Capability Maturity Model

▫ CMU/SEI, 5 niveles de madurez• CMMI – CMM Integration

▫ La mejora de procesos y procedimientos eficaces• RUP: basado en el proceso unificado (Unified

Process -UP)▫ Ivar Jacobson, Grady Booch, y James Rumbaugh

65

Actividades de desarrollo de sistemas

66

67

Mantenimiento de sistemas

CASE Tools

68

Arquitectura de herramientas CASE

69

¿Preguntas?

70

Proyecto•Escenario del proyecto final•Caso de estudio•Asignaciones del proyecto para el resto

del curso•Nuestro cliente

71

Escenario del proyecto final• Ustedes son miembros del equipo de desarrollo y trabajan

para mi empresa• Son expertos en redes, bases de datos, diseño Web,

comercio electrónico, desarrollo de software y gestión de proyectos

• Van a tener una entrevista con el cliente para documentar sus requerimientos

• Trabajarán como equipo pero su grado será basado en su participación. Van a dividir su trabajo cada semana.

• Documenten su trabajo cada semana.

72

Proyecto• Clase 1: Conocen al cliente

▫ Antes de la siguiente semana, preparen su ‘Problem Statement’ en inglés

• Clase 2:▫ Preparen una lista de preguntas para captar los requerimientos – antes

de la clase▫ Van a entrevistar al cliente basado en el proyecto

• Clase 3:▫ Preparen un reporte documentando los requisitos en español▫ Presentarán el documento al cliente, en clase▫ Obtandrán aprobación verbal y prepararán el documento de la

especificación• Clase 4:

▫ Preparen documento de viabilidad y especificaciones – antes de la clase▫ Presentarán al cliente▫ Obtandrán firma del cliente

73

Proyecto - II• Clase 5:

▫ Preparen diseño de alto nivel y presentar al cliente Incluír red, base de datos, pantallas, reportes, costo, etc.

▫ Presenten al cliente en clase Obtengan apruebo del cliente

• Clase 6:▫ Preparen diseño detallado y presentar al cliente▫ Obtengan apruebo del cliente

• Clase 7:▫ Entragan el proyecto final

Se presentará en la última clase• Clase 8:

▫ Presentación final al cliente

74

Proyecto Final•Contenido – en inglés:

▫Management Summary▫Existing System▫Proposed System▫Impact of proposed system▫Analysis of proposed system▫Implementation Schedule▫Project Presentation

•Vean el ejemplo en la página Web

75

¿Preguntas?

•Manden correo electrónico ajborrego@regis.edu

76