Kategorier: Alla - implementación - software - requerimientos - especificación

av Alma Alvarado för 3 årar sedan

196

ÁMBITOS GENERALES DE LA INGENIERÍA DE SOFTWARE

La ingeniería de software abarca una serie de actividades esenciales que se organizan de diversas maneras en los procesos de desarrollo. Estas actividades incluyen la especificación, que define los servicios requeridos y las restricciones del sistema; la validación, que asegura que el sistema cumple con las especificaciones y expectativas del usuario; y el diseño e implementación, que transforma las especificaciones en un sistema ejecutable.

ÁMBITOS GENERALES DE LA INGENIERÍA DE SOFTWARE

Referencias Bibliográficas *https://elibro.net/es/ereader/uguayaquil/56294?as_all=ingenieria__de__software&as_all_op=unaccent__icontains&prev=as *https://elibro.net/es/ereader/uguayaquil/37857?as_all=ingenieria__de__software&as_all_op=unaccent__icontains&prev=as *http://zeus.inf.ucv.cl/~bcrawford/AULA_ICI_3242/Ingenieria%20del%20Software%207ma.%20Ed.%20-%20Ian%20Sommerville.pdf

1. Los modelos del sistema nuevo se emplean durante la ingeniería de requerimientos para ayudar a explicar los requerimientos propuestos a otros participantes del sistema.

2. Los modelos del sistema existente se usan durante la ingeniería de requerimientos.

ÁMBITOS GENERALES DE LA INGENIERÍA DE SOFTWARE

1. Introducción a la Ingeniería de Software

1.1. Que es la Ingeniería de Software.
Un sistema de software, denominado también aplicación o simplemente software, es un conjunto integrado de programas que en su forma definitiva se pueden ejecutar, pero comprende también las definiciones de estructuras de datos que utiliza estos programas y también la documentación referente a todo ello.
1.2. Que es un proceso de software.
Un proceso de software es una serie de actividades relacionadas que conduce a la elaboración de un producto de software. Estas actividades pueden incluir el desarrollo de software desde cero en un lenguaje de programación estando como JAVA o C.

Los procesos de Software son:

Evolución del Software

El software tiene que evolucionar para satisfacer las necesidades cambiantes del cliente.

Validacion del Software

Hay que validar el software para asegurarse de que cumple lo que cliente quiere.

Diseño e implementación del Software

Debe desarrollarse el software para cumplir con las especificaciones..

Especificación del Software

Tienen que definirse tanto la funcionalidad del software como las restricciones de su operación.

1.3. Definición de requerimientos del sistema
Los requerimientos para un sistema son descripciones de lo que el sistema debe hacer; el servicio que ofrece y las restricciones en su operación. " El termino requerimiento no se usa de manera continua en la industria del software.

Los requerimientos del usuario y los requerimientos del sistema se definen del siguiente modo:

Los requerimientos del sistema son descripciones mas detalladas de las funciones, y los servicios y las restricciones operacionales del sistema de software.

Los requerimientos del usuario son enunciados, en un lenguaje natural junto con diagramas, acerca de que servicios esperan los usuarios del sistema, y de las restricciones con los cuales este debe operar.

1.4. Modelado de Sistemas.
El modelo de sistema es el proceso para desarrollar modelos abstractos de un sistema, donde cada modelo presenta una visión o perspectiva diferente de dicho sistema. Los modelos se usan durante el proceso de ingeniería de requerimiento para ayudar a derivar los requerimientos de un sistema. Es posible desarrollar modelos tanto del sistema existente como el sistema a diseñar:

Tipos de diagramas

5. Diagrama de estado.

Que explican como reacciona el sistema frente a eventos internos y externos.

4. Diagrama de clase.

Que revelan las clases del objeto en el sistema y las asociaciones entre estas clases.

3. Diagrama de secuencias.

Que muestran las interacciones entre los actores y el sistema, y entre los componentes del sistema.

2. Diagrama de caso.

Que expone las interacciones entre un sistema y su entorno.

1. Diagramas de actividad.

Que muestran las actividades incluidas en un proceso o en el procesamiento de datos.

1.5. Desarrollo de los Subsistemas
Durante el desarrollo de los subsistemas, se implementan los que se hayan identificados durante el diseño del sistema. en esta etapa, puede tener que entrar de nuevo en la actividad de diseño para acomodar un componente comprado. es común que los subsistemas se desarrollen en paralelo

3. Procesos del Software

3.1. Modelos del proceso del software
Cada modelo de proceso representa un proceso desde una perspectiva particular, y así proporciona solo información parcial sobre ese proceso. Estos modelos generales no son descripciones definitivas de los procesos del software.

Los modelos de procesos que se incluyen en este capítulo son:

Ingeniería del software basa en componentes

Este enfoque se base en la existencia de un numero significativo de componentes reutilizables.

Desarrollo evolutivo

Este enfoque entrelaza las actividades de especificación, desarrollo y validación.

El modelo en cascada

Considera las actividades fundamentales del proceso de especiación, desarrollo, validación y evolución.

3.2. Iteración de Procesos.
Los cambios son inevitables en todos los proyectos de software grandes. Los requerimiento del sistema cambian cuando el negocio que procura el sistema responde a las presiones externas. Las prioridades de gestión cambian.

Desarrollo en espiral

El desarrollo del sistema gira en espiral hacia fuera.

Planificación

Desarrollo y validación

Evaluación y reducción de riesgos

Definición de objetivos

Entrega incremental

La especificación, el diseño y la implementación del software se divide en una serie de incrementos.

3.3. Actividades del proceso
Las cuatro actividades básicas del procesos de especificación, desarrollo, validación y evolución se organizan de forma distinta en diferentes procesos del desarrollo.

Validación del software

Se utiliza para mostrar que el sistema se ajusta a su especificación y que cumple las expectativas del usuario que lo comprará.

Diseño e implementación del software

La etapa de implementación del desarrollo de software es el proceso de convertir una especificación del sistema en un sistema ejecutable.

Especificación del software

Es el proceso de comprensión y definición de qué servicios se requieren del sistema y de identificación de las restricciones de funcionamiento y desarrollo del mismo.

3.4. Ingeniería de Software asistida por computadora.
Ingeniería de Software asistida por computadora (CASE) Es el nombre que se le da al software que se utiliza para ayudar a las actividades del proceso del software como la ingeniería de requerimientos, el diseño, el desarrollo de programas y las pruebas

Clasificación de CASE

Las clasificaciones de CASE nos ayuda a comprender los tipos de herramientas CASE y su papel en la ayuda a las actividades de proceso del software.

3. Una perspectiva de integración en la que las herramientas CASE se clasifican de acuerdo con la forma en que están organizadas en unidades integradas que proporcionan ayuda a una o más actividades del proceso.

2. Una perspectivas de proceso en la que las herramientas se clasifican de acuerdo con las actividades del proceso que ayudan

1. Una perspectiva funcional en la que la herramientas CASE se clasifican de acuerdo con su función específica.

2. Sistemas Socio técnicos

2.1. Propiedades emergentes de los sistemas.
Las complejas relaciones entre los componentes de un sistema indican que el sistema es mas que simplemente la suma de sus partes. Este tiene propiedades que son propiedades del sistema como un todo.

Existen tres influencias conexas sobre la fiabilidad de un sistema:

3. Fiabilidad del operador

2. Fiabilidad del software

1. Fiabilidad del Hardware

Existen dos tipos de propiedades emergentes:

2. Las propiedades emergentes no funcionales

Se refieren al comportamiento de los sistemas en su entorno operativo.

1. Las propiedades emergentes funcionales

Aparecen cuando todas las partes de un sistema trabajan de forma conjunta para cumplir algún objetivo.

2.2. Integración del Sistema.
Durante el proceso de integración del sistema, se toman los subsistemas desarrollados de forma independiente se conjuntan para crear el sistema completo.

La integración creciente reduce el costo en la localización de errores.

Por lo general, es imposible confeccionar una agenda para el desarrollo de todos los subsistemas de tal forma que todos terminen el mismo tiempo.

2.3. Evolución del Sistema.
Los sistema grande y complejos tiene un periodo de vida largo. Durante su vida, se cambian para corregir errores en los requerimientos del sistema original y para implementar nuevos requerimientos que surgen. Los sistemas de computo se reemplazan por nuevas maquinas mas rápidas.

Las cuatro razones serian:

4. Al paso del tiempo, sus estructura se corrompe por el cambio de tal forma que se incrementa los costos de cambios adicionales.

3. A menudo no se registra las razones del diseño original.

2. Debido a que los subsistemas nunca son completamente independientes, los cambios en uno pueden afectar de forma adversa al funcionamiento o comportamiento de otros.

1. Los cambios propuestos tiene que analizarse cuidadosamente desde perspectivas técnicas y de negocio.

2.4. Sistemas Críticos
Los fallos de funcionamiento del software son relativamente comunes. estos sistemas se conocen como sistemas críticos. Si estos sistemas no ofrecen sus servicios de la forma esperada, pueden provocar graves problemas y perdidas importantes.

Hay tres tipos principales de sistema críticos:

Sistemas de negocio críticos

Son sistemas cuyo fallo de funcionamiento puede provocar costes muy elevados para el negocio que utiliza un sistema de este tipo.

Sistemas de misión críticos

Son sistemas cuyo fallo de funcionamiento puede provocar errores en algunas actividades dirigidas por objetivos.

Sistemas de seguridad críticos

Son sistemas cuyo fallo de funcionamiento puede provocar perjuicio, perdida de vidas o daños graves al medio ambiente.

Las propiedades más importantes de un sistema crítico es su confiabilidad.

Los sistemas no confiables pueden provocar pérdida de información

Los costes de los fallos de funcionamiento del sistema pueden ser enormes.

Los sistemas que son no fiables, inseguros desprotegidos son rechazados a menudo por sus usuarios.

2.5. Un sistema de seguridad crítico sencillo.
Hay muchos tipos de sistemas informáticos críticos, desde sistemas de control para dispositivos y maquinarias hasta sistemas de información y comercio electrónico. Estos podrían ser excelentes casos de estudio para un libro de ingeniería del software.
2.6. Confiabilidad de un sistema
La confiabilidad de un sistema informático es una propiedad del sistema que es igual a su fidelidad. La fiabilidad esencialmente significa el grado de confianza del usuario en que el sistema operará tal y como se espera de él y uqe no fallará al utilizarlo normalmente.

Existen cuatro dimensiones principales de la confiabilidad

Protección

La capacidad del sistema para protegerse a sí mismo frente a intrusiones accidentales o premeditadas.

Seguridad

La capacidad del sistema para funcionar sin fallos catastróficos.

Fiabilidad

La capacidad del sistema para proporcionar servicios como han sido especificados.

Disponibilidad

La capacidad del sistema para proporcionar servicios cuando son requeridos.

2.7. Disponibilidad y fiabilidad. Seguridad.
Las disponibilidad y fiabilidad de un sistema sosn propiedades que están estrechamente relacionadas y que pueden expresar como probabilidades numéricas.

Los sistemas de seguridad son sistemas en los que esencial que el funcionamiento sea siempre seguro.

El software de seguridad critico se divide en dos clases:

El software de seguridad critico secundario

Es el software que indirectamente puede provocar lesiones.

El software de seguridad critico primario

Es el software que esta embetido como un controlador en un sistema.