Ingeniería del Software

14
BRANDON RICO CACERES INGENIERIA DE SISTEMAS PROFESOR EDUARDO RUEDA FAJARDO

description

Componentes de la ingeniería del Software

Transcript of Ingeniería del Software

BRANDON RICO CACERES

INGENIERIA DE SISTEMAS

PROFESOR

EDUARDO RUEDA FAJARDO

Objetivos

-Potenciar la utilidad del manejo de la ingeniería del

software dándola a conocer y resaltando sus

componentes

Objetivos específicos:

-Identificar los distintos componentes del software

-Comprender el concepto de ingeniería de Software

-Determinar el significado de ingeniería de Software

Sala limpia

Contenidos:

1 Objetivos

2 Conceptos básicos

2.1 Definición de ingeniería de Software2.2 Definición de

ingeniería de software sala limpia

2.3 conocimiento componentes de software

2.4 clasificación del Software

2.5 Importancia del método Sala limpia

Ingeniería del software de sala limpia

Sala limpia es un método de ingeniería de software propuesto en

los años 80 por Harlan Mills, es una técnica que puede dar lugar a

un software de calidad extremadamente alta. Es un resultado de

la combinación del modelo convencional de ingeniería de

software, métodos formales, demostraciones de corrección y

estadística de especificaciones para el aseguramiento de calidad

(SQA).

Emplea la especificación de estructura de cajas para el modelado

de análisis y diseño, haciendo hincapié en la verificación de la

corrección, más que en la comprobación, como mecanismo

fundamental para encontrar y eliminar errores. Se aplica una

comprobación estadística de uso para desarrollar la información

relativa a la tasa de fallos necesaria para certificar la fiabilidad del

producto software. La filosofía de sala limpia es un enfoque

riguroso de la ingeniería del software. Se trata de un modelo de

proceso del software que hace hincapié en la verificación

matemática de la corrección, y en la certificación de la fiabilidad

del software. El resultado final es una tasa de fallo

extremadamente baja, que sería difícil o imposible de conseguir

empleando métodos menos formales.

Importancia del método de sala limpia. Los errores conllevan doble trabajo. Trabajar el doble lleva más tiempo y es más caro. ¿No sería maravilloso poder reducir dramáticamente la cantidad de errores (fallos informáticos) que se cometen en el diseño y construcción del software? Esto es lo que promete la ingeniería del software de sala limpia. Cuando el software falla en el mundo real, suelen abundar los peligros a largo plazo así como los peligros inmediatos. Los peligros pueden estar relacionados con la seguridad humana, con pérdidas económicas o con el funcionamiento efectivo de una infraestructura social y de negocios. La ingeniería del software de sala limpia es un modelo de proceso que elimina los defectos antes de que puedan dar lugar a riesgos graves. En la aplicación de este método de sala limpia se realizan las siguientes tareas: Planificación de Incrementos. Permite calidad temprana y continua interacción con el usuario. Facilita mejoras de proceso mientras el desarrollo progresa. El acercamiento incremental evita los riesgos inherentes integración tardía en el ciclo de desarrollo.

Recolección de requisitos. El propósito del proceso del

análisis de requisitos es:

Definir requisitos para el producto de software, incluyendo función, uso, ambiente, y funcionamiento.

Obtener un acuerdo con el cliente en los requisitos como la base para la función y especificación del uso.

Especificación de la estructura de cajas. Tres tipos

especiales de funciones matemáticas son importantes en el desarrollo a Sala limpia, debido a su correspondencia y correlación en el proceso de descomposición y verificación. Estas funciones son conocidas como la caja negra, la caja de estado y caja limpia. En la estructura de las cajas se pueden aplicar una variedad de estrategias de descomposición, además se puede incluir funcionabilidad y orientación a objeto. Diseño Formal. Mediante el uso del enfoque de estructura

de cajas, el diseño de sala limpia es una extensión natural y sin discontinuidades de la especificación. Dan los objetivos, los participantes, los criterios de entrada, las tareas, la verificación, las medidas y los criterios comunes de la salida en los procesos, así como elementos de proceso común. Verificación de Corrección. El equipo de sala limpia lleva a cabo una serie de rigurosas actividades de verificación de corrección aplicadas primero al diseño y después al código. El propósito del proceso de la verificación de la corrección, es verificar la corrección del incremento del software usando técnicas matemáticas. Generación de Código, inspección y verificación. Las especificaciones de estructura de caja que se representan mediante un lenguaje especializado se traducen la lengua de programación más adecuada. Planificación de la comprobación estadística, Comprobación estadística de utilización y Certificación. El propósito del proceso estadístico de prueba y de certificación es demostrar la aptitud del software para el uso en un experimento estadístico formal. La "aptitud para el uso" se define con respecto a los modelos de uso y a las

metas de la certificación empleados en el proceso de prueba. Las metas de certificación, primero establecidas en el plan de medida y refinadas en el plan de prueba de incremento, se pueden expresar en términos tales como índice de confiabilidad del software.

Componentes del Software La palabra Software traducida literalmente seria: partes blandas o suaves de la computadora en contraposición al hardware (partes duras) El software es entonces el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas. Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el software de sistema, tal como el sistema operativo, que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre

Aplicativos del Software

Clasificación del software

Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:

1. Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los

detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le proporciona al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:

Sistemas operativos (Windows, Linux, MacOS)

Controladores de dispositivos (Drivers, Codecs)

Herramientas de diagnóstico (Everest, Antivirus)

Herramientas de Corrección y Optimización (Ccleaner)

Servidores (FileZilla, WampServer)

Utilidades (RedoBackup)

2. Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar

programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros:

Editores de texto

Compiladores

Intérpretes

Enlazadores

Depuradores

Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI).

3. Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas,

en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre otros:

Aplicaciones ofimáticas (Office, OpenOffice)

Software educative (Hot Potatoes, Jclic, Moodle, Dokeos, Prezi)

Software empresarial (ERP, CRM)

Bases de datos (Oracle, Mysql, sqlserver)

Telecomunicaciones (por ejemplo Internet y toda su estructura lógica, Skype, Messenger)

Videojuegos

Software médico (Historia Clínica Digital)

Software de Cálculo Numérico y simbólico (Matlab, Matematica)

Software de Diseño Asistido (Corel, AutoCad,PhotoShop)

Aplicaciones para Control de sistemas y automatización industrial

Software de Control Numérico (CAM)

Las características de un componente son los siguientes:

1.- Se define según cómo interactúa con otros.

2.- Es reusable a través de las aplicaciones.

3.- Encapsula sus funciones y sus datos.

4.- Puede verse como una caja negra.

5.- Puede contener otros componentes.

Y los componentes de un software son los siguientes:

1.- Símbolos gráficos. (Que identifican y describen los

componentes del sistema).

2.- Diccionario de datos. (Donde se describe todos los datos

usados dentro de la aplicación/sistema).

3.- Descripciones de procesos y procedimientos. (Contiene

toda la información y el lenguaje técnico utilizado).

4.- Reglas. (O sea que estándares utiliza para describir al

sistema de forma correcta).