Ingeniería de software e ingeniería de sistemas
¿Qué es un sistema?
Sistemas legacy, desarrollos a medida y enlatados
Proceso de software
Requerimientos
Requerimientos funcionales
Los requerimientos funcionales son las capacidades o funcionalidades de un sistema de software. Detallan el comportamiento del sistema. En otras palabras, lo que el sistema debe proveer. Hay distintos tipos de requerimientos no funcionales:
Procesos de Negocio
Los procesos de negocios permiten especificar como un proceso se lleva a cabo a través de la organización, ya que requiere intervención de diferentes actores y áreas, en diferentes lugares y tiempos.
Casos de Uso
Los caso de uso definen una interacción entre un actor y el sistema, para lograr un objetivo de negocio especifico en un lugar y momento especifico.
Requerimientos no funcionales
Los requerimientos no funcionales son aspectos que debe tener el sistema, estos pueden o no ser específicos de una funcionalidad (“el tiempo de respuesta para procesar el alta de una tarjeta SUBE vía web no debe exceder los 3 segundos” o “el sistema debe funcionar 7 x 24”), definen la calidad y las características que el sistema debe soportar. También conocidos como “atributos de calidad”, o “cualidades del software” algunos de estos son:
- Performance
- Availability (Disponibilidad)
- Security (Seguridad)
- Testability (Testeabilidad)
- Modifiability (Modificabilidad)
- Usability (Usabilidad)
Ejemplos de restricciones posibles:
- tecnológicas: “el sistema debe funcionar en un browser Internet Explorer 8 ó superior, Mozilla Firefox 5.0.3 y Safari en cualquier versión”, “tiene que construirse en una tecnología Open Source”, “tiene que ser Web based”
- normativas o legales: “el sistema debe estar construido según estándares de ley Sarbanes-Oxley”, “el software debe contemplar que el proceso de fabricación de los productos se adapte a las normas ISO 9000”, “el sistema debe cumplir con el análisis de vulnerabilidad dispuesto por la gerencia de Seguridad Informática”
- de calidad: disponibilidad: “el sistema debe estar disponible 6 x 20 / 7 x 24”, performance: “las consultas de cliente por nombre no pueden tardar más de 3 segundos”, escalabilidad: “se debe pemitir agregar nuevos tipos de cliente en el futuro”, usabilidad: “el sistema debe permitir a un usuario nuevo capacitarse en menos de una semana”.
Más sobre cualidades del software
Links relacionados