Ingenieria de Software Segun Pressman y Sommerville
Pressman
Software
El software es un producto final el cual es construido por programadores profesionales y al cual le prestan mantenimiento durante un largo tiempo, el software suple las necesidades contratadas por el cliente
La ingeniería de software está formada
por un proceso, un conjunto de métodos (prácticas)
y un arreglo de herramientas que permite a los profesionales
elaborar software de cómputo de alta calidad.
Los ingenieros de software elaboran y
dan mantenimiento al software, y virtualmente cada persona
lo emplea en el mundo industrializado, ya sea en forma
directa o indirecta.
El software es importante porque involucra casi todos los aspectos de la vida y hoy por hoy se encuentra en grandes comercios como tambein en pequeños comerios, cultura y actividades cotidianas
La ingeniería de software es importante porque nos
permite construir sistemas complejos en un tiempo razonable
y con alta calidad.
NATURALEZA DEL SOFTWARE
MULTIFUNCIONALIDAD
Dispositivos moviles
Computadoras
El software es un transformador de información
Despliega
Modifica
Produce
Transmite
Capacidad del Software
El software es capaz de administrar la información ya sea de un solo bit o tan compleja como una presentación con múltiples medios generados a
partir de datos obtenidos de decenas de fuentes independientes.
En los últimos tiempos la creciente evolución tecnológica del Hardware a permitido que el Software crezca en potencia y funcionalidad.
En la actualidad, la enorme industria del software se ha convertido en un factor dominante
en las economías del mundo industrializado
Definición de software
instrucciones (programas de cómputo) que cuando se ejecutan proporcionan las
características, función y desempeño buscados
El software se desarrolla o modifica con intelecto; no se manufactura en el sentido clásico
El software no se “desgasta”.
Aunque la industria se mueve hacia la construcción basada en componentes, la mayor parte
del software se construye para un uso individualizado
DOMINIOS DE APLICACION DEL SOFTWARE
Software de sistemas
Software de aplicación
Software de ingeniería y ciencias
Software incrustado
Software de línea de productos
Aplicaciones web
Software de inteligencia artificial
SOFTWARE HEREDADO
Los sistemas de software heredado fueron desarrollados hace varias décadas y han sido modificados
de manera continua para que satisfagan los cambios en los requerimientos de los negocios y
plataformas de computación. La proliferación de tales sistemas es causa de dolores de cabeza para
las organizaciones grandes, a las que resulta costoso mantenerlos y riesgoso hacerlos evolucionar.
1. Debe ser adaptable
2. Debe ser mejorado para suplir los requerimientos del negocio
3. Debe ser escalable a otros sistemas
4. La arquitectura también se debe re-diseñar.
WEBAPPS
Desde los incios de la red mundial, los sitios webs o paginas mostraban un conjunto de hipertexto vinculado con imagenes
Las WEBAPPS son igualmente categorizadas como el software.
Igualmente todas las WEBAPPS presentan los siguientes atributos
Uso intensivo de redes
Concurrencia
Carga impredecible
Rendimiento
Disponibilidad
Orientadas a los datos
Contenido sensible
Inmediatez
Evolución continua
Seguridad
Estética
INGENIERÍA DE SOFTWARE
Se debe
hacer un esfuerzo concertado para entender el problema antes de desarrollar una aplicación
de software.
El diseño se ha vuelto una actividad crucial
El software debe tener alta
calidad
El software debe tener facilidad para recibir
mantenimiento
La aplicación de un enfoque sistemático, disciplinado y cuantificable
al desarrollo, operación y mantenimiento de software; es decir, la aplicación de la ingeniería al software
La ingeniería de software es una tecnología con varias capas
Herramientas
Métodos
Proceso
Compromiso con la calidad
PROCESO DE SOFTWARE
es un enfoque adaptable que permite que las
personas que hacen el trabajo (el equipo de software) busquen y elijan el conjunto apropiado de
acciones y tareas para el trabajo.
Una estructura de proceso general para la ingeniería
de software consta de cinco actividades:
Comunicación
Planeación
Modelado
Construcción
Despliegue
PRINCIPIOS GENERALES
David Hooker [Hoo96] propuso siete principios que se centran en la práctica de la ingeniería
de software como un todo.
Primer principio: La razón de que exista todo
Segundo principio: MSE (Mantenlo sencillo, estúpido…)
Tercer principio: Mantener la visión
Cuarto principio: Otros consumirán lo que usted produce
Quinto principio: Ábrase al futuro
Sexto principio: Planee por anticipado la reutilización
Séptimo principio: ¡Piense!
COSTOS DE LA INGENIERIA DE SOFTWARE
El costo varia dependiendo como se elabore el mismo, existen cuatro mediciones de costos tentativas para calcular o estimar el costo del software .
Modelo en cascada
Desarrollo interactivo
Ingenieria del software basada en componentes
Software de larga vida
Sommerville
Define el concepto que el software no son solo programas, sino que son todos los documentos asociados y la configuracion de datos que se necesitan para hacer que estos programas operen de manera correcta