Este documento describe la importancia del diseño de ingeniería de software y cómo afecta la calidad de una aplicación. Explica conceptos como patrones, modularidad y atributos de calidad. También incluye un análisis de requisitos, diagrama de casos de uso y diagrama de clases para un sistema de evaluación y retroalimentación estudiantil. Concluye que el diseño de software es fundamental para el éxito de un sistema al determinar sus atributos de calidad como funcionalidad, usabilidad y mantenibilidad.
Propuesta de Sistema de Evaluación y Retroalimentación (SER)
1. Maestría en TecnologíaEducativa
ActividadIntegradora3
1
Actividad Integradora 5
Asignatura
Entrenamiento Basado en Web
Facilitador
Alumno
Lic. Alfredo Humberto Escalante Godinez
Matricula:
A0079201447
Culiacán Rosales, Sinaloaa 8 de Noviembre de 2015.
Maestría en Tecnología Educativa
3. Maestría en TecnologíaEducativa
ActividadIntegradora3
3
Introducción
En este trabajo se analiza la importancia del diseño de ingeniería del software y
como éste incide de manera significativa en el éxito de una aplicación, de la misma
forma abordaremos los atributos de calidad como la: usabilidad, funcionalidad,
confiabilidad, rendimiento y mantenibilidad.
Se definen y explican los conceptos de patrones y modularidad así como su
importancia dentro del diseño de sistemas.
Por último se anexa el análisis de requerimientos, el diagrama de casos de uso y el
diagrama de clases del programa que desarrollaré en el transcurso de esta materia
y el cuál he decido llamar Sistema de Evaluación y Retroalimentación (SER).
4. Maestría en TecnologíaEducativa
ActividadIntegradora3
4
Desarrollo
El diseño es un factor determinante en el éxito de un sistema computacional, de
hecho Pressman (2010) resume la importancia del diseño de software en la palabra
calidad. Durante esta fase se toman decisiones que afectarán el éxito del programa
y la facilidad con la que se le podrá dar mantenimiento a través de representaciones
del software capaces de evaluarse.
Por ejemplo, no llevar a cabo esa fase podría tener las siguientes consecuencias en
el desarrollo de un sistema:
Inestabilidad.
Poca flexibilidad a cambios.
Poca usabilidad.
Evaluación de calidad difícil.
El proceso de diseño de software es un proceso iterativo por el cual se traducen los
requerimientos en un plano para construir el software, para ello el diseño deberá:
Implementar todos los requerimientos señalados en el modelo de
requerimientos y dar cabida a todos los requerimientos implícitos que desean
los participantes.
Ser legible y comprensible para los desarrolladores, testers y los que le
brindarán soporte técnico a dicho sistema.
Proporcionar un panorama completo del software y abordar los dominios de
los datos, funciones y el comportamiento desde el punto de vista de la
implementación.
Hewlett-Packard desarrolló un conjunto de atributos de calidad a los que le dio el
nombre de FURPS (Functionality, Usability, Reliability, Performance,
Supportability), los cuales representan el objetivo de todo diseño de software:
Funcionalidad: evalúa el conjunto de características y capacidades del
programa y que estas se comporten de la manera en que se describen.
Usabilidad: evalúa la estética general, la consistencia y la documentación.
5. Maestría en TecnologíaEducativa
ActividadIntegradora3
5
Confiabilidad: evalúa la concurrencia de las fallas, la exactitud de los
resultados obtenidos y la capacidad de recuperación del sistema.
Rendimiento: evalúa la velocidad de procesamiento, el tiempo de respuesta,
el uso de recursos y la eficiencia.
Mantenibilidad: evalúa la flexibilidad del sistema para ser ampliado y
compatible.
Es importante señalar que no todos los atributos de calidad tendrán el mismo peso
en el diseño del software sino que estos estarán en función del tipo de sistema a
desarrollar, por ejemplo, una aplicación bancaria puede requerir más confiabilidad
que rendimiento.
Un patrón de diseño describe una estructura de diseño que resuelve un problema
en particular del diseño dentro de un contexto específico y las fuerzas que afectan
la manera en que se aplica y utiliza dicho patrón.
Los patrones proporcionan información al diseñador que le permite determinar:
Si el patrón es aplicable al trabajo en cuestión.
Si puede volverse a usar (ahorro en el tiempo de diseño).
Si sirve como guía para desarrollar un patrón similar en cuestiones de
estructura.
Por otro lado se encuentra la modularidad, la cual es la manifestación más común
de la división de problemas. El software se subdivide en componentes con nombres
distintos y abordables por separado en ocasiones llamados módulos, que se
integran para satisfacer las necesidades de los requerimientos del problema.
La modularidad es el único atributo del proceso de diseño de software que permite
que un sistema sea manejable en lo intelectual, por ejemplo, un sistema monolítico
(un programa grande conformado por un solo módulo) haría que este no fuera fácil
de entender por un ingeniero en sistemas. El número de variables, alcance,
interacciones y complejidad en general haría que fuera casi imposible entenderlo.
6. Maestría en TecnologíaEducativa
ActividadIntegradora3
6
Las circunstancias obligan a que el software se descomponga en un número finito
de módulos con la esperanza de que sea más fácil y sencillo entenderlos.
Proyecto
Descripción del Sistema.
El programa autoevaluará al estudiante a través de una cantidad de preguntas de
opción múltiple (cuatro opciones) que le permitan al alumno conocer sus áreas de
oportunidad. Además el programa ofrecerá información acerca de los temas que el
alumno necesita reforzar.
Restricciones:
El alumno deberá estar registrado en el programa obteniendo un usuario y
contraseña.
El alumno deberá estar autentificado ante el sistema.
El alumno recibirá retroalimentación de manera individual a través del
sistema.
Deberán existir exámenes para que el alumno pueda contestarlos.
El docente deberá estar autentificado para poder agregar exámenes.
El docente deberá proporcionar cuatro posibles respuesta por cada pregunta.
El docente no podrá agregar alumnos.
El administrador deberá estar autentificado para poder agregar alumnos o
docentes.
El administrador no podrá agregar exámenes.
Análisis del Problema
En este proyecto existen tres actores fundamentales: el alumno, el profesor y el
administrador.
Alumno: Será el encargado de contestar las preguntas del sistema y obtener
una autoevaluación.
7. Maestría en TecnologíaEducativa
ActividadIntegradora3
7
Profesor: Será el encargado de almacenar preguntas en el sistema con sus
respectivas retroalimentaciones.
Administrador: Será el encargado de habilitar alumnos y profesores dentro
del sistema.
Diagrama de casos de uso
8. Maestría en TecnologíaEducativa
ActividadIntegradora3
8
Diagrama de clases
Conclusión
No cabe la menor duda de que el proceso de diseño de software es un factor clave
en el éxito de un sistema ya que determina los atributos de calidad, por ejemplo,
¿Qué éxito podría tener un sistema que no fuera funcional, usable, confiable, rápido
y flexible ante los cambios?
Además el diseño de software brinda un panorama amplio del programa y hace
posible que un sistema pueda ser leído y comprendido por todos los usuarios que
intervienen en su desarrollo y evolución.
Referencias
S. Pressman, R. (2010). Ingeniería del software. DF: McGraw-Hil.