Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Temas
1.1.1 Definicin Hardware - Software 1.1.2 Desarrollo del hardware 1.1.3 La crisis del software 1.1.4 Ingeniera del Software 1.1.5 Estndares y modelos 1.1.11 El papel evolutivo del software 1.1.12 El software 1.1.13 La naturaleza cambiante del software 1.1.14 Software heredado 1.1.15 El proceso de software
1.1.6 Ppales. organizaciones de estandarizacin 1.1.15.1 Visin general del proceso 1.1.7 Proyecto SWEBOK 1.1.15.2 Estratificacin del proceso 1.1.8 ISO 12207 1.1.15.3 Marco de trabajo 1.1.9 Ingeniera de sistemas 1.1.10 Software e ingeniera del software
El contenido de los siguientes temas fue tomado del libro Un Enfoque Prctico de Pressman
En cambio, el software es intocable, existe como ideas, conceptos, smbolos, pero no tiene sustancia. Una buena metfora sera un libro: las pginas y la tinta son el hardware, mientras que las palabras, oraciones, prrafos y el significado del texto son el software. Una computadora sin software sera tan intil como un libro con pginas en blanco.
Factores de Influencia
Aumento del poder computacional. Reduccin del costo del hardware. Personal de desarrollado y mantenimiento diferente.
11
12
Diseo
Construccin Pruebas Mantenimiento El proyecto parte de la suposicin de que es necesario establecer cul es el cuerpo de conocimiento que deben conocer los ingenieros del software, y en su desarrollo ha agrupado este conocimiento en 10 reas
14
Es importante resaltar que estas reas no incluyen aspectos importantes de las tecnologas de la informacin, tales como lenguajes especficos de programacin, bases de datos relacionales o redes o tecnologa de redes y comunicaciones. Esta es una consecuencia de la distincin que entre esencia y accidente se establece desde un enfoque de ingeniera. Por supuesto que un Ingeniero de Software debe conocer las tcnicas de cada momento, pero la definicin de procesos y metodologa de trabajo es la esencia de la profesin. As por ejemplo, el rea de conocimiento de requisitos, s que puede considerarse como esencia de la profesin. Los problemas que pueden derivarse en un proyecto por una mala obtencin o gestin de los requisitos son indistintos del hardware o lenguaje de programacin empleado. Eran los mismos hace dos dcadas que ahora, y todo nos hace suponer que seguirn siendo idnticos dentro de otros cuatro lustros.
15
17
Proceso 1
Ciclo de vida
Concepto
Actividad 1
Tarea 1 Tarea 2
Proceso N Actividad n
Tarea 1 Tarea 2
Retirada
- Un proceso est compuesto por actividades. - Una actividad est compuesta de tareas.
18
- La descomposicin del proceso en actividades y tareas se realiza sobre el concepto de ciclo de mejora PDCA Plan Do Chek Act (Planificacin, ejecucin, medicin y mejora)
INICIO
PLAN
Tareas, agenda, asignaciones
ACT
Problemas y acciones correctivas
PROCES O
CHECK
Evaluacin y medicin
DO
Ejecicin de planes y tareas
FIN
19
Sistema
Sistema de Salida
20
Ingeniera de sistemas El trmino Ingeniera de sistemas surgi por primera vez en 1956, y fue propuesto por H. Hitch, presidente del departamento de Ingeniera Aeronutica de la Universidad de Pensilvania, para intentar desarrollar una disciplina de ingeniera que pudiera abarcar el desarrollo de grandes sistemas que empleaban diversas disciplinas de ingenieras especficas: construccin de bombarderos, submarinos, etc. Los principios de Ingeniera de sistemas desarrollados en los 60 y 70 se aplicaron en programas como el Apolo, o el programa de misiles balsticos USAF/USN.
21
Algunas definiciones
Ingeniera de sistemas comprende la funcin de gestionar todo el esfuerzo de desarrollo para conseguir un balance ptimo entre todos los elementos del sistema. Es el proceso que transforma la necesidad operacional en la descripcin de los parmetros del sistema, e integra esos parmetros para mejorar la eficiencia general del sistema. Defense Systems Management College, 1989 Los procesos de ingeniera de sistemas integran las secuencias de actividades y decisiones que transforman la definicin de una necesidad en un sistema, que con un ciclo de vida optimizado, consigue un balance ptimo de todos sus componentes. USAF, 1985 La principal funcin de la ingeniera de sistemas es garantizar que el sistema satisface los requisitos durante todo el ciclo de vida. Todas las dems consideraciones se alinean sobre esta funcin. Wymore 1993
- Definicin del problema: Determinacin de las expectativas hacia el producto, necesidades y restricciones obtenidas y analizadas en los requisitos del sistema. Trabaja cerca del cliente para establecer las necesidades operacionales. - Anlisis de la solucin: Determinar las opciones posibles para satisfacer los requisitos y las restricciones. Estudiar y analizar las posibles soluciones. Seleccionar la mejor, sopesando las necesidades inmediatas, opciones de implementacin, utilidad, evolucin del sistema - Planificacin de los procesos: Determinar los grupos de tareas tcnicas que se deben realizar, el esfuerzo requerido para cada una, su prioridad y los riesgos que implican para el proyecto. - Control de los procesos: Determinar los mtodos para controlar las actividades tcnicas del proyecto y los procesos; la medicin del progreso, revisin de los productos intermedios y ejecucin de las acciones correctivas, cuando corresponda. - Evaluacin del producto: Determinar la calidad y cantidad de los productos elaborados, a travs de evaluaciones, pruebas, anlisis, inspecciones
22
Ingeniera de sistemas
Definicin del problema
Anlisis de la solucin Planificacin de procesos Control de procesos Evaluacin del producto
23
Diseo del sistema Ingeniera de sistemas Ingeniera de sistemas de software Anlisis de requi. del sw
Pruebas del sistema de sw Pruebas de integr. del sw Pruebas del subsistema de softw.
24
25
1.1.12 El software
El software es un elemento lgico en lugar de fsico, de un sistema. El software se desarrolla o construye, no se manufactura (componentes del hardware, los cuales pueden incluir problemas de calidad inexistentes o sea, fcil de corregir en el software), el software no se desgasta, pero se deteriora (el cual se corrige con un mejor diseo: implementacin) Los costos del software se concentran el la ingeniera, esto quiere decir que los proyectos de software no se pueden manejar como si fueran proyectos de manufactura. El hardware tiene un nmero considerablemente alto de posibles fallas al inicio de su vida til, se hace referencia a defectos de diseo de fbrica (manufactura). Tambin con el tiempo causa fallas en el hardware la acumulacin de polvo, la alta vibracin, el abuso del hombre sobre los diferentes componentes, las temperaturas extremas y muchos otros factores que hacen parte del medio ambiente. Se puede decir que el hardware comienza a desgastarse. El software es inmune a los males ambientales que desgastan al hardware. Los errores del software se corrigen, o sea que se implementan.
27
Software de aplicacin: son programas independientes que resuelven una necesidad de negocios especfica. Ejemplo: el procesamiento de transacciones en los puntos de venta.
Software cientfico y de ingeniera: se caracteriza por algoritmos. Abarca desde la astronoma hasta la vulcanologa, desde el anlisis de la tensin automotriz hasta la dinmica orbital de los transbordadores espaciales, y desde la biologa molecular hasta la manufactura automatizada. Diseo asistido por computadora. Software emportado o incrustado: reside en la memoria de solo lectura del sistema y con l se implementan y controlan caractersticas y funciones para el usuario final y el sistema mismo. Ejemplo: control del teclado de un horno microondas, las funciones digitales de un automvil, como el control de combustible, los sistemas de frenado, entre otros.
28
29
30
Son los pasos predecibles que hay que realizar para crear el programa. Es decir, un mapa de carretera que ayude a crear un resultado de alta calidad y a tiempo. (definirlo, construirlo y probarlo), es importante seguir los pasos porque ofrece estabilidad, control y organizacin a una actividad que puede volverse catica si no se controla. Este enfoque debe ser gil, debe requerir solo aquellas actividades, controles y documentaciones apropiados para el equipo del proyecto y el producto que ha de producirse. Se est seguro de que se ha hecho correctamente cuando se determina la madurez, la calidad, la viabilidad del producto que se construye.
31
El desarrollo del software es un proceso de aprendizaje social, es un proceso iterativo de aprendizaje y como resultado la materializacin del conocimiento recolectado, depurado y organizado conforme el proceso estuvo en ejecucin. El proceso de un software es un marco de trabajo para las tareas que se requieren en la construccin de software de alta calidad. El proceso es un sinnimo de Ingeniera del Software. Un proceso de software define el enfoque que se adopta mientras el software est en desarrollo, pero la ingeniera del software tambin abarca las tecnologas que requiere el proceso (mtodos tcnicos y herramientas automatizadas)
La ingeniera del software la realizan personas creativas y con conocimiento que deben trabajar en un proceso de software madurado que sea apropiado para el producto que construyen y para las demandas de sus mercados.
32
Proceso
Un enfoque de calidad
33
34
35
Mtodos
Proceso
(Gestin - Operativos)
Filosofa - enfoque
36
Filosofa - Enfoque
ISO/IEC 15504/SPICE
Mtodos
Ing. de sistemas
Ing. de software Ing. de requisitos OO UML XMI CMM y CMMI IEEE Ing. del software de sala limpia
Proceso
(Gestin - Operativos)
Filosofa - enfoque
Reingeniera de software
37
Proceso
Modelo O. Genrico (C.P.M.C.D.)
Mtodos
Proceso
(Gestin - Operativos)
Filosofa - enfoque
38
Mtodos
Modelado del anlisis
Mtodos
Proceso
(Gestin - Operativos)
Filosofa - enfoque
39
Herramientas
Diagramas de escenarios
Mtodos
Diagramas de flujo
Diagramas de clases Diagramas de comportamiento Etc.
Proceso
(Gestin - Operativos)
Filosofa - enfoque
40
Informacin
Conocimiento
Sabidura
Nivel 2: Administrado: Todos los criterios del nivel 1 han sido satisfechos. Toda la gente que ejecuta el trabajo tiene acceso a los recursos adecuados para realizar su labor, los clientes estn implicados de manera activa, todas las tareas de trabajo y productos estn monitoreados, controlados y revisados y son evaluados en apego a la descripcin del proceso.
Nivel 3: Definido: todos los criterios del nivel 2 se han cumplido. Nivel 4: Administrado en forma cuantitativa: todos los criterios del nivel 3 han sido cumplidos, adems, el rea del proceso se controla y mejora mediante mediciones y evaluacin cuantitativa. Los objetivos cuantitativos para la calidad y el desempeo del proceso estn establecidos y se utiliza como un criterio para administrar el proceso. Nivel 5: Mejorado: Todos los criterios del nivel 4 han sido satisfecho. Adems, el rea del proceso se adapta y mejora mediante el uso de medios cuantitativos (estadsticos) para reconocer las necesidades cambiantes del cliente y mejorar de manera continua la eficacia del rea del proceso que se est considerando.
42
1.2.2 Niveles de complejidad del producto de la I.S. Sin asociatividad en un contexto. Ej.: edad. Asociatividad en un contexto. Ej.: Menor de edad.
Datos
Informacin
Conocimiento
Sabidura
Creacin de principios generalizados con base en el conocimiento procedente de fuentes diferentes. Ej.: Segn la psicologa, la neuropsicologa, la neurociencia y la sociologa la situacin se debe enfrentar con x decisiones.
43
La generacin de nuevo hardware y de los diferentes mecanismos se realiza para el servir a las pretensiones reprimidas de la ingeniera del software.
La ingeniera del software simplemente obedece a las necesidades del bien y del mal y esto queda evidenciado cuando el desarrollo tecnolgico es jalonado por los avances en la medicina y en la guerra.
44