Está en la página 1de 17

Universidad Dominicana O&M

Ingeniería de Software
Sección 1203

Prof. Ing. Fausto Batista

Fabtecnology@walla.com
Proyectosistema@gmail.com

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
Ingeniería de Software

TEMA I (Continuación)
Características de la Ingeniería del
Software

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
Características de la Ingeniería del
Software

Características del Software

 El software se desarrolla - no se manufactura

 El software no se "descompone

 La mayoría del software se hace a la medida. No se


ensambla de componentes

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
Mitos del software
 Si fallamos en la planificación podemos añadir más programadores
y recuperar el tiempo perdido.

 Una declaración general de los objetivos es suficiente para


comenzar a escribir los programas; podemos dar los detalles más
adelante

 Los requisitos del proyecto cambian continuamente pero los


cambios pueden acomodarse fácilmente

 Una vez que hicimos el programa y funciona, nuestro trabajo ha


terminado

 No hay forma de comprobar la calidad del software hasta que

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
Realidad del software
 Ley de Brooks: "Agregar gente a un proyecto atrasado, lo atrasa
aún mas".

Crear software no es una tarea particionable, como dice el


Principio de Brooks: "Gestar a un bebé tarda 9 meses, no
importa cuántas mujeres sean asignadas a la tarea
 Una mala definición inicial es la principal causa del trabajo en
vano. Es esencial una descripción formal y detallada del ámbito
de la información, funciones, rendimiento, interfaces y criterios
de validación. Esto solo puede determinarse después de una
exhaustiva comunicación entre el cliente y el analista
 El impacto del cambio varía según el momento en el que se
introduzca

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
Realidad del software
 Los datos industriales indican que entre el 50% y
el 70% de todo el esfuerzo dedicado a un
programa se realizará después de que se le haya
entregado al cliente por primera vez e utilizan para
ilustrar la agenda del proyecto

 Hay técnicas que se pueden aplicar desde el


principio. Y ese es el objetivo de la ingeniería de
software y del curso

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
Estrategia para desarrollar software de
alta calidad
 Util (al cliente)
 Portable
 Mantenible
 Confiable
 Tenga integridad - resultados correctos con alto
grado de exactitud
 Eficiente
 Consistencia de función
 Accesible (al usuario)
 Buena ingeniería humana - fácil de aprender y
usar

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
¿Por qué surgió la ingeniería de software?

 Errores costosos por fallas en el software:

 Voyager

 Accidente nuclear de Chernobyl

 Accidente nuclear de Three Mile IslandTarjetas tragadas por


los cajeros automáticos

 Problemas para estimar tiempo, esfuerzo y costos de los


sistemas

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
¿ Por qué es importante la ingeniería de
software?
 Altos costos en el software.

 Necesidad de incrementar la productividad.

 Los sistemas son cada vez más grandes y complejos:

 NASA

 Sistemas financieros

 Iniciativa de defensa estratégica: "Star Wars"

 Cambios en la relación de costos del software y hardware.

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
El Proceso de Gestión de Riesgos

 Principios de los 60's: 80% hardware y 20% software

 Mediados de los 60's: 50%-60% hardware y 50%-40%


software

 Finales de siglo: menos de 20% hardware y más del


80% software

 Importancia del mantenimiento. A veces cuesta el doble que


el desarrollo.

 La mayor parte del dinero gastado en software se


gasta en actividades de mantenimiento

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
distribución típica de uso de tiempo en
la creación de un sistema de software
 el 40% del tiempo se gasta en las pruebas

 35% en el diseño

 20% en la implementación

 5% en el desarrollo conceptual y análisis de requerimientos.

Notas:Si tenemos en cuenta que la mayor parte de los


errores típicos (60% a 70%) en un producto son errores de
especificación o de análisis, no es raro que los sistemas
cuesten doble del costo estimado y tarden

en completarse muchos años más de los planeados


Ing. Fausto Batista Fabtecnology@walla.com
Preparacion y Elabacion de
Proyecto
Wasserman: Cita siete factores que según él han
alterado la práctica de la ingeniería de software

 Tiempos reducidos y limitados para productos


comerciales.

 Decremento de los costos de hardware e incremento en


los costos de desarrollo y mantenimiento.

 Computación de escritorio.

 Redes de área local (LANs) y ancha (WANs).

 Tecnología de objetos.

 Interfaces gráficas de usuario (GUIs).

 Decremento de la viabilidad del modelo de la cascada


(waterfall).
Ing. Fausto Batista Fabtecnology@walla.com
Preparacion y Elabacion de
Proyecto
Ocho Sugerencia de nociones fundamentales que
forman la base de lo que el cree es una disciplina
efectiva de ingeniería de software
 Abstracción.

 Métodos y notaciones de análisis y diseño.

 Hacer prototipos de la interface de usuario.

 Arquitectura del software.

 Proceso del software.

 Reutilización.

 Medidas de metas de mejoramiento.

 Herramientas y medio-ambientes integrados


Ing. Fausto Batista Fabtecnology@walla.com
Preparacion y Elabacion de
Proyecto
¿Cómo se construye el software?

 Crear el software requiere que el sistema se


divida de tal forma que las partes sean
compatibles. La creación de software se puede
caracterizar por una serie de pasos que van
desde los conceptos exploratorios hasta su retiro
final; esta serie de pasos se refieren generalmente
como el ciclo de vida del software.

 En general, independientemente del modelo de


ciclo de vida, los pasos se puede agrupar en tres
fases.

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
¿Qué hace el software?.

 Qué información será procesada.

 Qué función y rendimiento se desea.

 Qué interfaces serán establecidas.

 Qué restricciones de diseño existen.

 Qué criterios de validación se necesitan


para definir un sistema correcto.
Ing. Fausto Batista Fabtecnology@walla.com
Preparacion y Elabacion de
Proyecto
¿Como lo hace?.

 Algoritmos.

 Estructuras de datos.

 Arquitectura de software.

 Interface de usuario.

Ing. Fausto Batista Fabtecnology@walla.com


Preparacion y Elabacion de
Proyecto
Hay cuatro clases de cambios:
 Corrección. Corrige los errores (bugs) que se hayan
colado a través del proceso.

 Adaptación. Modifica el software para adaptarlo a


los cambios de su medio ambiente. Por ejemplo,
nuevas reglas de la empresa, nuevo CPU o sistema
operativo.

 Mejora. Modifica el software agregándole nuevas


funciones no especificadas en los requisitos
originales.

 Prevención. Hace cambios en el programa para


que se pueda corregir, adaptar y mejorar más
fácilmente. También se le conoce como
reingeniería del software.
Ing. Fausto Batista Fabtecnology@walla.com
Preparacion y Elabacion de
Proyecto

También podría gustarte