TEMA 7: INGENIERIA DEL SOFTWARE

TEMA 7: INGENIERIA DEL SOFTWARE. 7.1. Definición de software 7.2. Características del software 7.3. Componentes del software 7.4. Ciclo de vida 7.4.1.

0 downloads 161 Views 179KB Size

Recommend Stories


Test de Tema 7. Test de Tema 7
Test de Tema 7 Test de Tema 7 El orden jurisdiccional contencioso-administrativo: naturaleza, extensión y límites. El proceso contencioso-administrat

TEMA 7 EL TEATRO DEL SIGLO XVII
Tema 7. El teatro barroco. 1 TEMA 7 EL TEATRO DEL SIGLO XVII 1.- TEATRO Y SOCIEDAD EN EL BARROCO.El teatro en este siglo no solo es importante desde

Story Transcript

TEMA 7: INGENIERIA DEL SOFTWARE. 7.1. Definición de software 7.2. Características del software 7.3. Componentes del software 7.4. Ciclo de vida 7.4.1. Análisis de requisitos 7.4.2. Diseño 7.4.3. Implementación 7.4.4. Pruebas 7.4.5. Mantenimiento

1

7.1. Definición de software El software es: 1. instrucciones (programas de computadora) que cuando se ejecutan proporcionan una función y el rendimiento deseados, 2. estructuras de datos que permiten a los programas manipular adecuadamente la información y 3. documentos que describen la operación y el uso de programas. 7.2. Características del software Cuándo se construye hardware, el proceso humano (análisis, diseño, construcción, prueba) se traduce finalmente en una forma física. Si construimos una nueva computadora, nuestro boceto inicial, diagramas formales de diseño y prototipo de prueba, evolucionan hacia un producto físico. El software es un elemento del sistema que es lógico, en lugar de físico. Así el software tiene unas características considerablemente distintas a las del hardware: 1. El software se desarrolla, no se fabrica en un sentido clásico. En ambas actividades la buena calidad se adquiere mediante un buen diseño, pero la fase de construcción del hardware puede producir problemas de calidad que no existen en el software. Los costes del software se centran en la ingeniería. 2. El software no se estropea. En la figura 1 se muestra, para el hardware, la proporción de fallos con respecto al tiempo. Es la denominada “curva de bañera”, indica que el hardware tiene relativamente muchos fallos al principio de su vida (por defectos de diseño o fabricación); una vez se han corregido los defectos, la tasa de fallos cae hasta un nivel estacionario donde permanece un tiempo. Sin embargo, conforme pasa el tiempo, los fallos vuelven a presentarse a medida que los componentes del hardware se estropean por el motivo que sea. El software no es susceptible a los males del entorno que hacen que el hardware se estropee. Por tanto la curva de fallos para el software sería la de la figura 2. Los defectos no detectados harán que falle el programa durante las primeras etapas de su vida. Sin embargo una vez que se corrigen, la curva se aplana. Esto es una simplificación porque el software no se estropea ¡pero se deteriora! Esto es debido a que el software sufre cambios (mantenimiento) durante su vida. Conforme se hacen los cambios, es probable que se introduzcan nuevos defectos, haciendo que la curva de fallos tenga picos, como muestra la figura 3. Antes de

2

que la curva pueda volver a su estado estacionario original, se solicita otro cambio, provocando un nuevo pico. Lentamente el nivel mínimo de fallos comienza a crecer; el software se va deteriorando debido a los cambios.

Curva de bañera

Fallos

(fig.1)

Tiempo

Fallos

Curva ideal del software (fig.2)

Tiempo

Curva real del software (fig.3)

Fallos Cambio

Curva real

Curva ideal

Tiempo

Otro aspecto de ese deterioro ilustra la diferencia entre hardware y software. Cuando un componente hardware se estropea, se sustituye por una “pieza de repuesto”. No hay piezas de repuesto para el software. Cada fallo en el software

3

indica un error en el diseño o en el proceso mediante el que se tradujo el diseño a código máquina ejecutable. Por tanto el mantenimiento del software es más complejo que el del hardware. 3. La mayoría del software se construye a medida, en vez de ensamblar componentes existentes. Para construir cualquier hardware, por ejemplo un circuito electrónico se hace un esquema y después se eligen las piezas y se ensamblan. Esto no lo pueden hacer los diseñadores de software. 7.3. Componentes del software A medida que la disciplina del software evoluciona, se crea un grupo de componentes de diseño estándar, (por ejemplo tornillos y circuitos en hardware). Los componentes reutilizables se han creado para que un ingeniero se pueda concentrar en elementos verdaderamente innovadores de un diseño. En el mundo software es algo que se tiene que lograr en una escala amplia. La reutilización del código es una característica importante para un componente de software de alta calidad. El componente debe diseñarse e implementarse para que pueda volver a ser reutilizado en muchos programas diferentes. Hay creadas bibliotecas que reutilizan de forma efectiva algoritmos bien definidos. Pero no solo esto, también hay estructuras de datos, partes de interfaces interactivas (ventanas, menús, etc.). 7.4. Ciclo de vida Un ciclo de vida se considera desde que un elemento nace o se imagina se desarrolla y finalmente muere o cae en desuso. El ciclo de vida de un elemento software es a grandes rasgos: - Nace la idea - Diseño - Desarrollo - Mantenimiento - Cae en desuso

4

Esto nos lleva a los siguientes pasos a la hora de desarrollar un programa: 1. Análisis de requisitos 2. Diseño 3. Implementación (codificación) 4. Pruebas 5. Mantenimiento 7.4.1. Análisis de requisitos El ingeniero o analista debe conocer el dominio del software a desarrollar, a quién va dirigido (cuáles serán sus usuarios), qué debe hacer y cuáles serán las limitaciones físicas que pueda tener. En esta parte de la ingeniería el analista ha de reunirse con el personal al que va dirigido el programa y ha de saber hacer las preguntas adecuadas para tener las respuestas correctas. 7.4.2. Diseño El diseño es realmente un proceso de muchos pasos. El diseño traduce requisitos en una representación del software que se pueda evaluar antes de que comience la generación del código. Va a ser donde se especifique cómo se tienen que realizar los procesos, las acciones… Tanto el análisis de requisitos como el diseño hay que documentarlos y se hace parte de la configuración del software. Un buen diseño es aquel que crea módulos reutilizables y además separa la capa de la interfaz de usuario de la capa de proceso (cómo se realizan los procesos). Esto facilita las modificaciones posteriores. 7.4.3. Implementación El diseño se debe traducir de forma legible por la máquina. Si se lleva a cabo el diseño de forma detallada, la generación de código se realiza mecánicamente. 7.4.4. Pruebas Una vez generado el código, comienzan las pruebas del programa. Hay que comprobar que todo funciona y lo hace de la forma deseada. Si se encuentra algún error al solventarlo habrá que volver a realizar los todos los pasos anteriores y las pruebas.

5

7.4.5. Mantenimiento El software sufrirá cambios después de ser entregado al cliente, ya sea porque se han encontrado errores o porque el cliente quiere que el software se adapte a cambios en el entorno. El diseño de esos cambios volverá a pasar por todos los pasos anteriores. Estos cinco pasos han de estar documentados, tiene que haber un documento en el que se expliquen los requisitos, todos los esquemas de diseño que se consideren necesarios, las pruebas que se han realizado y su resultado y un seguimiento del mantenimiento y modificaciones que se realicen. Por otra parte, el código ha de estar comentado, para facilitar el mantenimiento.

6

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.