Ingeniería de Software. Abstracciones Clave. Página 0
Disciplina de Análisis.
Abstracciones Clave y la Técnica
CRC (Class Responsibility Collaboration).
Ingeniería de Software.
Ingeniería de Software. Abstracciones Clave. Página 2
Abstracciones Clave.
“A key abstraction is a class or object that forms part of the
vocabulary of the problem domain.”
• Representan los objetos principales en el sistema de los que hablan los involucrados.
• Para descubrirlas:
1. Identificar los candidatos listando todos los sustantivos que aparecen en el documento SRS en una "Forma de Candidatos a Abstracciones Clave".
2. Usar la técnica de análisis de CRCs (Class Responsibility Collaboration) para determinar el conjunto inicial de candidatos a Abstracciones Clave.
Ingeniería de Software. Abstracciones Clave. Página 3
Identificación de candidatos a Abstracciones Clave.
• Empezar el proceso de identificación marcando todos los
sustantivos(*) únicos en el documento SRS mencionados
principalmente en las siguientes secciones y subsecciones:
• Introducción:
• Alcance.
• Contexto y Actores.
• Requerimientos Funcionales.
• Descripción de los Actores.
• Casos de Uso.
• Glosario.
Nota. En Gramática los sustantivos son las palabras que sirven para designar
personas, animales o cosas, ya sean reales o existentes sólo en la mente humana.
Ingeniería de Software. Abstracciones Clave. Página 4
Ejemplo de Identificación de Candidatos.
Sección de Alcance:“The Hotel Reservation System will be responsible for managing the reservations for multiple lodging properties, which include (but are not limited to) bed and breakfast (B&B) and business retreat properties. The system will also include a web application that permits customersto view the properties and rooms, to view current and past reservations, and to make new reservations. The system must also coordinate small events (such as retreats and small conferences).”
Sección de Contexto:“There are three main ‘touch points’ of the Hotel Reservation System: the central DBMS for data storage, the external, credit card authorization system and the local movies-on-demand system that controls the movie feed to each room’s television set.”
Requerimiento Funcional E1-3:“The System must collect the following information about a customer: first and last name (as separate fields), address, home phone, a major credit card (type, number, and expiration date)”
Ingeniería de Software. Abstracciones Clave. Página 5
Forma de Candidatos a Abstracciones Clave.
• Contiene 3 columnas:
• Candidato a Abstracción Clave – el sustantivo
descubierto en el SRS.
• Causa de Eliminación – se deja en blanco si es
una abstracción clave o se explica por qué se
rechazó.
• Nombre seleccionado – contiene el nombre de la
clase que se usará para esta abstracción clave.
Ingeniería de Software. Abstracciones Clave. Página 7
Actualización del Glosario.
• El proceso de identificación de Abstracciones Clave es
una buena oportunidad para verificar que el glosario
del sistema esté actualizado.
• Verifique que todos los candidatos aparezcan en el
glosario.
• Identifique sinónimos y seleccione un término prinicipal
que se debe usar siempre en la documentación y en el
código fuente.
Ingeniería de Software. Abstracciones Clave. Página 8
Tips para seleccionar Abstracciones Clave.
• La selección de candidatos a Abstracciones Clave es,
en buena parte, intuición y experiencia.
• Algunos tips:
• Usar palabras que aparezcan en los nombres de
los casos de uso.
• Escoger términos mencionados en la sección de
alcance del SRS.
• Preguntar a expertos de la industria.
Ingeniería de Software. Abstracciones Clave. Página 9
Ejemplo.
El sustantivo “reservation” aparece varias veces en
diversas partes del documento SRS.
• En la sección de alcance:
• “The Hotel Reservation System will be responsible
for managing the reservations for multiple lodging
properties”
• En los casos de uso:
• E1: Manage Reservation.
• E5: Manage Reservation Online
• En varios lugares en los requerimientos funcionales:
• “E1-1: The System shall permit a Booking Agent to
create, retrieve, update, and delete a reservation.”
Ingeniería de Software. Abstracciones Clave. Página 10
Análisis de CRCs.
CRC, Class Responsibility Collaboration (*) es una técnica
usual para identificar Abstracciones Clave:
1. Seleccione un candidato a Abstracción Clave.
2. Identifique un caso de uso donde este candidato es
prominente.
3. Revise los escenarios del caso de uso y los requerimientos
funcionales para determinar responsabilidades y
colaboradores.
4. Documente esta abstracción clave en una tarjeta CRC.
5. Actualice la forma de Candidatos a Abstracciones Clave en
base a esta información.
(*) La técnica también se conoce como Collaborators Responsibilities Cards
Ingeniería de Software. Abstracciones Clave. Página 11
Responsabilidades y Colaboradores.
• Las responsabilidades son atributos, operaciones o
especificaciones del rango de datos de los valores de los
atributos.
• Los colaboradores son otros objetos con los cuales el objeto
candidato a Abstracción Clave está asociado.
• Si un candidato no tiene responsabilides y colaboradores, se
puede rechazar como Abstracción Clave.
Ingeniería de Software. Abstracciones Clave. Página 12
Ejemplo.
• El SRS incluye los siguientes requerimientos funcionales que
especifican responsabilidades y colaboradores del candidato
a Abstracción Clave "reservation".
▪ E1-1 – The system shall permit a Booking Agent to create,
retrieve, update, and delete a reservation. A reservation has an
arrival date, a departure date, and a reservation ID.
▪ E1-2 – reservation holds one or more rooms for a specified time
period (between the arrival and departure dates).
▪ E1-3 – A reservation is associated with only one customer, etc.
▪ E1-5 – A reservation begins in the “held” state , etc.
Ingeniería de Software. Abstracciones Clave. Página 15
Actualización de la Forma de Abstracciones Clave.
• Si el candidato tiene responsabilidades y/o colaboradores,
ponga su nombre en la primera columna de la forma.
• Escoja un nombre claro pero corto para esta Abstracción
Clave y regístrelo en la tercera columna.
• En caso de que el candidato no tenga responabilidades y/o
colaboradores, especifique la razón de su rechazo en la
segunda columna.
Ingeniería de Software. Abstracciones Clave. Página 17
Ejercicios.
1. Determinar candidatos a Abstracciones Clave en el
sistema RentLimo y documentarlos en una Forma de
Abstracciones Clave.
2. Elaborar las tarjetas CRCs y en base a su análisis definir
las Abstracciones Clave definitivas en el RentLimo.
Top Related