Para prueba

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 10,75 KB

 
Ingeniería de software: Disciplina científica y tecnológica que se preocupa de la producción sistemática y mantención de productos de software en un tiempo y presupuesto determinado.

El que sea una disciplina científica y tecnológica se refiere a que se trata de una nueva ciencia con fondo teórico y con aplicación de tecnologías.

La producción sistemática se refiere al desarrollo de productos de software siguiendo algún método estructurado (algún modelo de desarrollo)

De acuerdo a la definición, cualquier cambio realizado en un software es ingeniería de software, lo que quiere decir que bajo este punto de vista, producción y mantención se confunden llegando a ser sinónimos.

El término entrega separa lo que es producción de lo que es mantención, la entrega es una etapa que debe ser bien marcada en el desarrollo, de debe establecer un Recibí Conforme, un papel firmado por el usuario y por el programador, esto hace que desde ese momento en adelante cada cosa que se haga sobre el software en cuestión es parte de la mantención y no del desarrollo, con los consiguientes detalles de manejo económico de la situación.

PRODUCCION MANTENCION
------------------> | ------------------->
ENTREGA


Los distintos tipos de mantención que se pueden realizar son:

Correctiva: Se considera un error cuando no se cumple con los requerimientos planteados por el usuario y aceptados por el programador o desarrollador del sistema, es decir, no se traducen fielmente en el sistema los requerimientos o expectativas del usuario.
Se habla de requerimiento cuando este es conocido y aceptado por ambas partes; el documento formal que reúne la lista de requerimientos del usuario es un libro llamado levantamiento, que es un documento firmado por el usuario y al cual se remite el programador para la construcción del sistema.

Una mantención correctiva pretende reparar errores detectados en el sistema durante su uso habitual. Si estos errores corresponden a diferencias en base a los requerimientos del usuario, es de criterio del desarrollador como sean reparados, esto referido al aspecto económico, ya que este tipo de errores normalmente son de responsabilidad del desarrollador.

Otro tipo de errores son los concernientes a Hardware, otros Softwares, errores por falta de mantención de las máquinas, etc. Estos errores no son de responsabilidad del programador y su solución debe ser pactada económicamente según la cantidad de trabajo a realizar.


Adaptativa: Modificaciones hechas al sistema ante cambios en el entorno .
Aspectos modificables en una mantención de este tipo serían : Sistemas Operativos, Lenguajes, Hardware, Códigos, Algoritmos, etc.


Expansiva: Una mantención de este tipo consiste en agregar nuevas Cosas al programa.
Entre estas nuevas Cosas encontramos: Funciones, procedimientos, tablas al MER, requerimientos del usuario.


Vale la pena mencionar que un software no produce información sólo produce datos.
Y la diferencia fundamental entre datos e información es:
UNO O MAS DATOS SON INFORMACION SI LE SIRVEN A ALGUIEN.!!!!!!!!!!

Un buen producto de software debe ser entregado en un paquete que contenga los siguientes elementos o características.

Producto de Software
Software propiamente tal
Calidad
Capacidad de ser usado por personas ajenas al desarrollo del mismo
Documentación
Costo y Precio (CostoUso objetivo (utilidad), que sirva para lo que fue hecho.


Siempre, y por definición de ingeniería de software, un producto está sujeto a restricciones de tiempo y de presupuesto.

Usos de un software

Almacenar, administrar y controlar datos.
Realizar transformaciones en forma rápida y segura.
Control de dispositivos externos.
Resolver problemas imitando el razonamiento humano.
Manipular datos en forma flexible.
Almacenar grandes volúmenes de información.


Clasificación de los softwares.

Software de sistema (Asisten a otros softwares)
Software de Tiempo Real (Control de dispositivos)
Software de Gestión, Se logran primero con la organización y luego con la creación de sistemas.
Softwares de ingeniería o científicos.
Sistemas empotrados (Ej microondas)
Sistemas de inteligencia artificial
Sharewares: softwares de uso masivo y de bajo o ningún costo.












Pasos a seguir para la elaboración de un producto de software:


Primero es necesario conocer el espacio problema, este espacio nunca está bien definido y es de importancia relevante tratar de encasillarlo en límites determinados.

A partir del análisis de este espacio problema debemos generar un modelo del problema a resolver, este modelo es una representación del espacio problema, ya con las reglas y requerimientos del usuario claros. Se puede decir que las partes principales de un modelo para el desarrollo de un software son: Modelo de datos, Modelo de procesos, Modelo de flujos administrativos, etc. dependiendo de el espacio problema en cuestión.

En este modelo deben considerarse los puntos importantes en los que debemos centrar el cuidado en el desarrollo del sistema, una guía para esto son los parámetros de correctitud o parámetros de calidad.

En realidad el concepto de calidad es bastante subjetivo, en terminos computacionales, sobre todo en lo que es desarrollo de sistemas a empresas calidad significa Cliente Satisfecho



Parámetros de Calidad:

1º.- Utilidad : Se refiere a si el producto sirve finalmente para lo que fue hecho (si cumple con los objetivos o requerimientos del usuario) este parámetro así como todos los otros depende estrictamente de cada caso en particular, y en realidad no lo consideramos como parámetro, ya que todo software DEBE servir para lo que fue hecho.

Vale la pena mencionar que los resultados del desarrollo deben estar ligados fielmente a los objetivos y requerimientos planteados al principio del desarrollo .

Los parámetros a considerar en la práctica serían:

2º.- Eficiencia : Se refiere al grado de aprovechamiento de los recursos disponibles para el desarrollo (memoria, tiempo, administración de los dispositivos, dineros, [siempre tener en cuenta la definición de Ing de Soft.].
En el desarrollo informático el tiempo es el recurso más valioso.

3º.- Confiabilidad : Se refiere a que los datos entregados sean correctos, que el software no se caiga, sea por error o por datos incorrectos.
Deben existir condiciones preestablecidas como normales para el funcionamiento del sistema, y este parámetro se preocupa de la evaluación del software en condiciones normales de funcionamiento.

4º.- Robustez : Se refiere a como reacciona el software ante condiciones anormales de funcionamiento, y está ligado como inverso al parámetro de la confiabilidad.

5º.- Costeabilidad: Se refiere a todo lo que tenga que ver con el manejo de los costos de desarrollo, precio de venta del producto, restricciones en los costos de mantención del producto durante su funcionamiento habitual. Es necesario aplicar este parámetro durante el desarrollo del producto ya que no es agradable encontrarse después con que no hay recursos económicos para la sustentación del producto. Este parámetro se utiliza en ambientes de desarrollo, si un usuario decide comprar un software de los ofrecidos en el mercado abierto normal, no es aplicable.


6º.- Mantenibilidad : Se refiere a la capacidad del producto de software de recibir cambios o mantención, de acuerdo con las características antes mencionadas de un proceso de mantención (Corrección, Adaptación, Extensiones).

7º.- Reusabilidad : Grado en el que se puede reutilizar este software en la construcción de otro software similar, siempre considerando el marco de la legalidad vigente en lo que se refiere a la duplicación de programas.

8º.- Operatividad (Usabilidad) : Se refiere a la facilidad de uso para los usuarios ajenos al desarrollo del sistema. Puntualmente lo que se busca es una claridad en la interfaz usuario.

9.º- Compatibilidad : Se refiere a la capacidad de comunicarse internamente con otros productos o sistemas, compartir datos o tomar datos de bases de datos creadas previamente y usadas en otros softwares.

10º.- Conectividad : Se refiere a la capacidad de conectarse con otros sistemas pero habiendo redes de por medio, o sea con otros sistemas en otras máquinas incluso con otros entornos o sistemas operativos.

11º.- Portabilidad : Capacidad de un software de correr en máquinas distintas (se refiere principalmente a la portabilidad del código fuente).

12º.- Integridad : Capacidad del software para prevenir el manoseo indebido ( uso con propósitos ajenos al funcionamiento habitual del mismo), este parámetro trabaja bajo el concepto de cortafuego (Fire-Wall) .

13º.- Verificabilidad : Capacidad de un programa para realizarle pruebas.


Los parámetros de calidad se usan para evaluar un software existente o para considerarlos en la construcción de un nuevo programa.

No tiene sentido, y desde el punto de vista de la ingeniería de software es imposible e incorrecto cumplir con todos los parámetros.



DIFICULTADES TIPICAS EN EL DESARROLLO DE SOFTWARE


1º Incumplimiento de los plazos .

2º Baja calidad: no se cumple con alguno de los parámetros de calidad dados.

Las causas de estos problemas radican en las características esenciales del software .

- El software es intangible (No tiene propiedades físicas, es impredecible.

- El software es complejo por naturaleza

- El software es inconsistente, es decir, en situaciones iguales entrega respuestas distintas

- El software es variable, evoluciona, cambiando en relación a variaciones en el medio.

En general el software es una creación intelectual , producto de la persona, y está sujeta a estas cuatro características que son propias del ser humano.


Entradas relacionadas: