Podcast
Questions and Answers
Which of the following statements best encapsulates the primary objective of requirements modeling in software engineering?
Which of the following statements best encapsulates the primary objective of requirements modeling in software engineering?
- To outline the project's budget, schedule, and resource allocation, ensuring that the software is delivered on time and within budget.
- To establish a comprehensive and unambiguous representation of the customer's needs, facilitating effective communication and validation throughout the software development lifecycle. (correct)
- To create a detailed software design specification that can be directly translated into code, minimizing ambiguity and ensuring efficient implementation.
- To develop a set of test cases that fully exercise the software, ensuring that all requirements are met and that the software is of high quality.
In scenario-based modeling, a formal use case invariably incorporates implementation details to ensure developers have sufficient information for design.
In scenario-based modeling, a formal use case invariably incorporates implementation details to ensure developers have sufficient information for design.
False (B)
Explain the rationale behind prioritizing 'what' over 'how' during the analysis modeling phase in software engineering.
Explain the rationale behind prioritizing 'what' over 'how' during the analysis modeling phase in software engineering.
Prioritizing 'what' over 'how' in analysis modeling ensures the focus is on understanding and defining the system's requirements from the user's perspective, leading to a clear and validated set of needs before considering specific implementation strategies.
Within UML, a ______ provides a standardized method for extending an existing model for particular domains or platforms.
Within UML, a ______ provides a standardized method for extending an existing model for particular domains or platforms.
Match the following requirements modeling activities with their corresponding artifact:
Match the following requirements modeling activities with their corresponding artifact:
What fundamental purpose does a CRC (Class-Responsibility-Collaborator) card serve during object-oriented requirements modeling?
What fundamental purpose does a CRC (Class-Responsibility-Collaborator) card serve during object-oriented requirements modeling?
The analyst using a grammatical parse will identify all of the verbs as legitimate operations for the objects.
The analyst using a grammatical parse will identify all of the verbs as legitimate operations for the objects.
Elaborate on the significance of 'system coupling' in the context of software requirements modeling and its potential implications on system design and maintenance.
Elaborate on the significance of 'system coupling' in the context of software requirements modeling and its potential implications on system design and maintenance.
The requirements model must primarily achieve three objectives including to describe what the customer requires, to establish a basis for the creation of a ______ design and to define a set of requirements that can be validated once the software is built.
The requirements model must primarily achieve three objectives including to describe what the customer requires, to establish a basis for the creation of a ______ design and to define a set of requirements that can be validated once the software is built.
Associate each UML diagram with its corresponding use in requirements modeling:
Associate each UML diagram with its corresponding use in requirements modeling:
In the context of defining analysis classes, what is the primary differentiation between a class in the 'solution space' versus a class in the 'problem space'?
In the context of defining analysis classes, what is the primary differentiation between a class in the 'solution space' versus a class in the 'problem space'?
The primary objective of behavioral modeling is to define the static structure of the system, focusing on class relationships and attribute definitions.
The primary objective of behavioral modeling is to define the static structure of the system, focusing on class relationships and attribute definitions.
Explain the trade-offs between using informal narratives and formal, structured formats for documenting use cases in requirements modeling.
Explain the trade-offs between using informal narratives and formal, structured formats for documenting use cases in requirements modeling.
In state diagrams, the guard for a transition depends on the passive ______ of the object.
In state diagrams, the guard for a transition depends on the passive ______ of the object.
Correspond the types of models to their descriptions.
Correspond the types of models to their descriptions.
Within the context of anomaly or exception handling during use case development, under what condition should an identified exception be formally incorporated into the description of a use case?
Within the context of anomaly or exception handling during use case development, under what condition should an identified exception be formally incorporated into the description of a use case?
Data modeling and flow-oriented modeling are considered the most popular requirements modeling techniques.
Data modeling and flow-oriented modeling are considered the most popular requirements modeling techniques.
Explain how abstraction in requirements modeling is essential in effectively bridging the gap between high-level stakeholder expectations and the low-level implementation of software systems.
Explain how abstraction in requirements modeling is essential in effectively bridging the gap between high-level stakeholder expectations and the low-level implementation of software systems.
The behavior of computer software is driven by interaction with the external ______.
The behavior of computer software is driven by interaction with the external ______.
Associate the following terms with the concepts.
Associate the following terms with the concepts.
During the refinement of preliminary use cases, what is the most significant reason for evaluating each step in the primary scenario by asking 'Can the actor take some other action at this point?'?
During the refinement of preliminary use cases, what is the most significant reason for evaluating each step in the primary scenario by asking 'Can the actor take some other action at this point?'?
If a model developed early in a requirements analysis phase of a project are not referred to during the design and implementation phases, they are worth updating.
If a model developed early in a requirements analysis phase of a project are not referred to during the design and implementation phases, they are worth updating.
Describe the purpose of a "processing narrative" in the context of early-stage requirements modeling, and elucidate how it differs from a conventional use case.
Describe the purpose of a "processing narrative" in the context of early-stage requirements modeling, and elucidate how it differs from a conventional use case.
The 'essence' of the problem describing requirements modeling is from the ______ perspective.
The 'essence' of the problem describing requirements modeling is from the ______ perspective.
Associate each requirement type with a description
Associate each requirement type with a description
When developing a UML state diagram for a class in a real-time embedded system, what is the most critical consideration in defining the 'guard' condition for a state transition?
When developing a UML state diagram for a class in a real-time embedded system, what is the most critical consideration in defining the 'guard' condition for a state transition?
The best method to use to show how system elements respond to internal events is a state diagram.
The best method to use to show how system elements respond to internal events is a state diagram.
Describe the process by which a well-structured requirements model facilitates the transition from abstract system goals to concrete architectural, interface, and component-level designs in software.
Describe the process by which a well-structured requirements model facilitates the transition from abstract system goals to concrete architectural, interface, and component-level designs in software.
During CRC modeling, ______ are the attributes and are the relevant class.
During CRC modeling, ______ are the attributes and are the relevant class.
Designate models with their roles.
Designate models with their roles.
In the context of UML activity diagrams, particularly when applied to modeling complex business processes, what is the primary advantage of employing swimlanes?
In the context of UML activity diagrams, particularly when applied to modeling complex business processes, what is the primary advantage of employing swimlanes?
An event is the event that has been exchanged between system and agent.
An event is the event that has been exchanged between system and agent.
Describe in detail the role and importance of 'nonfunctional requirements' and what makes them unique in comparison to functional requirements.
Describe in detail the role and importance of 'nonfunctional requirements' and what makes them unique in comparison to functional requirements.
Requirements ______ combines three steps: scenario-based modeling, class modeling, and behavioral modeling.
Requirements ______ combines three steps: scenario-based modeling, class modeling, and behavioral modeling.
Select the analysis models with roles
Select the analysis models with roles
What primary benefit is derived from applying a 'divide-and-conquer' strategy during requirements modeling for complex systems?
What primary benefit is derived from applying a 'divide-and-conquer' strategy during requirements modeling for complex systems?
If different statements of the problem cause different accept or reject decisions, then the potential classes may be accepted or rejected for those differences.
If different statements of the problem cause different accept or reject decisions, then the potential classes may be accepted or rejected for those differences.
Distinguish between a passive state and an active state of an object being modeled in the context of behavioral modeling.
Distinguish between a passive state and an active state of an object being modeled in the context of behavioral modeling.
An exception describes a ______ that causes the system to exhibit somewhat different behavior.
An exception describes a ______ that causes the system to exhibit somewhat different behavior.
Connect the terms with definition
Connect the terms with definition
Flashcards
Requirements Model
Requirements Model
The technical representation of a system; a set of models.
Requirements Modeling
Requirements Modeling
A technique using text and diagrams to depict requirements for review and validation.
Modeling Tasks
Modeling Tasks
The initial stage of software engineering leading to requirement specifications and design.
Requirements Modeling Steps
Requirements Modeling Steps
Signup and view all the flashcards
Usage Scenarios
Usage Scenarios
Signup and view all the flashcards
Reviewing Work Products
Reviewing Work Products
Signup and view all the flashcards
Requirements analysis
Requirements analysis
Signup and view all the flashcards
Scenario-based models
Scenario-based models
Signup and view all the flashcards
Class-oriented models
Class-oriented models
Signup and view all the flashcards
Behavioral models
Behavioral models
Signup and view all the flashcards
Data models
Data models
Signup and view all the flashcards
Flow-oriented models
Flow-oriented models
Signup and view all the flashcards
Analysis Focus
Analysis Focus
Signup and view all the flashcards
Requirements model objectives
Requirements model objectives
Signup and view all the flashcards
Analysis Rules of Thumb
Analysis Rules of Thumb
Signup and view all the flashcards
Information Domain
Information Domain
Signup and view all the flashcards
Software Functions
Software Functions
Signup and view all the flashcards
Models that Uncover Detail
Models that Uncover Detail
Signup and view all the flashcards
Analysis task
Analysis task
Signup and view all the flashcards
Scenario-Based Modeling
Scenario-Based Modeling
Signup and view all the flashcards
UML Actor
UML Actor
Signup and view all the flashcards
Creating Use Cases
Creating Use Cases
Signup and view all the flashcards
Developing Use Cases
Developing Use Cases
Signup and view all the flashcards
Narrative Use Case Variation
Narrative Use Case Variation
Signup and view all the flashcards
Secondary Scenarios
Secondary Scenarios
Signup and view all the flashcards
Use Case Exception
Use Case Exception
Signup and view all the flashcards
Goal in Context
Goal in Context
Signup and view all the flashcards
Use Case Diagram
Use Case Diagram
Signup and view all the flashcards
Identifying analysis classes
Identifying analysis classes
Signup and view all the flashcards
Analysis Classes
Analysis Classes
Signup and view all the flashcards
Attributes
Attributes
Signup and view all the flashcards
Operations
Operations
Signup and view all the flashcards
Associations
Associations
Signup and view all the flashcards
CRC
CRC
Signup and view all the flashcards
Behavioral Modelling
Behavioral Modelling
Signup and view all the flashcards
UML
UML
Signup and view all the flashcards
Analysis' key
Analysis' key
Signup and view all the flashcards
Study Notes
- Requirements modeling employs text and diagrams for depicting requirements.
- This provides clarity, ease of understanding, and facilitates reviews for correctness, completeness, and consistency.
- A software engineer or analyst constructs these models from stakeholder-provided requirements.
- Requirements models aid in early feedback and serve as the basis for software design.
- It comprises scenario-based, class, and behavioral modeling.
- Work products include use cases for software functions and UML diagrams for system behavior.
- Ensure the models undergo reviews for correctness, completeness, and consistency.
Requirements Analysis
- This specifies software's operational characteristics
- It defines the software's interface with other system elements
- It establishes software constraints
- It elaborates on basic requirements
- It involves inception, elicitation, and negotiation
- It generates scenario-based, class-oriented, behavioral, data, and flow-oriented models.
- These models enable software designers to translate requirements into architectural, interface, and component-level designs.
- The model also facilitates quality assessment after the software is built.
Analysis Focus
- Focus on what needs to be done, not how to do it
- Address user interactions, manipulated objects, system functions, behaviors, defined interfaces, and applicable constraints
Evolutionary Approach
- Requirements specifications may be incomplete initially
- An iterative approach to requirements analysis and modeling is favored
Modeling Requirements
- Should only create the models that will be used by the development team
- Analysis models helps to create the base design for the software increment
Key Objectives
- Describe customer requirements
- Establish a basis for software design
- Define requirements for validation
- Models bridge system-level descriptions of functionality and business functions with software design elements.
Key Qualities
- Model elements must be directly traceable to design model parts.
- There is a division between analysis and design but they can occur together
Rules of Thumb for Analysis Modeling
- Focus on the problem or business domain.
- Keep the abstraction level high.
- Analysis must provide insight into the information domain, function, and software behavior.
- Software architecture and nonfunctional details should be delayed until later.
- Be aware of how software elements interconnect.
- Models should be valuable to stakeholders and simple without sacrificing clarity.
Principles for Requirements Modeling
- The information domain of a problem must be represented and understood.
- Software functions must be defined.
- Software behavior must be represented.
- Models must be partitioned to uncover detail in a layered fashion,
- Move from essential information towards implementation details
Scenario-Based Modeling
- User satisfaction is top priority for computer-based systems
- The software team should properly characterize requirements and build meaningful analysis and design models.
- It begins with use case diagrams, activity diagrams, and sequence diagrams
Actors and User Profiles
- UML actors model entities that interact with a system
- Actors represent human stakeholders or external hardware roles exchanging information with system objects.
- A single physical entity can be portrayed by multiple actors if it takes on different roles for different system functions.
- UML profiles extends existing models to other domains or platforms, allowing revision for Web-based and mobile systems, and viewpoints from different users such as system administrators versus end users.
Creating Use Cases
- User stories summarize stakeholders' perspectives but lack precision, so developers need use cases for clear interaction descriptions.
- A use case defines how an actor uses a system to achieve a goal, capturing interactions between information producers and consumers.
- Inception and elicitation provide information for writing use cases, while requirements gathering identifies stakeholders, scopes, goals, priorities, functional requirements, and manipulated objects.
- To develop use cases, list functions or activities performed by an actor from system functions, conversations, or activity diagrams.
- It can be written in an informal narrative or as an ordered sequence of user actions.
Scenarios
- Use cases of this type are called primary scenarios
- Alternative interaction descriptions gives complete function understanding
Reviewing Scenarios
- Important questions to check include.
- Can the actor can take some other action at this point?
- Is it possible that the actor will encounter some error condition at this point?
- Is it possible that the actor will encounter some other behavior at this point?
- These result in secondary scenarios representing alternative behaviors.
Addressing Error Conditions
- Error conditions can be related to computer-based operation
- Secondary scenarios should be directly related to the action from steps 6 and 7
Alarm Conditions
- Not integrated with current action set
- A secondary scenario for describing alarm conditions occuring can be integrated
Use Case Exceptions
- Situations that represent failures or alternative actions by actors leading to different behaviors
Exception Rationalization
- Is when the system can detect and handle the condition in the exception
Identifying Extensions
- Additional questions for uncovering exceptions include.
- Are there cases in which some “validation function” occurs during this use case?
- Are there cases in which a supporting function (or actor) will fail to respond appropriately?
- Poor system performance can result in unexpected or improper user actions?
Documenting Use Cases
- Informal use cases are sufficient for requirements modeling
- For critical activities, a more formal approach may be desirable when there are many exceptions
Formal Use Cases
- Typical format is:
- Goal in context: Identifies the overall scope of the use case
- Precondition: Describes what is known to be true before the use case is initiated
- Trigger: Identifies the event or condition that "gets the use case started"
- Scenario: Lists the specific actions required by the actor and appropriate system responses
- Exceptions: Identifies situations uncovered during use case refinement
- Additional headings included may be self-explanatory
UML use case diagram
- Diagrammatic representation of use case facilitate better understanding by all stakeholders, particularly when the scenario is complex
- It helps relationships within the usage scenario
- Each is represented by an oval.
Class-Based Modeling
- Classes are physical objects that can be easily identified, classified, and defined in terms of attributes and operations
- They are more difficult to comprehend in a software application
Identifying Analysis Classes
- Examine usage scenarios developed as part of the requirements model.
- Perform a grammatical parse on the use cases developed for the system.
- Classes are determined by underlining each noun or noun phrase and entering it into a simple table
- Synonyms should be noted.
- If the class (noun) is required to implement a solution, then it is part of the solution space
- If a class is necessary only to describe a solution, it is part of the problem space.
Analysis Classes
- Manifest in one of the following ways
- External entities that produce or consume information used by a computer-based system
- Things that are part of the information domain for the problem
- Occurrences or events that occur within the context of system operation
- Roles played by people who interact with the system
- Organizational units that are relevant to an application
- Places that establish the context of the problem and the overall function of the system
- Structures that define a class of objects or related classes of objects.
Selection Characteristics
- Useful for consideration for inclusion to analysis model
- Retained information: The potential class will be useful during analysis only if information about it must be remembered so that the system can function
- Needed Services: The potential class must have a set of identifiable operations that can change the value of its attributes in some way
- Multiple attributes: During requirement analysis, the focus should be on "major” information. A class with a single attribute may, in fact, be useful during design but is probably better represented as an attribute of another class during the analysis activity
- Common attributes: A set of attributes can be defined for the potential class, and these attributes apply to all instances of the class
- Common operations: A set of operations can be defined for the potential class, and these operations apply to all instances of the class
- Essential requirements: External entities that appear in the problem space and produce or consume information essential to the operation of any solution for the system will almost always be defined as classes in the requirements model.
Attributes
- Describes a class that has been selected for inclusion in the analysis model.
- It is the attributes that define the class—that clarify what is meant by the class in the context of the problem space.
Analysis Class Development
- Study each use case and select those “things” that reasonably "belong” to the class
- Answer the question: What data items (composite and/or elementary) fully define this class in the context of the problem at hand?
Operations
- Define the behavior of an object
- They can generally be divided into four broad categories:
- Operations that manipulate data in some way
- Operations that perform a computation
- Operations that inquire about the state of an object
- Operations that monitor an object for the occurrence of a controlling event
- Functions are accomplished by operating on attributes and/or associations
- An operation must have "knowledge" of the nature of the class attributes and associations
UML Class Models
- Study information and select operations that reasonably belong to the class
- The grammatical parse is again studied, and verbs are isolated
- Some of these verbs will be legitimate operations and can be easily
UML-Relationships
- Expressed as associations that connect to a specific class
CRC (Class-Responsibility-Collaborator) Modeling
- Provides a simple means for identifying and organizing the classes that are relevant to system or product requirements
Model Qualities
- CRC model can be viewed as a collection of index cards
- Each index card contains a list of responsibilities on the left side and the corresponding collaborations that enable the responsibilities to be fulfilled on the right side
- Responsibilities are the attributes and operations that are relevant for the class
- Collaborators are those classes that provide a class with the information needed or action required to complete a responsibility
Implementation Qualities
- Responsibilities can be one of:
- Fulfillment by itself, so long as it can not interact or need to interact with another class
- Collaborated through determination of class collaborations
Model Review Approach
- Participants review through being given a subset of the CRC model index cards
- Review leader leads through use case deliberately
- Holder of the class card is the one asked to describe responsibilities
- The group determines whether the responsibilities satisfies use case
- Modifications can be made if wrong
Functional Modeling
- Addresses two application processing elements
- User observable elements delivered to the app
- Operations contained within the analysis classes
Implementation details
- Made through implementing operations within analysis classes
Technical Implementation consideration
- UML activity diagrams for complex functions
- Not so much the complexity of the functions themselves
Behavioral Modeling
- Model to indicated how software will respond to internal or external events or stimuli
- Help provide design guidance for the system being built
- Activity diagrams model system to internal
- State diagrams model system to external
Model Creation
- steps include evaluation, identification, creation, building, and review
- Evaluate all use cases for proper interaction
- Identify events that drive interaction
- Create sequence for use case
- Build state diagram
- Review behavioral model
Identifying Events
- From use case, events occur when the system and actor exchange information
Describing Events
- Identify
- actor for each event
- what information is being exchanged
- Any conditions and constraints
States for model implementation
- Passive: current values of assigned objects
- Active : indicates the status of continuing transformation
Actions (trigger)
- Forces object to make a transition from one state to another
State implementation
UML Diagrams
- A way to represent states and events for classes
- Arrows represent transitions from states
- State models are useful (life history of model), depth of understanding the behavior of the model
- Model event must be specified to show action to be carried out
UML Activity Diagrams
- supplements the use case
- Graphical representation of flow of interaction within scenario
- Engineers can describe activity diagrams as a way of representing system reactions
Activity
can add additional detail that is implcit through use
- Decision diamond
Swimlane
A variation for activity diagram,
- to represent the flow through the use of activities through cases and indicates actors
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.