1/49
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.
-
Formalizes 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.
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. Contains use case diagrams and scenarios.
-
Object model. Contains class and object diagrams
-
Dynamic model. Contains state machine and sequence diagrams.
What is the analysis model (aka requirements analysis model)?
Model describing the system from the users point of view. Produced during analysis and is composed of functional, object, and dynamic models.
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?
Focuses on the behavior of the system and serves to assign responsibilities to classes and identify new classes/associations. Depicted with sequence diagrams and with state machines.
What represent 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?
Entity objects, boundary objects, and control objects.
What are entity objects?
Represents persistent information tracked by the system. Entity objects are identified by corresponding to actors in the use case model.
What are boundary objects?
Represent the interface between the system and the actors and are identified from the use cases. 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.
-
Identify forms the users need to enter data into the system.
What are control objects?
Responsible for coordinating boundary and entity objects, and collecting information from the boundary objects and dispatching it to entity objects.
What are ways to identify control objects?
Identify one control object per use case.
-
Identify one control object per actor in the use case.
What is generalization in regards to inheritance?
Creating a more 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 more specific subclasses from a general superclass by adding unique features or behavior.
A fruit can be an apple or grape.
What are some activites for transforming use cases and scenarios produced during requirements elicitation into an analysis model?
Identifying Entity Objects
-
Identifying Boundary Objects
-
Identifying Control Objects
-
Mapping Use Cases to Objects with 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 of the object model depends on the style of writing of the analyst
What are ways for identifying entity objects?
Real-world entities that the system needs to track.
-
Real-world activities that the system needs to track.
-
Data sources.
What are CRC (Class, Responsibilities, Collaborators) cards?
Used for identifying interactions among objects. Each class has an index card that has the class name, its responsibilities, and names of classes it needs to accomplish its responsibilities.
Who are the participants for CRC cards?
Developers and application domain experts go through a scenario and identify the classes and responsibilities involved in realizing the scenario.
What is the equivalent of CRC cards?
Sequence diagrams
What is an association?
Shows a relationship between two or more classes.
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 model.
What are the properties of associations?
A name to describe the association between the two classes.
-
A role at each end, distinguishing the multiple associations originating from a class.
-
A multiplicity at each end, identifying the possible 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 multiple 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 construct sequence diagrams to define interactions.
-
Define associations/attributes to refine the analysis model.
-
Consolidate model via generalization relationships.
-
Client, users, and developers examine the model 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