Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


La complejidad inherente del software, Apuntes de Ingeniería del Software

Asignatura: Ingeniería del Software, Profesor: Ascension Lovillo Gil, Carrera: Ingeniería Informática, Universidad: URJC

Tipo: Apuntes

2014/2015

Subido el 29/04/2015

alexencinashumanes
alexencinashumanes 🇪🇸

5

(2)

1 documento

1 / 49

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Tema 1:
Introducción a la Ingeniería del
Software
Departamento de Ciencias de la Computación, Arquitectura de Computadores,
Lenguajes y Sistemas Informáticos y Estadística e Investigación Operativa
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31

Vista previa parcial del texto

¡Descarga La complejidad inherente del software y más Apuntes en PDF de Ingeniería del Software solo en Docsity!

Tema 1:

Introducción a la Ingeniería del

Software

Departamento de Ciencias de la Computación, Arquitectura de Computadores, Lenguajes y Sistemas Informáticos y Estadística e Investigación Operativa

Índice

1. La complejidad inherente del software

2. Definición y conceptos básicos de Ingeniería del

Software

3. Algunos principios de la Ingeniería del Software

Complejidad del SW

 Complejidad del software

 ¿Por qué es complejo el Software?

 Brooks ( No silver bullet ): “La complejidad del Software es una propiedad esencial y no accidental”  Complejidad accidental: se debe a la manera en que intentamos solucionar el problema  Complejidad esencial: es inherente al problema en sí mismo  Intentar gestionarla, no eliminarla

 Motivos (Booch):

 La complejidad del dominio del problema  La dificultad de controlar el proceso de desarrollo  La flexibilidad que ofrece el software  Los problemas para caracterizar sistemas discretos

Complejidad del SW

 Complejidad del dominio del problema

 Los problemas del mundo real son complejos (miles de

requisitos compitiendo y quizás contradictorios)

 Se añaden requisitos no funcionales: eficiencia, coste, fiabilidad, robustez, usabilidad...  Diferente perspectiva del mismo problema entre los usuarios y los desarrolladores  Requisitos gráficos y textuales  ¡Los requisitos cambian durante el desarrollo!  El desarrollo influye en que aparezcan más requisitos  Usuarios y desarrolladores  Los sistemas evolucionan  No se hace un nuevo sistema cada vez que hay un cambio

Complejidad del SW

 Flexibilidad que ofrece el software

 Ofrecer excesiva flexibilidad proporciona una complejidad

innecesaria

 Evitar ofrecer las primitivas de más bajo nivel

 Intentar utilizar estándares

 Como en otras ingenierías

 Evitar cambios excesivamente complejos

Complejidad del SW

 Problemas para caracterizar sistemas discretos

 El software trabaja con sistemas de estados discretos

 Estado del sistema:  Variables  Flujos de control  Eventos externos

 Cada evento externo puede cambiar el estado del sistema,

pero ¿se trata de un estado válido?

 Necesidad de pruebas  Proceso complejo, costoso y en

ocasiones imposible que sean exhaustivas

Índice

1. La complejidad inherente del software

2. Definición y conceptos básicos de Ingeniería del

Software

3. Algunos principios de la Ingeniería del Software

Definición y conceptos básicos

 ¿Qué es Software? (Roger S. Pressman)

 Las instrucciones (programas de ordenador) que al

ejecutarse proporcionan las características, funciones y un

rendimiento esperados

 Las estructuras de datos que permiten que los programas

manipulen información de manera adecuada

 Los documentos que describen la operación y uso de los

programas

Definición y conceptos básicos

 Diferente del hw

 El sw no tiene forma física, es intangible. Características:

 Se desarrolla, no se fabrica en el sentido clásico

 Pese a la tendencia hacia la construcción por componentes,

gran parte se construye a medida

 El SW no se rompe, se deteriora

T (^) T Hw Sw

Ideal

Real

Cambios

Roger S. Pressman

13

Definición y conceptos básicos

 Tipos de software

 Productos genéricos : Productos que son producidos por una

organización para ser vendidos al mercado.

 Productos hechos a medida: Sistemas que son desarrollados

bajo pedido a un equipo de desarrollo interno o externo a la

empresa.

 Ventajas e inconvenientes de los productos hechos a medida

 A veces la diferencia no está clara

Definición y conceptos básicos

 ¿Qué es Ingeniería del Software?

 “La Ingeniería del Software es la disciplina de ingeniería

encargada de todos los aspectos relacionados con la

producción de software desde sus etapas más tempranas de la

especificación del sistema hasta el mantenimiento del sistema

tras su puesta en marcha”

Ingeniería del Software – Ian Sommerville

Definición y conceptos básicos

 La ingeniería consiste en seleccionar el método más

apropiado para unas circunstancias

 Disciplina de ingeniería

 Los ingenieros de software usan las herramientas, métodos y

teorías para solucionar los problemas que aparecen

 Incluso teniendo en cuenta restricciones económicas y de

organización

 Todos los aspectos de la producción de software

 No sólo procesos técnicos del desarrollo, también:

 Gestión de proyectos, gestión de la configuración, desarrollo de herramientas de apoyo, métodos, calidad del software…

Definición y conceptos básicos. Conceptos

 Proyecto: objetivo desarrollar sistema software

 Actividad: conjunto de tareas con un objetivo ( Fases )

 Tarea: unidad atómica de trabajo

 Producto/Resultado (Sistema, modelo, documento…)

 Internos/externos (entregables)

 Recurso (Participante, tiempo, equipamiento)

 Dependencias

Definición y conceptos básicos. Conceptos

Proyecto

Actividad

Producto Tarea Recurso

Sistema

Modelo

Documento

Participante

Tiempo

Equipamiento

  • (^) *