14
INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

  • Upload
    others

  • View
    9

  • Download
    1

Embed Size (px)

Citation preview

Page 1: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

Page 2: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

1

Sesión No. 3 Nombre: Tipos Contextualización

¿Cuál es la importancia de los requisitos de software?

Como hemos mencionado en las sesiones anteriores, los requisitos son la etapa

más importante del ciclo de vida, ya que es de donde vamos a partir para

desarrollar el producto, si no se tiene un buen análisis de requerimiento, el daño

no solo es a nivel de desarrollo, si no afecta a todo el proyecto como los costos,

tiempos, funciones innecesarias o inadecuadas, y la toma de decisiones

incorrecta.

Durante esta sesión haremos un enfoque principal a los requerimientos y las

funciones que implican, como las validaciones, captura, interpretación, tipos de

requerimientos, entre otros.

Page 3: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

2

Introducción al Tema

¿Cómo iniciar un desarrollo de software?

Para crear un desarrollo de software, necesitamos saber detalles como dónde se

va a operar el producto, la cantidad de usuarios que va a tener, si ya existe un

producto con las mismas funciones o que de alguna manera interactúan con

nuestra operación, las personas que lo van a administrar, etc., dependiendo de

eso podemos clasificar el producto final.

Actualmente, existen productos que se pueden comprar en una tienda

departamental y pertenecen al equipo de antivirus, también existen otros

productos que contienen la paquetería de oficina para nuestro equipo personal, y

no olvidemos todas las aplicaciones para dispositivos móviles , las cuales tienen

funciones diferentes, pero operan sobre plataformas similares; para estos

productos existen clasificaciones y algunos procesos que los diferencian entre sí,

los cuales veremos a través de esta sesión.

Page 4: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

3

Explicación

Tipos

¿Cuáles son los tipos de software que existen?

El software es la parte intangible e interna de un sistema de cómputo, cuando

se inició su desarrollo en los primeros equipos de cómputo era complicado

concluir una tarea y además que muchas de ellas fueran ejecutadas de forma

secuencial; en la actualidad, existen varias formas de distribuir el software

dependiendo de las tareas para las cuales ha sido desarrollado; por ejemplo,

cuando adquirimos un programa para visualizar videos de HD en nuestro equipo

de cómputo , también podemos adquirir un dispositivo USB capaz de convertir

nuestra consola de videojuego en un reproductor de videos.

Existen dos grandes clasificaciones del software que son:

Productos genéricos: son los productos desarrollados para el público en

general, cuentan con una lista precargada de requisitos, además de tener

versiones para distintos sistemas operativos, algunos de ellos contiene guías

personalizadas de uso. Algunos ejemplos pueden ser los antivirus, paquetería de

oficina, procesadores de texto, reproductores de diseño, editores de fotografía,

entre otros.

Page 5: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

4

Productos personalizados: Son los productos desarrollados para algún cliente

en específico, se caracteriza por ser software hecho a la medida y debido ha

esto es complicado distribuirlo al público en general. Algunos ejemplos pueden

ser los carritos de compras, páginas web para empresas, sistemas de

contabilidad, entre otros.

Algunos productos que existen en el mercado se clasifican en productos

genéricos, ya que su distribución es abierta pero sus funciones son enfocadas a

procesos particulares de la empresa, como los sistemas ERP, sistemas de

contabilidad, software para centros de cómputo, entre otros.

Requisitos

Los requisitos o requerimientos en el sistema son documentados en base a las

operaciones principales que tendrá el sistema, ya que son la parte principal y

más importante en la que vamos a iniciar el proyecto, como mencionamos

anteriormente, hay que poner principal atención a su ejecución y análisis.

Page 6: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

5

Figura 1.Sommerville, I. (2005).Ingeniería de software [Modelo en espiral de los procesos de la

ingeniería de requerimientos.] (p.131). Madrid: Pearson Educación

Concepto

Según Ian Sommerville, tenemos como requerimiento:

“Los requerimientos para un sistema son la descripción de los servicios

proporcionados por el sistema y sus restricciones operativas. El proceso de

descubrir, analizar, documentar y verificar estos servicios y restricciones se

denomina ingeniería de requerimientos (RE). El termino requerimiento no se

utiliza de una forma constante en la industria de software, un requerimiento es

simplemente una declaración abstracta de alto nivel de un servicio que debe

proporcionar el sistema o una restricción de éste.” (Sommerville, 2005, p.108).

Características

Algunas de las características principales de los requerimientos son:

Page 7: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

6

Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones

en su definición, es probable que se confunda con sus objetivos.

Comprobable: Ya que los requerimientos son basados en procesos,

debemos comprobar en algún momento que el requerimiento cumple con

la operación planteada.

Completo: Algunas veces un requerimiento se puede convertir en

módulos y tener actividades que derriben de él, en estos casos puede ser

que dividamos el requerimiento o analicemos la solución.

Documentado: Es la documentación principal y se involucra en diferentes

etapas el proyecto e incluso de forma legal, es por eso que los

requerimientos deben de realizarse en común acuerdo con el cliente para

evitar complicaciones.

Tipos de requisitos.

Los requerimientos de software se dividen base a su nivel de descripción, los

cuales son:

Requerimientos del usuario: son los requerimientos de alto nivel, se

describen los servicios que el sistema debe realizar y las restricciones que

tendrá.

Requerimientos del sistema: son los requerimientos que describen las

funciones operativas del sistema.

Asimismo, los requerimientos del sistema se subdividen en:

Requerimientos funcionales: describen los servicios que brindara el

sistema y su comportamiento en situaciones particulares.

Requerimientos no funcionales: describen las restricciones que tiene el

sistema, por ejemplo, tiempo, desarrollo, implementación, entre otros.

Requerimientos del dominio: describen las características y

restricciones del dominio de aplicación del sistema.

Page 8: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

7

Figura 2.Sommerville, I. (2005).Ingeniería de software [Tipos de requerimientos no funcionales.]

(p.112). Madrid: Pearson Educación

Captura

Algunas de las técnicas más comunes de requisitos son:

Entrevistas: En la entrevista se obtienen información de más de una persona

(cliente final), para conocer a fondo cada uno de los procesos del sistema.

Brainstorming: conocido también como “tormenta de ideas”, genera la

participación entre varios integrantes del equipo tanto del cliente final como del

equipo de desarrollo.

Análisis

Una vez que obtuvimos los requerimientos, se realiza un análisis para ver que la

información sea la que necesitamos. Las etapas fundamentales son:

Page 9: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

8

Reconocer el problema: reconoce las necesidades del sistema o del

cliente final, algunos analistas crean mesas de debate y lluvia de ideas

para que las personas del equipo den una percepción diferente acerca de

estas.

Evaluación y síntesis: en esta etapa se crea el flujo y la estructura de la

información, así como las restricciones y beneficios que tendrá el

desarrollo del sistema.

Modelización: una vez definido el flujo de trabajo, se crean los diagramas

finales de proceso de la parte operativa y funcional.

Especificación: en esta etapa se proporciona una representación del

software para que posteriormente se defina si se ha llegado a comprender

o hay que regresar a la etapa anterior.

Revisión: una vez concluidas las etapas anteriores se brinda la

documentación al cliente para su revisión, esto sirve para identificar si el

cliente tiene observaciones o modificaciones previas al desarrollo.

Figura 3.Sommerville, I. (2005).Ingeniería de software [El proceso de obtención y análisis de

requerimientos.] (p.134). Madrid: Pearson Educación

Page 10: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

9

Especificación

En la especificación se define el comportamiento que se desea del sistema,

tanto de calidad, operatividad, practicidad, entre otros; sin mostrar detalles

técnicos.

Validación

En la validación se aprueba el modelo y se certifica que es óptimo para cubrir las

necesidades del cliente, esta validación no solo se aplica a versiones finales sino

de igual manera a modelos previos.

Page 11: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

10

Conclusión

¿Cómo identificar el tipo de software?

Existen diferentes tipos de software en el mercado , algunos son desarrollados

para fines específicos y otros son para funciones generales, por ejemplo ,

algunos productos a la medida sirven para llevar la contabilidad de un negocio o

una empresa, realizar cálculos astronómicos , realizar mediciones médicas,

algunos productos genéricos son antivirus, productos de actualización del

sistema operativo, reproductores de música, etc.

Para cada desarrollo es importante que los requerimientos sean lo más claro

posibles y su definición depende del comportamiento y tamaño que va a tener el

producto final.

El producto o sistema final tendrá una mejor calidad si existe la participación de

ambos equipos (cliente y proveedor) para su desarrollo, ya que cada uno tiene

diferente percepción sobre su funcionalidad y esto es lo que lo hace un producto

óptimo.

Page 12: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

11

Para aprender más

Especificación de requerimientos de usabilidad.

• Fagalde, P. (2011).Artefactos de especificación de requerimientos de

usabilidad. (Tesis de ingeniería inédita). Facultad de Ingeniería.

Universidad de Buenos Aires, Sitio Web:

http://materias.fi.uba.ar/7500/fagalde-tesisingenieriainformatica.pdf

Ingeniería de requerimientos.

• Chávez, M. (2001). La ingeniería de requerimientos y su importancia en el

desarrollo de proyectos de software. InterSedes, 6(10). Sitio Web:

http://www.intersedes.ucr.ac.cr/ojs/index.php/intersedes/article/view/119/118

Page 13: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

12

Actividad de Aprendizaje

Instrucciones:

Para que reafirmes los conocimientos que has adquirido en esta sesión, tendrás

que realizar una actividad la cual consiste en realizar un mapa cognitivo de telaraña donde detalles el proceso de obtención de requerimientos, su

interacción y secuencialidad entre ellos.

Deberás guardarlo en formato JPG, para subirlo a la plataforma de la asignatura.

Es muy importante que tengas claros los conceptos de esta sesión, ya que más

adelante harás uso de ellos de manera práctica.

Para esta actividad se tomará en cuenta lo siguiente:

Título

Datos personales

Mapa cognitivo de telaraña

Ortografía y redacción

Bibliografía

Page 14: INGENIERÍA DEL SOFTWARE - UNID€¦ · NGENIERÍA DEL SOFTWARE 6 Preciso: Un requerimiento debe ser preciso, ya que si hay divagaciones en su definición, es probable que se confunda

INGENIERÍA DEL SOFTWARE

13

Bibliografía

• Pressman, R. (2002). Ingeniería de software .Un enfoque práctico. Madrid:

McGraw-Hill.

• Laudon, K. & Laudon, J. (2004). Sistemas de información gerencial:

administración de la empresa. México: Pearson Educación.

• Sommerville, I. & Alfonso, M. (2005). Ingeniería del software Madrid:

Pearson Educación.