Post on 26-Jun-2020
transcript
INGENIERÍA DEL SOFTWARE
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.
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.
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.
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.
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:
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.
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:
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
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.
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.
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
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
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.