Vous êtes sur la page 1sur 26

UNIVERSIDAD SAN PEDRO CEAIS Barranca Escuela Profesional de Ingeniera Informtica y de Sistemas

INGENIERA DEL SOFTWARE I

Ing. CIP Milton Chumbes Chafalote mchumbes_ch@hotmail.com

Temario

El software Evolucin del Software Caractersticas del Software Atributos de calidad del software Factores de productividad del software Problemas en el desarrollo de software Mitos del Software

El Software

El Software: Instrucciones que, cuando se ejecutan, proporcionan la funcionalidad deseada. Estructuras de datos que facilitan a las instrucciones manipular adecuadamente la informacin. Documentos que describen el desarrollo, uso, instalacin y mantenimiento de los programas. Software: "programas de computador, procedimientos, y, posiblemente, la documentacin asociada y los datos pertenecientes a las operaciones de un sistema de computacin". Incluye: entrenamiento, soporte al consumidor e instalacin.

Perspectiva histrica del desarrollo de software

Dcada 50-60:
Software como un aadido. Desarrollo artesanal, a medida. Lenguajes de bajo nivel.

Dcada 80-90:
Tecnologa de SGBDs, SOs... Nuevos paradigmas de programacin y de produccin de programas:
OO C/S

Dcada 60-70:
Software como producto. Dcada de lenguajes de programacin y compiladores Crisis del software.

90s - actualidad:
Anlisis/Diseo OO. Tecnologa CASE Componentes y reutilizacin Interoperabilidad (CORBA, .NET...) Internet
ISw. distribuida repositorios de componentes reutilizables e-business; e-commerce ...

Dcada 70-80:
Programacin estructurada. Ingeniera del Software. Primeros mtodos estructurados.

Caractersticas del software

Elemento lgico, no fsico. Desarrollado, no fabricado. No se estropea, se deteriora! (deterioro por cambios) Mayoritariamente cerrado: usar todo o nada (poco ensamblaje de componentes: reutilizacin--)

Curva de fallos del Hardware.

Defectos fabricacin Indice de fallos

Estropeado

Obsolescencia

Tiempo

Curva ideal de fallos del Software.

Defectos fabricacin
Indice de fallos

Obsolescencia

Mismo nivel hasta obsoleto

Tiempo

Curva real de fallos del Software.

Defectos fabricacin
Cambio Indice de fallos Cambio Cambio

Obsolescencia Curva ideal Tiempo

Tipos de Software

Software de Sistemas : Conjunto de programas que han sido escritos para servir a otros programas:
Compiladores Editores Utilidades de Gestin de Archivos Algunos Componentes del Sistema Operativo Manejo de Perifricos Procesadores de telecomunicaciones.

Software de Tiempo Real: Coordina/analiza/controla sucesos mundo real conforme ocurren:

del

Elementos que lo conforman Componente de adquisicin de datos que recolecta y da formato a la informacin recibida del entorno externo Componente de anlisis que transforma la informacin segn lo requiera la aplicacin. Componente de monitorizacin que coordina todos los dems Componente de control/salida que responda al entorno externo

Software de Gestin : El proceso de la informacin comercial constituye la mayor de las reas de aplicacin :
Sistemas discretos (nminas, cuentas de haberesdbitos, inventarios, etc.) SIG (sistemas de informacin de gestin), acceden a una o ms bases de datos que contienen informacin comercial Clculo interactivo (procesamiento de transacciones en puntos de venta)

Software de Ingeniera y Cientfico: Se caracteriza por los algoritmos manejo de nmeros:

de

Aplicaciones desde la astronoma hasta la vulcanologa De anlisis de presin de motores a la dinmica orbital de las lanzaderas espaciales De la biologa molecular a la fabricacin automtica CAD Simulacin de sistemas

Software Empotrado: Reside en memoria de slo lectura y se utiliza para controlar productos y sistemas de los mercados industriales y de consumo.
Ejecuta funciones muy limitadas y curiosas (control de teclas de un horno de microondas) Funciones significativas y capacidad de control (funciones digitales en un automvil tal como el control de la gasolina, indicadores, frenos, etc.

Software de Computadoras Personales: Uso personal


Aplicaciones en procesamiento de texto Hoja de clculo Grficos por computadora Multimedia Entretenimientos Gestin de bases de datos Aplicaciones financieras de negocios y personales Acceso a bases de datos

Software Basado en la Red: Recurso ilimitado que puede ser accedido por cualquiera en un modem.
Las pginas web buscadas por un explorador son software que incorpora instrucciones ejecutables (CGI,HTML, Perl o Java) Datos (Hipertexto y una variedad de formatos de audio y video)

Software de Inteligencia Artificial : Hace uso de algoritmos no numricos para resolver problemas complejos para los que no son adecuados el clculo o el anlisis numrico
Sistemas expertos, tambin llamados sistemas basados en el conocimiento Reconocimiento de patrones (imgenes y voz) Redes neuronales artificiales Prueba de teoremas Juegos.

Atributos de Calidad del Software


(Bell 2000)

Fiable Eficiente Robusto


Capacidad de ofrecer los mismos resultados bajo las mismas condiciones. Utilizacin ptima de recursos de la mquina. los

Portable Adaptable (extensibilidad) Inteligible


Capaz de integrarse en entornos distintos con el mismo esfuerzo.

Modificar alguna funcin sin que afecte a sus actividades.

Correcto

No poseer un comportamiento catastrfico ante situaciones excepcionales (Tolerante a fallos). Se ajusta a las especificaciones dadas por el usuario.

No Errneo

Diseo claro, bien estructurado y documentado.


No exista diferencia entre los valores reales y los calculados

Reutilizable (reusabilidad)

Factores de productividad

Basili y Zelkowitz [BAS78] definen cinco factores importantes que inciden en la productividad del software:

Factores humanos: El tamao y la experiencia de la organizacin de desarrollo. Factores del problema: La complejidad del problema que se debe resolver y el nmero de cambios en las restricciones o los requisitos del diseo. Factores del proceso: Tcnicas del anlisis y diseo qu se utilizan, lenguajes y herramientas CASE y tcnicas de revisin. Factores del producto: Fiabilidad y rendimiento del sistema basado en computadora. Factores del recurso: Disponibilidad de herramientas CASE, y recursos (hardware y software).

La problemtica actual del software

Incapacidad para estimar tiempo, coste y esfuerzo para el desarrollo de un producto software. Falta de calidad del producto software. Avance del hardware y necesidad de aplicaciones ms complejas. Cambio en la entre el hardware/software. relacin coste

Algunas causas
Naturaleza no fsica de la programacin. Problemas derivados de la intervencin de grupos. Problemas de comunicacin con los clientes. Poco esfuerzo en el anlisis y el diseo. Herramientas comerciales poco adecuadas. Problemas de gestin
Planificaciones optimistas, plantillas poco cualificadas...

Difusin limitada de las nuevas tcnicas, mtodos y herramientas. ...industria pendiente de su revolucin industrial.

Desarrollo del software. Comunicacin compleja

1. Lo que el director desea.

2. Como lo define el director de proyecto.

3. Como se disea el Sistema.

4. Como lo desarrolla el programador.

5. Como se ha realizado la instalacin.

6. Lo que el usuario quera.

Origen: desconocido

Inversin en desarrollo de sistemas software

Usado pero con trabajo extra o abandonado despues 19%

Usado despus de cambios ~ 3% Usado tal como se entreg ~ 2%

Pagado pero nunca entregado 29.7%

Entregado pero nunca usado 47%

Ao 1979 Total: $6.8 millones

Coste del software

TOTAL
1/4
Desarrollo inicial

Desarrollo inicial

1/3
Anlisis 1/6 y diseo codificacin

3/4

Mantenimiento

1/2
Validacin y puesta a punto (V/PP)

Codif. 1/24 1/12

1/8
V/PP

A/D

VALIDACIN + PP + MANT. = 7/8 (88%)

3/4
Mantenimiento

CODIFICACIN = 1/24 (4%) ANLISIS + DISEO = 1/12 (8%)

TOTAL

Mitos del Software

Mitos de Gestin:
Tenemos ya un libro que est lleno de estndares y procedimientos para construir software. No le proporciona ya a mi gente todo lo que necesita saber? Mi gente dispone de las herramientas de desarrollo de software ms avanzadas; despus de todo, les compramos las computadoras ms modernas Si fallamos en la planificacin, podemos aadir ms programadores y adelantar el tiempo perdido

24

Mitos del Software


Mitos del Cliente:
Una declaracin general de los objetivos es suficiente para comenzar a escribir los programas; podemos dar los detalles ms adelante Los requisitos del proyecto cambian continuamente, pero los cambios pueden acomodarse fcilmente, ya que el software es flexible

25

Mitos del Software

Mitos de los Desarrolladores: Una vez que escribimos el programa y hacemos que funcione, nuestro trabajo ha terminado Hasta que no tengo el programa ejecutndose, realmente no tengo forma de comprobar su calidad Lo nico que se entrega al terminar el proyecto es el programa funcionando

26

Vous aimerez peut-être aussi