Sei sulla pagina 1di 14

INGENIERIA DE SOFTWARE

Ingeniera
Conjunto de conocimientos y tcnicas usadas para aplicar el saber cientfico en el uso de la materia y fuentes de energa.

Software
Programas, aplicaciones, sistema operativo con el que el usuario interacta con la mquina.

Ingeniera de Software
Estudio de principios y mtodos para desarrollo y mantenimiento de sistemas de software. Conocimiento cientfico aplicado para desarrollar programas.

El Producto y el Proceso Curvas de fallos real e idealizada del software:

El Producto
El software tiene un doble papel. Es un producto, pero a su vez es un vehculo para entrega de un producto. Como producto permite el uso del hardware (PC, celular). Como vehculo acta como base de control (sistema operativo, o un sistema gestor de redes). El software hace entrega de lo que se considera como el producto ms importante del siglo veintiuno: la informacin.

Caractersticas del software


1. Se desarrolla, no se fabrica. 2. No se estropea. 3. Se construye a la medida.

Curva de Fallos del hardware:

Aplicaciones del software


Software de sistemas: programas que sirven a otros programas (compiladores, editores).

Software de tiempo real: analiza y controla sucesos del mundo real mientras sucede. Software de gestin: procesa informacin comercial (bases de datos, comunicaciones).

El Proceso
Son tareas requeridas para crear software de calidad. Se basa en solucin multicapas. Capas de la Ingeniera del Software:

La ingeniera de software puede considerarse una tecnologa multicapa, donde la primera capa enfatiza que los cimientos se orientan a la calidad. Herramientas: son mtodos utilizados para desarrollar software. Ayudan a organizar tareas de trabajo, controlar y supervisar los progresos y administrar la calidad tcnica. Su objetivo principal es proporcionar un soporte automtico o semiautomtico, para los procesos y mtodos (CASE, Computer Aided Software Engineering). Mtodos: indican cmo construir software de forma tcnica y cmo realizar los pasos necesarios del ciclo de vida. As pues, est el modelo de Construccin de Prototipos, el modelo de Desarrollo Rpido de Aplicaciones, el de Procesos Evolutivos, el modelo de Mtodos Formales, y por ltimo las Tcnicas de Cuarta Generacin. Proceso: son actividades, mtodos, prcticas y tecnologas aplicables a todos los proyectos de software. Un proceso bsico (tambin llamado ciclo de vida bsico) est conformado por el anlisis, diseo, codificacin, pruebas y mantenimiento.

Visin General del Proceso de Ingeniera de Software Fases de la Ingeniera del Software:
1. Definicin: qu debe hacer el sistema? 2. Desarrollo: cmo construir el sistema? 3. Mantenimiento: cambio asociado a corregir errores, adaptaciones y mejoras de usuario. Hay 4 cambios en esta fase: Cambios por correccin. Cambios por adaptacin. Cambios por mejoras. Cambios por prevencin.

Modelos del proceso de software


1. Modelo lineal: enfoque sistemtico secuencial para hacer software. 2. Modelo incremental: no secuencial, introduce iteraciones 3. De construccin de prototipos: construccin de modelos ejecutables, participacin directa del cliente en la construccin del software. 4. En espiral: no secuencial, tiene 4 fases: Planificacin, anlisis de riesgos, ingeniera, evaluacin del cliente.

Modelo DRA (Desarrollo Rpido de Aplicaciones)


Es un modelo de proceso de software incremental que resalta un ciclo de desarrollo corto. Es una adaptacin de "alta velocidad" del modelo de cascada. El proceso de DRA permite que un equipo de desarrollo cree un sistema completamente funcional dentro de un periodo de 60 a 90 das. Fases del Modelo DRA: Modelado de Gestin: flujo de informacin entre gestiones. Modelado de Datos: objetos necesarios de apoyo a la empresa. Modelado de Procesos: implementa funcin de gestin. Generacin de Aplicaciones: crear componentes reutilizables. Pruebas y entrega: tiempo reducido por reutilizacin de componentes.

Modelos Evolutivos:
Se acomodan a un producto que evoluciona con el tiempo. Tipos de Modelos Evolutivos: Modelo Incremental: aplica secuencias lineales en forma escalonada. Modelo Espiral: software construido en versiones incrementales. Modelo Win & Win: proporciona hitos de decisin antes de continuar el proyecto de desarrollo del software.

Las 4 P de la Gestin del Software


Personas: desarrolladores, ingenieros, usuarios, clientes. Proyecto: construye el producto. Elemento organizativo de la gestin. Producto: artefactos creados en la vida del proyecto Proceso: conjunto de actividades para crear el producto.

Actividades o prcticas para el personal de desarrollo de software:


Reclutamiento. Seleccin. Gestin de rendimiento. Entrenamiento. Retribucin. Desarrollo de Carrera. Diseo de la organizacin y del trabajo. Desarrollo cultural y de espritu de equipo.

Niveles de Proceso:
Inicial: situacin catica. Repetible: repeticin actividades anteriores. Definido: documentado. Gestionado: medidas detalladas. Optimizado: nuevas ideas.

Peopleware
Se refiere a cualquier cosa que tenga que ver con el papel de las personas en el desarrollo o uso de software y sistemas hardware. Gestores superiores: tienen mucha informacin en la realizacin de un proyecto. Gestores de proyecto: planifican, motivan y organizan a los profesionales que realizan el proyecto. Clientes: especifican los requisitos para la ingeniera del software. Usuarios finales: interactan con el software una vez producido.

Caractersticas de un jefe de equipo:


Sigue el modelo MOI: Motivacin: habilidad de producir conforme a mejores capacidades. Organizacin: habilidad de transformar el concepto en producto. Ideas e Innovaciones: motivar al personal para sentirse creativos. Aspectos Claves de Gestin: 1. 2. 3. 4. Resolucin de problemas. Dotes de gestin. Incentivos por logros. Influencia y construccin de espritu de equipo.

Tcnicas para armar equipos: DD: descentralizacin democrtica: no tiene jefe permanente. CC: centralizado controlado: jefe resuelve problemas de alto nivel. DC: descentralizado controlado: jefe coordina jefes secundarios. Modelos giles de proceso: Tipos de programacin:

1. Programacin extrema: orientada a objetos. Abarca reglas y prcticas que ocurren en el marco laboral: planeacin, diseo, cdigo, pruebas. 2. Desarrollo adaptativo del software: tcnicas p/construir software en sistemas complejos. Su ciclo de vida: especular, colaborar, aprender. 3. Mtodo de desarrollo de sistemas dinmicos: marco de trabajo para construir y mantener sistemas restringidos de tiempo, construyendo prototipos implementados en un proyecto controlado. 4. Mel: capacidad de declarar un producto como realizado. 5. Cristal: su meta es entregar software til y en funcionamiento. 6. Desarrollo conducido por caractersticas (DCC). 7. Mtodo gil (MA).

Mtricas
Son medidas cuantitativas que permiten tener una visin profunda de la eficacia del proceso de software y de los proyectos que dirige. Medida: proporciona una indicacin cuantitativa de un proceso o producto. Mtrica: relata las medidas individuales de un aspecto. Indicador: combinacin de mtricas que ofrecen una visin profunda del software o producto.

Mtricas en el proceso y dominios del proyecto:


Los indicadores de proceso permiten que una organizacin de ingeniera del software tenga una visin profunda de la eficacia de un proceso existente. Tambin permiten al administrador: 1. 2. 3. 4. 5. Evaluar el estado actual del proyecto. Seguir la pista de riesgos potenciales. Detectar reas del problema antes que sean crticas. Ajustar las tareas del trabajo. Evaluar la habilidad del equipo en controlar la calidad del software.

Medidas directas del proceso de software


Incluye costo y esfuerzo aplicado como LDC producidos, volumen de ejecucin, tamao de memoria

Medidas indirectas
Incluye funcionalidad, complejidad, caridad, fiabilidad, entre otras.

Mtricas orientadas a la funcin


Se centran en la funcionalidad o utilidad del programa.

Planificacin de Proyectos Estimacin del software:


Complejidad del proyecto: tiene un gran efecto sobre la incertidumbre; que es inherente a la planificacin. El tamao del proyecto: es otro factor importante que puede afectar a la precisin y eficacia de las estimaciones. Grado de estructuracin del proyecto: se refiere a la facilidad con que las funciones pueden ser compartidas y a la naturaleza de la informacin que debe ser procesada.

mbito del software:


Describe el control y los datos a procesar, la funcin, el rendimiento, las restricciones, las interfaces y fiabilidad. Implica control, datos, procedimientos, restricciones, fiabilidad, interfaces.

Estimacin de proyectos de software


1. 2. 3. 4. Dejar la estimacin para ms tarde. Basar la estimacin en proyectos similares ya terminados. Usar tcnicas de descomposicin sencillas p/ hacer estimaciones. Usar uno o ms mdulos empricos para estimar costos de software.

El Riesgo
Implica dos caractersticas: 1. Incertidumbre: acontecimiento que caracteriza al riesgo. 2. Prdida: si el riesgo se convierte en realidad habr prdidas. El riesgo se clasifica en las siguientes categoras: 1. Riesgos del Proyecto: amenazan el plan del proyecto. 2. Riesgos tcnicos: amenazan calidad del software a producir. 3. Riesgos del negocio: amenazan la viabilidad del software a construir. ste incluye: riesgo de mercado, estratgico, de producto, de direccin y de presupuesto.

Identificacin del riesgo


Es un intento sistemtico para especificar las amenazas al plan de proyecto, identificando riesgos conocidos y predecibles. Riesgos genricos: son amenaza potencial p/todos los proyectos de software. Riesgos especficos: slo lo pueden identificar el personal y el entorno.

Planificacin temporal y seguimiento de un proyecto


Tpicos para evitar retrasos en la realizacin de un proyecto: 1. 2. 3. 4. Haga una estimacin detallada usando datos de proyectos previos. Documente el plan. Renase con el cliente y explique que la fecha lmite no es realista. Oferte la estrategia de desarrollo incremental como alternativa.

Planificacin temporal
Macroscpica: principales caractersticas de la ingeniera de software. Detallada: tareas, entrada/salida.

Principios bsicos de la Planificacin Temporal


1. Compartimentacin: dividir el proyecto en actividades y tareas. 2. Interdependencia: secuencia de ejecucin de cada tarea. 3. Asignacin de tiempo: a cada tarea a programar se le asigna cierto nmero de actividades de trabajo. 4. Validacin del esfuerzo: sumatoria de las unidades de trabajo. 5. Responsabilidades definidas: tarea definida para un individuo. 6. Resultados definidos. 7. Hitos definidos.

Grado de Rigor
El riesgo se divide en 4 grados: Casual: aplicacin de todas las actividades estructurales del proceso. Estructurado: aplicacin de actividades relativas al tipo de proyecto. Estricto: aplica el proceso completo con un alto grado de disciplina. Reaccin rpida: aplica tareas necesarias para obtener una alta calidad.

Secuencia Lineal del Software


Requerimiento, anlisis, diseo, desarrollo, pruebas, implementacin. Planificacin preliminar: establece la capacidad de la organizacin para llevar a cabo el trabajo implicado por el mbito del proyecto. Valoracin del riesgo tecnolgico: evala el riesgo asociado con la tecnologa. Prueba de concepto: viabilidad de nueva tecnologa en contexto de software. Implementacin de concepto: representacin del concepto de manera que pueda resolverlo un cliente, empleado en propsitos de venta de concepto. Reaccin del cliente ante el concepto: solicita la opinin del cliente sobre un nuevo concepto de tecnologa encaminado a aplicaciones especficas.

Garanta de la Calidad del Software


Calidad: caractersticas medibles que se puedan comparar con estndares. La calidad del software se divide en 2 ramas: 1. Calidad de diseo: caractersticas que especifican los ingenieros del software para un elemento. 2. Calidad de concordancia: grado en que se cumplen las especificaciones del diseo durante su realizacin. Control de Calidad: serie de inspecciones durante el proceso de software, que asegura que cada producto cumpla con los requisitos asignados. Garanta de Calidad: audita las funciones de informtica de gestin. Ofrece gestin para informar de los datos necesarios sobre la calidad del producto. Costo de Calidad: costos efectuados en la bsqueda de la calidad y en actividades relacionadas a la obtencin de calidad. Se divide en 3 subcostos: 1. Costo asociado a la Previsin. 2. Costo asociado a la Evaluacin. 3. Costo asociado a los Fallos.

Definicin de la Calidad de Software


Concordancia con los requisitos funcionales y de rendimiento establecidos con los estndares de desarrollo documentado y caractersticas del software desarrollado profesionalmente.

Garanta de la Calidad de Software (QSA)


Para mantenerla se recomienda un conjunto de actividades QSA que se enfrenten con la planificacin de garanta de calidad. Las siguientes actividades facilitan la realizacin de la calidad: 1. Establecimiento del Plan de Calidad para un proyecto: implica las subtareas de evaluacin a realizar, auditora a realizar, estndares a

2.

3. 4. 5. 6.

aplicar, procedimientos para seguimiento de errores, documentos producidos por el equipo QSA, retroalimentacin de informacin dada al equipo de proyecto. Participacin en el desarrollo de la descripcin del Proceso de software del proyecto: el equipo de ingeniera de software selecciona un proceso para el trabajo que se va a realizar, revisa la descripcin del proceso para ajustarse a la poltica de la empresa y a estndares. Revisin de las actividades de ingeniera de software para verificar su ajuste al proceso de software definido. Auditora de productos de software designados para verificar el ajuste con los definidos como parte del proceso de software. Asegurar que las desviaciones del trabajo y los productos del software se documenten y manejen de acuerdo a un procedimiento establecido. Registrar lo que no se ajuste a los registros e informar a los superiores.

Gestin de la configuracin del software (GSC)


Actividad de autoproteccin aplicada durante el proceso de software. Las actividades GSC sirven para identificar, controlar, garantizar e informar el cambio a todos los interesados. La GSC se divide en 3 categoras: Programas de computadora, Documentos que los describen los programas y Datos.

Mantenimiento de software
Actividades de ingeniera de software producidas luego de que el software se entrega al cliente y se pone en funcionamiento.

Origen de los cambios Fuentes Fundamentales de los cambios


1. 2. 3. 4. Nuevos negocios que dictan cambios en requisitos del producto. Nuevas necesidades del cliente que demanda la modificacin. Reorganizacin del negocio que provoca cambios en las prioridades. Restricciones presupuestarias que provocan redefinir el producto.

Elementos de la Configuracin del Software (ECS)


Es un documento que consta de especificaciones de pruebas de una seccin individual de la especificacin total del proyecto. Control de versiones de software: permite al usuario especificar configuraciones alternativas de software mediante la seleccin de versiones.

Ingeniera de sistemas
Sistema: conjunto de cosas relacionadas de manera que forman una unidad. Definicin de Sistema basada en el Computador: conjunto de elementos organizados para realizar un objetivo predefinido procesando informacin. Su objetivo es soportar funciones del negocio, desarrollar producto rentable. Para conseguir el objetivo se necesitan los siguientes elementos del sistema: Software: programas de PC que hacen efectivo el control requerido. Hardware: dispositivos que proporcionan capacidad de clculo. Personas: usuarios y operarios del hardware y el software. Documentacin: informacin descriptiva que plasme el uso del sistema. Procedimientos: pasos que definen el empleo de elementos del sistema.

Ingeniera del Proceso del Negocio


Acercamiento para crear un plan general que implemente la arquitectura de computacin a la empresa. Se deben crear 3 arquitecturas dentro de los objetivos y metas del negocio: 1. Arquitectura de datos: brinda una estructura para las necesidades de informacin de un negocio o sus funciones. 2. Arquitectura de aplicaciones: elementos del sistema que transforman objetos en la estructura de datos por algn propsito del negocio. 3. Infraestructura tecnolgica: brinda el fundamento de las arquitecturas de datos y sus funciones.

Jerarqua de la Ingeniera de Procesos Actividades previas a la Definicin del Modelo


1. 2. 3. 4. Definir procesos que satisfagan necesidades de la visin considerada. Representar el comportamiento de procesos y sus supuestos. Definir entradas exgenas y endgenas de informacin al modelo. Representar todas las uniones que permiten al ing. entender la visin.

Restricciones para construir un modelo de sistemas: 1. 2. 3. 4. 5. Supuestos. Simplificaciones que permitan crear el modelo a tiempo. Limitaciones que ayuden a delimitar el sistema. Restricciones que guan la manera de crear e implementar el modelo. Preferencias que indican la arquitectura preferida para todos los datos, funciones y tecnologa.

Ingeniera del Producto


Consiste en traducir el deseo del cliente de un conjunto de cantidades definidas a un conjunto operativo. Para conseguir esta meta la ingeniera del producto debe crear una arquitectura y una infraestructura. La arquitectura comprende 4 componentes: hardware, software, datos y personas. La infraestructura comprende la tecnologa y el soporte requerido.

Potrebbero piacerti anche