Ingeniería del Software INF - 163

Slides:



Advertisements
Presentaciones similares
PROCESOS DE DESARROLLO DE SOFTWARE
Advertisements

Modelo Prescriptivos de proceso
UNIDAD I METODOLOGÍA DE APRENDIZAJE BASADA EN PROYECTOS Objetivo: El alumno identificará la metodología de aprendizaje basada en proyectos para el seguimiento.
Sistemas de Información Enfoques para la Construcción de los Sistemas de Información MBA Luis Elissondo.
CONCEPTO INGENIERÍA DE SOFTWARE  Analiza, diseña y desarrolla productos de sistemas software, proponiendo la plataforma tecnológica más apropiada. Domina.
Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
NORMA ISO DIS 9001:2015 Draft International Standard.
Lcdo. Eddy Cortez Sistemas II. Ingeniería de Requisitos.
NTC - ISO 9001 NORMA TÉCNICA COLOMBIANA (TERCERA ACTUALIZACIÓN)
ALCIBIADES VALLEJO BERRIO 2.1 INTRODUCCION 2- Requerimientos  Una de las fases más importantes en el proceso de construcción de software es la de adquisición,
La Norma ISO 25000, proporciona una guía para el uso de las series de estándares internacionales llamados requisitos y Evaluación de Calidad de Productos.
TEMA: PSP (Personal Software Process) ANALISIS DE SISTEMAS I ING. EDGAR RAUL MOLINA INTEGRAMTES: HANNSEL E. CORDON AC JESSICA IDALMY KRESS FREDERIC HESTIB.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
Para resolver los problemas reales de una industria, un ingeniero del software o un equipo de ingenieros debe incorporar una estrategia de desarrollo.
Análisis de Proyecto de Software.
Proceso de Mejora Continuo: CMM y CMMI
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Ingeniería de requisitos y
Diseño de interfases Sistemas de Información
Gestión de Proyectos.
Ciclo de vida del producto y decisiones de selección del proceso
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
SWEBOK.
Metodología de Sistemas Unidad IV: MÉTODOS ÁGILES
simulacion Resumen unidad 1 Equipo Baldor Huerta Ocejo Ivan de Jesus
U.T. 11: Introducción A Las Bases De Datos
CICLO DE VIDA DEL SOFTWARE
Gestión de Riesgos Corporativos
MOPROSOFT.
Ingeniería de Sistemas Requerimientos
Tema 3. Lenguaje unificado de modelado UML
CICLO DE VIDA DEL SOFTWARE
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Metodología Merise Universidad Nororiental Privada
TECNOLOGIA.
Ingeniería del Software
MODELO DE DIRECCIÒN POR CALIDAD
Ciclo de Vida del Software
Danny Frank Otero Arrascue Ingeniería de Requisitos / Requerimientos Advisor: MEJIA CABRERA HEBER IVAN.
MF. MARGARITA VALLE LEÓN
Ciclo de vida del Software
1.2. Desarrollo de Software
I N S T R U C O A L D I S E Ñ O MODELO ADDIE.
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
Análisis y diseño de aplicaciones. Introducción Crisis del software - conferencia organizada en 1968 por la Comisión de Ciencias de la OTAN en Garmisch.
FUNDAMENTOS DE MERCADEO PLAN DE VENTAS PROFESOR: ANA MUGNO PRESENTADO POR: FRANCISCO CAMPO 2018.
Planeamiento: un plan incremental para que la ingeniería web produzca resultados. La ingeniería web es un área que abarca procesos, técnicas y modelos.
Taller Contexto de la organización. Ing. Jorge Everardo Kaldman Vega. Ingeniero Ambiental Industrial Hermosillo Sonora, México C.P JULIO, 2018.
CICLO DE VIDA DE SOFTWARE
FUNDAMENTOS DE PROGRAMACIÓN. INTRODUCCIÓN  Conceptos: Informática, Ordenador, Programa, Dato, Bit, Byte, Hardware, Software, Lenguaje de Programación,
Planes del Proyecto.
Zegelipae.edu.pe. Aseguramiento de la Calidad Sesión 6.
Es el proceso de subdividir los entregables y el trabajo del proyecto en componentes más pequeños y más fáciles de manejar Se puede dar una visión estructurada.
Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS.
¿Qué es la Administración?
Metodología de Desarrollo de Sistemas II Ingeniería de Software  DEFINICIÓN La ingeniería del software es el establecimiento y uso de principios de.
IEEE Estándar para documentación de pruebas de software
Ing. Heriberto Hernández G. Matricula:
SOFTWARE PRESENTADO POR: THE APPLE. ¿QUÉ ES LA INGENIERÍA DE SOFTWARE ? La Ingeniería de Software es una disciplina de la Ingeniería que concierne a todos.
Fundamentos del analisis de sistemas de Información Integrantes: Cavero Parraguez, Jesús Espinoza Paz, Julio Daniel Sandoval Chanamé, Kazuo Santisteban.
ASIGNATURA: REINGENIERÍA DEL SOFTWARE CUATRIMESTRE: I DOCENTE: ING. IRENE MARTÍNEZ MEJÍA CORREO: Managua, 26 de Enero 2019
MELWIN SABIER FORERO RAMÍREZ EPISTEMOLOGIA. Unidad 1: Fase 2 - Identificar las teorías que sustentan las diferentes disciplinas.
INTEGRACIÓN DE SISTEMAS DE GESTIÓN MTO. LUIS EDUARDO ROCHA MAGAÑA Integración de Sistemas de Gestión.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
NORMA ISO/IEC 9126 Norma publicada en Usada para la evaluación de la calidad de software. Establece las características de calidad para productos.
MODELO EN CASCADA Integrantes: Felipe Alemán Lester Blandón.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
TEMA: Funciones, Roles y Procesos Docente: Jesús Ulloa Ninahuamán.
Estudio de Viabilidad del Sistema (EVS). Estudio de Viabilidad del Sistema Cuestiones ¿Qué es la viabilidad de un sistema? ¿Cuáles son los objetivos del.
Transcripción de la presentación:

Ingeniería del Software INF - 163 CAPITULO I INGENIERIA WEB Ingeniería del Software INF - 163 1.1 CONCEPTOS BASICOS Mg. Sc. Miguel Cotaña M. mickycotana@gmail.com La Paz - Bolivia Resumen preparado por Miguel Cotaña

CONTENIDO Introducción Modelos ágiles Ingeniería Web Formulación y planeación Modelado de análisis Modelado de diseño Pruebas IWeb

1. INTRODUCCION Método: Metodología: Procedimiento: Procedimiento para alcanzar un determinado fin Los métodos de la I.S. indican “cómo” construir técnicamente el software. Metodología: En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuándo y Cómo debe hacerlo Procedimiento: Método de ejecutar algunas cosas

Proceso: Herramientas: Modelo: Conjunto de las fases sucesivas de un fenomeno natural o de una operación artificial Una secuencia de pasos desarrollados para un proposito dado (por ejemplo, el proceso de desarrollo de software). Herramientas: Las herramientas de la I.S. proporcionan un enfoque automático o semi-automático para el proceso y para los métodos Modelo: Es la representación formal de un sistema

“Efecto 2+2=3” Enfoque de sistemas Intuitivamente decimos que cuando no hay “Sistema” se produce el: “Efecto 2+2=3”

Vision sistémica: La visión sistémica nos ayuda a “ver” el todo, apreciar su energía y descubrir sus características distintivas, aquellas que son propias del conjunto y que no existen en las partes. Esta visión permite ubicar al sistema en su entorno o realidad dinámica, integral, compleja e incierta, entre otras características.

“Efecto 2+2=5” Pensamiento sistemico: “El pensamiento sistémico es la disciplina que integra las demás ramas, fusionándolas en un todo coherente de teoría y práctica. .....Al enfatizar cada una de las demás disciplinas, el pensamiento sistémico nos recuerda continuamente que el todo puede superar la suma de las partes”, Peter Senge “Efecto 2+2=5”

Definiciones de Sistema Se origina en la palabra griega sunistánai, que significa: causa que mantiene la unidad. Conjunto de reglas o principios sobre una materia enlazados entre sí. Conjunto de cosas que ordenadamente y relacionadas entre sí, contribuyen a determinado objetivo. (Diccionario de la RAE) Sistema es cualquier proceso que convierte inputs en outputs. (H. Eisner)

¡ESTE ES UN SISTEMA! Hay un conjunto de elementos : las piedras Están interrelacionados entre sí : la posición relativa entre ellas Tienen un objetivo común : trasmitir una información Alguien necesita resolver una necesidad o problema

Ingeniería de Sistemas (Ingenierizar un sistema) INGENIERIA DE SISTEMAS SISTEMAS INGENIERIA

+ Ingeniería de Sistemas (Origen teórico-científico) TEORÍA DE SISTEMAS METODO CIENTÍFICO Galileo Bertalanffy COMPONENTES INTERRELACIONES internas INTERRELACIONES con sistema superior OBJETIVO COMÚN FORMULACION del PROBLEMA MODELOS REPRESENTATIVOS ALTERNATIVAS de SOLUCIÓN VALIDACIÓN por EXPERIMENTACION “INGENIERÍA DE SISTEMAS”

Definicion de Ingenieria de Sistemas: “El diseño, producción y mantenimiento de sistemas dentro de las restricciones de costo y tiempo”, Sage (1992) “Una aproximación interdisciplinaria para posibilitar la realización de sistemas exitosos” INCOSE. (1999) “Las acciones técnicas y de control asociadas a los procesos de desarrollo de un sistema y sus capacidades” R. Stevens, P. Brook y S. Arnold.

Principios de la Ingenieria de Sistemas: Conozca el problema, el cliente y el usuario del sistema Use criterios de efectividad basados en las necesidades Establezca y administre los requerimientos Identifique y evalúe distintas alternativas de solución Verifique y valide los requerimientos y el desempeño Mantenga la integridad del sistema Use un proceso estructurado y documentado

Cumplir con los Principios de Ingeniería de Sistemas podría evitar: Esfuerzos Innecesarios

Cumplir con los Principios de Ingeniería de Sistemas podría evitar: Fustraciones #¿?{[/&#

Cumplir con los Principios de Ingeniería de Sistemas podría evitar: Desprestigio

El software se forma con: Las instrucciones (programas de ordenador) que cuando se ejecutan proporcionan las características, funciones y el grado de comportamiento deseado; Las estructuras de datos que permiten que los programas manipulen adecuadamente la información; Los documentos que describen la operación y el uso de los programas

Características: El software se desarrolla o construye, no se manufactura en sentido clásico (a pesar de las similitudes entre el desarrollo de Sw y la manufactura del Hw, ambas son diferentes); El software no se desgasta, pero se deteriora (cuando un componente del Hw se desgasta se sustituye con un repuesto. Pero en Sw no existen repuestos). El software es inmune a los males ambientales (polvo, vibración, temperatura);

Curva de fallos de Hardware Obsolescencia Defectos fabricación (ej: mortalidad infantil) Estropeado (desgaste) Indice de fallos Tiempo

Curva real Curva real de fallos de Software Defectos fabricación Cambio Curva ideal Curva real Indice de fallos Obsolescencia Tiempo

A pesar de que la industria tiene una tendencia hacia la construcción por componentes, la mayoría del software aún se construye a medida. Un componente Hw (tornillo) se puede reutilizar. Un componente de Sw se debe diseñar e implementar de forma que pueda utilizarse en muchos programas (creación de ventanas gráficas, menús desplegables) diferentes (encapsulan tanto los datos como el proceso)

Software de aplicación Software científico y de ingeniería Categorias del Software Software de sistemas Software de aplicación Software científico y de ingeniería Software empotrado Software de línea de productos Software basadas en Web Software de Inteligencia Artificial

EL PROCESO La construcción del software de ordenador es un proceso iterativo de aprendizaje y el resultado es una materialización del conocimiento recolectado, depurado y organizado conforme el proceso estuvo en ejecución

Existen mecanismos de evaluación del proceso de software que permiten a las organizaciones determinar la “madurez” del proceso de software. No obstante, la calidad, el tiempo requerido, la viabilidad a largo plazo del producto que se construye son los mejores indicadores de la eficacia del proceso que se utiliza.

Tres aspectos del proceso 1.- Definición del proceso Un proceso debe estar definido (documento que especifica actividades y procedimientos del proceso) 2.- Aprendizaje del proceso El conocimiento del proceso debe ser transferido a las personas (agentes) que lo ejecutarán 3.- Resultados del proceso Manifestación de los productos, como resultado de la ejecución de las actividades definidas por el proceso

Consideraciones acerca de los procesos Los comportamientos, actividades y tareas que desempeñamos para lograr un objetivo representan la ejecución del proceso para alcanzar dicho objetivo. Un proceso disciplinado se manifestará en patrones ordenados y consistentes de comportamiento individual o grupal Por tanto, un proceso da forma a las acciones y reacciones y tomamos frente a una determinada situación.

Proceso internalizado y proceso institucionalizado Cuando un proceso es desarrollado profesional y naturalmente por una persona, se dice que el proceso esta “internalizado” por la persona. En las organizaciones los procesos son comunes a grupos de personas. Para obtener disciplina en los procesos, estos deben ser establecidos como “institucionalizados” en la organización.

Ingenieria del software Definicion teoria practica [Ingeniería de software es] el establecimiento y uso de principios de ingeniería adecuados para obtener económicamente software que sea confiable y trabaje eficientemente en máquinas reales (Fritz Bauer) Pruebas y control de calidad Resolucion de problemas Administracion y gestion

La ingeniería de software no es ciencia informática. “Un científico construye con el objetivo de aprender, un ingeniero aprende con el objetivo de construir” La distinción entre ingeniería y ciencia en el software es el mismo que en otras disciplinas “Los científicos aprenden lo que es verdadero y cómo extender el conocimiento en su campo” “Los ingenieros aprenden lo que es verdadero, lo que es útil y cómo aplicar conocimiento bién entendido para resolver problemas prácticos”

Conocimientos enfocados y especializados Científicos Conocimientos enfocados y especializados Reportan básicamente a sus colegas científicos No necesitan licencia Ingenieros Conocimientos comprobados, efectivos y confiables de ámbito más general Se necesita un amplio entendimiento de todos los factores que intervienen en el desarrollo del producto. Responsabilidad con el publico Generalmente necesitan licencia para ejercer

Ingenieria del software: tecnologia estratificada Definicion segun el IEEE La ingenieria de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software; es decir, la aplicación de la ingeniería al software

La I.S. es una tecnología estratificada Cualquier enfoque de la ingeniería debe estar sustentado en un compromiso con la calidad. La gestión de la calidad Total, Sigma Seis y enfoques similares fomentan una cultura de mejora continua del proceso, y es esta cultura la que al final conduce al desarrollo de enfoques muy efectivos para la I.S.

herramientas métodos modelo de proceso enfoque de “calidad” El enfoque de calidad soporta a la I.S. Ingeniería de Software Software Engineering herramientas métodos modelo de proceso enfoque de “calidad”

MARCO DE TRABAJO PARA EL PROCESO Un marco de trabajo establece la base para un proceso de software completo al identificar un numero pequeño de actividades del marco de trabajo aplicables a todos los proyectos de software, sin importar su tamaño y complejidad. Abarca un conjunto de actividades sombrilla aplicables a lo largo del proceso del software.

Cada actividad dentro del marco de trabajo contiene un conjunto de acciones de ingeniería del software; es decir, una serie de tareas relacionadas que produce un producto del trabajo en la I.S. (por ejemplo, el diseño es una acción de la I.S.). Cada acción la forman tareas de trabajo individuales que completan alguna parte del trabajo implicado por la acción.

Marco de trabajo del proceso de software Actividades sombrilla Actividad del marco de trabajo #1 Accion de la ingenieria de software # 1.1 Tareas del trabajo Productos del trabajo Puntos de aseguramiento Fundamentos del proyecto Conjunto de tareas . Accion de la ingenieria de software # 1.k Conjunto de tareas . Tareas del trabajo Productos del trabajo Puntos de aseguramiento Fundamentos del proyecto Actividad del marco de trabajo #n Accion de la ingenieria de software # n.1 Tareas del trabajo Productos del trabajo Puntos de aseguramiento Fundamentos del proyecto Conjunto de tareas . Accion de la ingenieria de software # n.m Conjunto de tareas . Tareas del trabajo Productos del trabajo Puntos de aseguramiento Fundamentos del proyecto

Aplicacion del marco de trabajo en proyectos Comunicación. Implica una intensa colaboración y comunicación con los clientes; Planeación. Establece un plan para el trabajo de la ingeniería del software. Describe las tareas técnicas, los riesgos probables, etc. Modelado. Abarca la creación de modelos que permiten al desarrollador y al cliente entender mejor los requisitos del software y el diseño. Construcción. Esta actividad combina la generación del codigo y la realización de pruebas necesarias para descubrir errores en el código. Despliegue. Se entrega al cliente, quién evalua el producto recibido y proporciona información basada en su evaluación.

MODELOS PRESCRIPTIVOS Los modelos prescriptivos de proceso se propusieron originalmente para ordenar el caos del desarrollo de software. Estos modelos convencionales han traído consigo cierta cantidad de estructuras útiles. El trabajo de la IS y el producto resultante aún permanecen “al borde del caos”

Los modelos prescriptivos de proceso definen un conjunto distinto de actividades, acciones, tareas fundamentos y productos de trabajo que se requieren para desarrollar software de alta calidad. Estos modelos son una guía para el trabajo de la IS.

Los modelos prescriptivos de proceso proporcionan estabilidad, control y organización a una actividad que si no se controla puede volverse caótica. El proceso conduce a un equipo de software a través de un conjunto de actividades del marco de trabajo que se organizan en un flujo de proceso, el cual puede ser lineal, incremental o evolutivo.

Cualquier organización de IS debe describir un conjunto único de actividades dentro del marco de trabajo. También debe llenar cada actividad del marco de trabajo con un conjunto de acciones de IS, y definir cada acción en cuanto a un conjunto de tareas que identifique el trabajo (y los productos del trabajo) que deben completarse para alcanzar las metas de desarrollo.

Luego, la organización debe adaptar el modelo de proceso resultante y ajustarlo a cada proyecto, a las personas que lo realizarán, y el ambiente en el que se ejecutará el trabajo. Sin importar el modelo de proceso seleccionado, los ingenieros de software han elegido de manera tradicional un marco de trabajo.

Se les llama “prescriptivos” porque prescriben un conjunto de elementos del proceso: Actividades del marco de trabajo, Acciones de la IS, Tareas, Productos del trabajo, Aseguramiento de la calidad, Mecanismos de control del cambio para cada proyecto.

Cada modelo de proceso prescribe también un “flujo de trabajo”; esto es, la forma en la cual los elementos del proceso se interrelacionan entre sí.

Modelo en cascada Algunas veces llamado el ciclo de vida clásico, sugiere un enfoque sistemático secuencial hacia el desarrollo de software. Se considera 5 etapas: Comunicación Inicio proyecto Recopilación req Planeación estimación itinerario seguimiento Modelado análisis diseño Construcción código prueba Despliegue Entrega Soporte retroalimentacion

Modelos de procesos incrementales En algunas ocasiones los requisitos iniciales del software están bien definidos en forma razonable, pero el enfoque global del esfuerzo de desarrollo excluye un proceso puramente lineal. Además existe la necesidad de proporcionar en forma rápida un conjunto limitado de funcionalidad para el usuario y después refinarla y expandirla en las entregas posteriores. Entonces, en estos casos se elige el modelo incremental.

El modelo incremental: El modelo incremental aplica secuencias lineales de manera escalonada conforme avanza el tiempo en el calendario. Cada secuencia lineal produce “incrementos” del software. Se debe tener en cuenta que el flujo del proceso de cualquier incremento puede incorporar el paradigma de construcción de prototipos.

Al utilizar el modelo incremental, el primer incremento es un “producto esencial”, se incorporan requisitos básicos. Este producto queda en manos del cliente (o se somete a una evaluación). Como resultado de la evaluación se desarrolla un plan para el siguiente incremento. El plan afronta la modificación del producto esencial afin de satisfacer necesidades del cliente. Este procesos se repite hasta la entrega final.

Este modelo se enfoca en la entrega de un producto operacional con cada incremento. Los primeros incrementos son versiones incompletas del producto final, pero proporcionan al usuario la funcionalidad que necesita y una plataforma para evaluarlo. El modelo incremental es útil sobre todo cuando el personal necesario para una implementación completa no está disponible

Combina elementos del modelo en cascada aplicado en forma iterativa. Incremento #n Entrega del n-ésimo incremento Incremento #2 Funcionalidad y caractérísticas del Sw Entrega del 2do. incremento Incremento #1 Entrega del 1er. incremento Tiempo del calendario de proyecto

El modelo DRA El Desarrollo Rápido de Aplicaciones es un modelo de proceso de software incremental que resalta un ciclo de desarrollo corto. El modelo DRA es una adaptación a “alta velocidad” del modelo en cascada en el que se logra el desarrollo rápido mediante un enfoque de construcción basado en componentes. Si se entiende los requisitos y el dominio del proyecto. El proceso DRA permite crear un sistema completamente funcional dentro de un periodo muy corto.

Reutilización componentes Generación de código pruebas Modelado Equipo #n Modelado Modelado del negocio Modelado de los datos Modelado del proceso Equipo #2 construcción Reutilización componentes Generación de código pruebas Modelado Modelado del negocio Modelado de los datos Modelado del proceso comunicación Equipo #1 despliegue integración entrega retroalimentación construcción Reutilización componentes Generación de código pruebas planeación Modelado Modelado del negocio Modelado de los datos Modelado del proceso construcción Reutilización componentes Generación de código pruebas 60 – 90 días

Modelos de procesos evolutivos El software, al igual que todos los sistemas complejos, evolucionan con el tiempo. Los requisitos de los negocios y productos a menudo cambian conforme se realiza el desarrollo; por lo tanto, la ruta lineal que conduce a un producto final no será real; las fechas tope del mercado imposibilitan la conclusión de un producto completo.

Por lo que se debe presentar una versión limitada para liberar la presión competitiva y de negocios; se tiene claro un conjunto de requisitos del producto o sistema esencial. Pero todavía se deben definir los detalles de las extensiones del producto. Por lo que se necesita un modelo de proceso que haya sido diseñado de manera explícita para incluir un producto que evoluciones con el tiempo

Construcción de prototipos Con frecuencia un cliente define un conjunto de objetivos generales para el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida. En otros casos, el responsable del desarrollo de software está inseguro de la eficacia de un algoritmo, de la adaptabilidad de un SO. En estas y en otras situaciones , un paradigma de construcción de prototipos puede ofrecer el mejor enfoque

Modelo de construcción de prototipos Plan rápido comunicación Modelado Diseño rápido Construcción del prototipo Desarrollo Entrega y retroalimentación Modelo de construcción de prototipos

El modelo en espiral El modelo en espiral que Boehm propuso originalmente, es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de la construcción de prototipos con los aspectos controlados y sistemáticos del modelo en cascada. Proporciona el material para el desarrollo rápido de versiones incrementales del software.

Estimación Itinerario Analisis de riesgos Planeación modelado comunicación Analisis diseño Desarrollo del concepto Desarrollo de la Nueva Aplicación Mejora de la Aplicación Mantenimiento de la Aplicación Reingeniería Entrega retroalimentación Codigo construcción despliegue construcción

Modelos especializados de proceso Desarrollo basado en componentes Los nuevos componentes de software comerciales (NCSC), desarrollados por vendedores que los ofrecen como productos, se pueden emplear cuando el software está en proceso de construcción. Estos componentes proporcionan funcionalidad dirigida con interfaces bien definidas que permiten que el componente se integre en el software.

El modelo de desarrollo basado en componentes (DBC) incorpora muchas de las características del modelo en espiral. Es evolutivo por naturaleza y exige un enfoque iterativo para la creación del software. Sin embargo, el modelo configura aplicaciones a partir de componentes de software empaquetados previamente.

Desarrollo del software orientado a aspectos Independientemente del proceso de software que se elija, los constructores de software complejo implementan de manera invariable un conjunto específico de características, funciones y contenido de información. Estas características específicas del software se modelan como componentes (por ejemplo, clases orientadas a objetos) y después se construyen dentro del contexto de una arquitectura de sistema.

Conforme los sistemas basados en computadora se vuelven más elaborados (y complejos), ciertos “intereses” abarcan toda la arquitectura. Algunos intereses son propiedades de alto nivel de un sistema (por ejemplo, seguridad, falta de tolerancia). Otros intereses afectan las funciones (como la palicación de reglas de negocios), mientras que otros son sistemáticos (como la sincronización de tareas o la gestión de memoria).

Cuando los intereses se relacionan con múltiples funciones, características e información del sistema, con frecuencia se denominan “intereses generales”. Los requerimientos de aspectos definen estos intereses generales que ejercen un impacto a través de la arquitectura del software.