Ingeniería de Requisitos:
Sistema y Contexto
Ingeniería de Software I
Edgar Sarmiento Calisaya
Escuela Profesional de Ciencia de la
Computación
Universidad Nacional de San Agustín de
Arequipa, Arequipa, Perú
Contexto
• Contexto del Sistema:
– El contexto del sistema es parte del ambiente
(entorno) del sistema que es relevante para la
definición y comprensión de los requisitos del
sistema a ser desarrollado.
7/03/2024 @UNSA/EPCC 2
Contexto
• Los sisguientes aspectos de la realidad influencian
el contexto de un sistema:
– People (stakeholders or groups of stakeholders)
– Systems in operation (other technical systems or
hardware)
– Processes (technical or physical processes, business
processes)
– Events (technical or physical)
– Documents (e.g., laws, standards, system
documentation)
7/03/2024 @UNSA/EPCC 3
Contexto
Los limites del sistema y el contexto definen el contexto del sistema
7/03/2024 @UNSA/EPCC 4
Limite del Sistema
• El limite del sistema separa el sistema que
se va a desarrollar de su ambiente; es decir,
separa la parte de la realidad que puede ser
modificada o cambiado por el proceso de
desarrollo de aquellos aspectos del
ambiente que no se pueden cambiar o
modificar por el proceso de desarrollo.
7/03/2024 @UNSA/EPCC 5
Limite del Sistema
7/03/2024 @UNSA/EPCC 6
Limite del Contexto
• El limite del contexto separa la parte
relevante del ambiente del sistema que se
va a desarrollar de la parte irrelevante, i.e.,
la parte que no influencia el sistema a ser
desarrollado, por lo tanto, no se debe
considerar durante la ingeniería de
requisitos.
7/03/2024 @UNSA/EPCC 7
Limite del Contexto
7/03/2024 @UNSA/EPCC 8
Documentar el contexto del
sistema
7/03/2024 @UNSA/EPCC 9
Diagrama de Casos de
Uso
Ingeniería de Software I
7/03/2024 @UNSA/EPCC 10
Documentar el contexto del
sistema
• Para documentar el contexto del sistema :
– Diagrama de Casos de Uso (Jacobson et al.,
1992):
• Limites del sistema
• Limites del contexto
• Para modelar o contexto del sistema:
– Diagramas de Clases UML (OMG, 2007)
7/03/2024 @UNSA/EPCC 11
Definición
• Son modelos simples para documentar de
manera esquemática (OMG, 2007):
– las funciones del sistema a partir de la
perspectiva del usuario,
– así como las interrelaciones de las funciones de
un sistema
– y las relaciones entre estas funciones y su
entorno
7/03/2024 @UNSA/EPCC 12
Elementos
Pohl, K. and Rupp, C. 2015
7/03/2024 @UNSA/EPCC 13
Elementos
1. Caso de Uso: es una unidad de trabajo
significativo – función del sistema.
– Vista de alto nivel de comportamiento observable para
alguien fuera del sistema.
– La notación por un caso de uso es una elipse.
– Usar Verbo en su forma base!
Sparx System, 2019
7/03/2024 @UNSA/EPCC 14
Elementos
2. Actor: Un diagrama de casos de uso
muestra la interacción entre el sistema y
entidades externas al sistema – Actores
– Roles que pueden incluir usuarios humanos, un
hardware externo u otros sistemas
– Actores pueden generalizar otros actores
7/03/2024 @UNSA/EPCC 15
Elementos
3. Limite del Sistema: Usualmente se usa
para mostrar casos de uso dentro del
sistema y actores fuera del sistema
7/03/2024 @UNSA/EPCC 16
Elementos
4. Relaciones entre Casos de Uso – Extensión
(extend):
– Un caso base puede incorporar de forma opcional (en
función de alguna condición) el comportamiento de otro
caso en el lugar especificado en el caso base.
– La funcionalidad del caso base se extiende con la del caso
opcional
– Por ejemplo, si antes de modificar un tipo particular de orden del cliente,
un usuario debe obtener la aprobación de una autoridad superior, luego
el caso de uso <Get Approval> puede opcionalmente extender el caso
de uso <Modify Order>.
7/03/2024 @UNSA/EPCC 17
Elementos
5. Relaciones entre Casos de Uso – Inclusión (include):
Los casos de uso pueden contener la funcionalidad de
otro caso de uso como parte de su proceso normal.
– En general se asume que cualquier caso de uso incluido se
llamará cada vez que se ejecute una ruta básica.
– Un ejemplo de esto tiene la ejecución de Caso de uso <Card
Identification> para ejecutar como parte de un caso de uso
<Withdraw>.
7/03/2024 @UNSA/EPCC 18
Elementos
6. Relación entre Actores y Casos de Uso:
– La notación para usar un caso de uso es una línea de
conexión con una punta de flecha opcional mostrando
la dirección del control.
– El siguiente diagrama indica que el actor Customer
(cliente) usa el caso de uso withdraw (retirar).
7/03/2024 @UNSA/EPCC 19
Elementos
6. Relación entre Actores y Casos de Uso:
– El conector “use” puede tener opcionalmente valores
múltiples en cada final,
– como en el siguiente diagrama que muestra que el
cliente puede tener solo una sesión de “withdraw”
(retiro) a la vez, pero un banco puede tener cualquier
cantidad de clientes haciendo retiros
concurrentemente.
7/03/2024 @UNSA/EPCC 20
Diagrama de Casos de Uso
ATM | Use Case Diagram Template ([Link])
7/03/2024 @UNSA/EPCC 21
Ingeniería de Software I
Patrones y Antipatrones
Diagrama
Plantilla (template) de Diagrama de Casos de
Uso: Include & Extend
Use Case Diagram Template | Use Case
Diagram Template ([Link])
7/03/2024 @UNSA/EPCC 23
Diagrama
Múltiples Proyectos (Sistemas, subsistemas)
usando limites de sistema
Expressing Multiple Projects Using System Boundaries
| Use Case Diagram Template ([Link])
7/03/2024 @UNSA/EPCC 24
Diagrama
Múltiples subsistemas usando paquetes
Broadcasting System | Use Case
Diagram Template ([Link])
7/03/2024 @UNSA/EPCC 25
Diagrama
Múltiples Dispositivos para la realización de un caso de uso
Wolters, D., Gerth, C., & Engels, G. (2017). Visual requirements modeling for cross-device
systems. Computer Science and Information Systems, 14(2), 517-536.
7/03/2024 @UNSA/EPCC 26
Diagrama
Múltiples Dispositivos para la realización de un caso de uso
Wolters, D., Gerth, C., & Engels, G. (2017). Visual requirements modeling for cross-device
systems. Computer Science and Information Systems, 14(2), 517-536.
7/03/2024 @UNSA/EPCC 27
Ingeniería de Software I
Ejemplos
Ejemplo
Pohl, K. and Rupp, C. 2015
7/03/2024 @UNSA/EPCC 29
Ejemplo
Include and Extend Use Cases
Include and Extend Use Cases | Use Case Diagram Template ([Link])
7/03/2024 @UNSA/EPCC 30
Ejemplo
Include and Extend Use Cases
Website (Structuring use cases with extend and include use case) | Use Case Diagram Template ([Link])
7/03/2024 @UNSA/EPCC 31
Ejemplo
Expanded use case
diagram – includes
multiple systems
Expanding the Use of a Use
Case Diagram - Why Change
([Link])
7/03/2024 @UNSA/EPCC 32
Ejemplo
Include and Extend Use Cases
[Link]
7/03/2024 @UNSA/EPCC 33
Conclusión
• The system context is the part of the reality that influences the system
to be developed and thus also influences the requirements for the
system.
• In order to be able to elicit the requirements for the system to be
developed, it is necessary to define the boundary of the system to the
system context and the boundary of the system context to the irrelevant
environment first.
• When the system boundaries are defined, the scope of the system is
determined.
• The scope comprises those aspects that can be changed and designed
during system development. At the same time, it is also defined which
aspects belong to the environment and thus cannot be altered during
development and may provide constraints for the system to be
developed.
7/03/2024 @UNSA/EPCC 34
Referencias
• Basado en:
– Leite, J.C.S.P. 2007. Livro Vivo : Engenharia de
Requisitos,
[Link]
m/
– Pohl, K. and Rupp, C. 2015. Requirements
Engineering Fundamentals. IREB
– Sparx System. 2019.
[Link]
utorial/uml2_usecasediagram.html
7/03/2024 @UNSA/EPCC 35