El software de computadora es el producto que disean y construyen los ingenieros del software. Esto abarca programas que se ejecutan dentro de una computadora de cualquier tamao y arquitectura -Por qu se lucha para construir sistemas de alta calidad basados en computadoras? Esta lucha se debe a las mejoras que surgen da a da del hardware, al aumentarse la capacidad del hardware, tambin debe aumentar la capacidad del software. Tambin debe ser de alta calidad estos sistemas para su utilizacin en grandes negocios con grandes cantidades de clculos, deben satisfacer las necesidades del usuario -Qu mitos de software van existir? Mito de gestin: Los gestores con responsabilidad sobre el software, estn normalmente bajo la presin de cumplir los presupuestos hacer que no se retrase el proyecto y mejora la calidad Mito del cliente: un cliente que solicita una aplicacin del software puede ser una persona del despacho de a lado a una compaa exterior que solicita un software bajo contrato. Este mito conduce que al cliente se cree una falsa expectativa y quede insatisfecho con el que desarrolla el software Mito del desarrollador: los mitos de los que an creen muchos desarrolladores se han ido fomentando durante 50 aos de cultura informtica. Durante los primeros das del desarrollo del software, la programacin se vea como un arte, las viejas formas y actitudes tardan en morir -Qu es un proceso de software? Aunque existen similitudes entre el desarrollo del software y la construccin hardware. Ambas actividades son fundamentalmente diferentes. En ambas actividades la buena calidad se adquiere mediante un buen diseo, pero la fase de construccin del hardware puede introducir problemas de calidad que no existen (o son fcilmente corregidos) en el software -Qu modelos den procesos se pueden aplicar al desarrollo del software? -Modelo lineal secuencial: llamado algunas veces ciclo de vida bsica o modelo en cascada el modelo lineal secuencial sugiere un enfoque sistemtico, secuencial, para el desarrollo del software que comienza en un nivel de sistemas y progreso con el anlisis, diseo, codificacin, pruebas y mantenimiento -Modelo de construccin de prototipos: El paradigma de construccin de prototipos ofrece el mejor enfoque en: la eficacia de un algoritmo, de la capacidad de adaptacin de un sistema operativo, o de la forma en que debera llamarse la interaccin hombre-maquina -Modelo DRA: el desarrollo rpido de aplicaciones (DRA) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo de software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. Este modelo es una adaptacin a la alta velocidad del modelo lineal secuencial en el que se logra el desarrollo rpido utilizando una construccin basada en componentes Modelos evolutivos de proceso del software -Modelo incremental: El modelo incremental combina elementos del modelo lineal secuencial (aplicados repetidamente) con la filosofa interactiva de construccin de prototipos. El modelo incremental aplica secuencias lineales de forma escalonada mientras progresa el tiempo e el calendario. El modelo incremental entrega el software en partes pequeas, pero utilizables, llamadas (incremento) -Modelo espiral: el modelo en espiral. Propuesto originalmente por Boehm (BDE88). Es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de construccin de prototipos con los aspectos controlados y sistemticas del modelo lineal secuencial. -Modelo espiral WINWIN (victoria y victoria): sugiere una actividad del marco del trabajo que aborda la comunicacin con el cliente. El objetivo de esta actividad es mostrar los requisitos del cliente. -Modelo de desarrollo concurrente: se puede representar en forma de esquema como una serie de actividades tcnicas importantes, tareas y estados asociados a ellas. El modelo de proceso concurrente define una serie de acontecimientos que disparan transiciones de estado a estado para cada una de las actividades de la ingeniera del software. -Modelo de mtodos formales: comprende un conjunto de actividades que conducen a la especificacin matemtica del software de computadora. Los mtodos permiten que un ingeniero de software especifique, desarrolle y verifique un sistema basado en computadora aplicando una notacin rigurosa y matemtica.