1/51
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
What is analysis (requirements analysis)?
Phase that results in a model of the system that aims to be correct, complete, consistent, and unambiguous and is understood by the developers.
-
Developers formalize the requirements specification from requirements elicitation and find errors in the requirements.
What do developers do during analysis?
Formalize the requirements specification produced during requirements elicitation and validate/correct any errors that are found.
What is object-oriented analysis?
Occurs during analysis where developers build a model describing the application domain.
What is the analysis model and nonfunctional requirements used for?
The architecture of the system in system design.
What is formalization?
Helps identify areas of ambiguity and inconsistencies in the requirements specification during analysis.
What occurs iteratively and incrementally?
Requirements elicitation and analysis.
What is the analysis model composed of?
Functional model containing use case diagrams and scenarios.
-
Object model containing class and object diagrams
-
Dynamic model containing state machine and sequence diagrams.
What is the analysis model (aka requirements analysis model)?
Model that describes the system from the user and problem-domains point of view, focusing on what the system must do. Produced during analysis and is composed of functional, object, and dynamic models.
What is the functional model?
Model that focuses on the functions, processes, and flow of data of the system using use case diagrams and scenarios.
What is the object model?
Model that focuses on the individual concepts that are manipulated by the system. Represented by class and object diagrams.
What is the dynamic model?
Model that focuses on the behavior of the system, assigns responsibilities to classes, and identifies new classes/associations. Depicted with sequence diagrams and state machine diagrams.
What represents user-level concepts?
Object model and dynamic model
What doesn’t appear in the analysis model?
Classes such as Database, Subsystem, Network,
What does the object model consist of?
Boundary objects, entity objects, and control objects.
What are entity objects?
Objects that represents persistent information tracked by the system. Identified by corresponding to actors in the use case model.
What are boundary objects?
Objects that represents the interface between the system and actors. Collects information from the actor and translates it into a form that can be used by entity and control objects.
What are ways to identify boundary objects?
Identify user interface controls that the user needs to initiate the use case.
What are control objects?
Objects responsible for coordinating boundary and entity objects. Collects information from the boundary objects and dispatches it to entity objects.
What is a way to identify control objects?
Identify one control object per use case.
What is generalization in regards to inheritance?
Creating a general superclass from specific classes that share common features.
Car and Truck both have wheels and an engine, so you create a general Vehicle class.
What is a specialization in regards to inheritance?
Creating specific subclasses from a general superclass by adding unique features.
A fruit can be an apple or grape.
What are some activities for transforming use cases and scenarios into an analysis model?
Identifying Entity Objects
-
Identifying Boundary Objects
-
Identifying Control Objects
-
Mapping Use Cases to Objects using sequence Diagrams
What is natural language analysis?
Used for identifying objects, attributes, and associations from a requirements specification for the analysis model.
What is an advantage and disadvantage of natural language analysis?
Advantages: Focuses on the users’ terms.
-
Disadvantage: Quality depends on the style of writing of the analyst.
What is a way of identifying entity objects?
Identifying real-world entities and activities that the system needs to track.
What are CRC (Class, Responsibilities, Collaborators) cards?
Used for identifying interactions among objects. Each class has a card with its class name, responsibilities, and names of classes it needs to accomplish its responsibilities.
Who are the participants for CRC cards?
Developers and application domain experts.
What is the equivalent of CRC cards?
Sequence diagrams
What is an association?
Shows a relationship between two or more classes in a class diagram.
A FieldOfficer writes an EmergencyReport.
What does identifying associations help do?
Clarifies the analysis model and enables the developer to discover boundary cases.
What are boundary cases?
Exceptions that must be clarified in the analysis model.
What are the properties of associations?
A name to describe the association between the two classes.
-
Roles at each end to distinguish the multiple associations originating from a class.
-
Multiplicity at each end to identify the number of instances (* indicates a FieldOfficer may write zero or more EmergencyReports, whereas 1 indicates that each EmergencyReport has exactly one FieldOfficer as author).

How do you represent aggregation in UML?
Using a hollow diamond. Fire fighter, lead car, fire engine, and ambulance can exist without Fire Station.

How do you represent composition in UML?
Using a solid diamond. Township cant exist without County and County cant exist without State.

What should an attribute in an object have?
A name identifying the attribute in the object and a type describing the legal values it can take.
What is used to help eliminate redundancy from the analysis model?
Generalization. If two or more classes share attributes or behavior, the similarities are consolidated into a superclass.
-
A field officer and dispatcher both have a badgeNumber attribute. BadgeNumber can be consolidated into PoliceOfficer.

Who reviews the analysis model?
The developer and then the developer and client.
What is the goal for reviewing the analysis model?
Make sure that the requirements specification is correct, complete, consistent, and unambiguous.
What question should be asked to ensure the model is correct, complete, and consistent?
Correct: Are all error cases described and handled?
-
Complete: Is each object needed by any use case?
-
Consistent: Are there classes with the same name?
What is the typical sequence of the analysis activities?
Users, developers, and client develop initial use case model.
-
Developers classify the participating objects into entity, boundary, and control objects.
-
Developers create sequence diagrams to define interactions.
-
Developer defines associations/attributes to refine the analysis model.
-
Consolidate the analysis model using generalization relationships.
-
The model is examined for correctness, consistency, completeness.
What is the requirements analysis document?
Explains what the software must do and what constraints it must meet. Identifies the functional requirements and nonfunctional requirements.
Why is the acceptance of the requirements analysis document important?
Because many activities depend on the analysis model.
What represents the acceptance of the analysis model?
The client sign-off
What are the three main role types in analysis?
Generation of information, integration, and review.
What does the end user do?
Is an application domain expert who generates information about the current system, and the tasks the future system should support.
What does the client do?
Defines the scope of the system based on user requirements and resolves inconsistencies in user expectations.
What does the analyst do?
Application domain expert who models the current system and generates information about the future system.
What does the architect do?
An integration role that unifies the use case and object models from a system point of view.
What does document editor do?
Handles integration of the system documents.
What does the configuration manager do?
Maintains a revision history of the system documents relating to RAD.
What does the reviewer do?
Validates the RAD for correctness, completeness, and consistency.
Why is communicating information the most difficult part of analysis?
Because of different backgrounds, domains of expertise, and vocabulary of participants.