Podcast
Questions and Answers
Which organization adopted UML as a standard in 1997?
Which organization adopted UML as a standard in 1997?
- ANSI
- IEEE
- OMG (correct)
- ISO
The user's view in UML is considered an object model?
The user's view in UML is considered an object model?
False (B)
Name three methodologies from which UML borrowed concepts.
Name three methodologies from which UML borrowed concepts.
Object Management Technology, Booch’s methodology, Object-Oriented Software Engineering
The user's view is a ___________ view of the system.
The user's view is a ___________ view of the system.
Match the following UML views with their descriptions:
Match the following UML views with their descriptions:
How many different types of diagrams can UML construct to capture different views of a system?
How many different types of diagrams can UML construct to capture different views of a system?
In a level 1 DFD, which branch is typically identified as the 'afferent' branch?
In a level 1 DFD, which branch is typically identified as the 'afferent' branch?
The environmental view in UML focuses on the internal components of the system.
The environmental view in UML focuses on the internal components of the system.
Transaction analysis is most useful when designing transform-centered programs.
Transaction analysis is most useful when designing transform-centered programs.
What is the primary purpose of a model within software development?
What is the primary purpose of a model within software development?
What is the central view that all other views in UML are expected to conform to?
What is the central view that all other views in UML are expected to conform to?
A transaction-driven system is characterized by different paths through the DFD depending on the input data item, in contrast to a system characterized by similar processing steps for each data item.
A transaction-driven system is characterized by different paths through the DFD depending on the input data item, in contrast to a system characterized by similar processing steps for each data item.
Match the following terms with their description:
Match the following terms with their description:
What is the main purpose of UML?
What is the main purpose of UML?
Each transaction must have an input data.
Each transaction must have an input data.
When mapping bubbles to a module in a structure chart during transaction analysis, what criteria determines if they belong to the same module?
When mapping bubbles to a module in a structure chart during transaction analysis, what criteria determines if they belong to the same module?
What is the primary purpose of the 'extends' relationship in use cases?
What is the primary purpose of the 'extends' relationship in use cases?
Simple use cases should be decomposed into a hierarchy of sub-ordinate use cases.
Simple use cases should be decomposed into a hierarchy of sub-ordinate use cases.
What is the highest level of the use case model called and what is its focus?
What is the highest level of the use case model called and what is its focus?
The functionality provided by the ______ use cases is a combination of the functionality of their ______ use cases.
The functionality provided by the ______ use cases is a combination of the functionality of their ______ use cases.
Which model captures the time-dependent behavior of a system?
Which model captures the time-dependent behavior of a system?
A structural model of the system changes with time.
A structural model of the system changes with time.
What do use cases represent?
What do use cases represent?
The mainline sequence represents the most _______ sequence of interaction.
The mainline sequence represents the most _______ sequence of interaction.
Which of the following describes the purpose of a use case?
Which of the following describes the purpose of a use case?
Match the system view with its description:
Match the system view with its description:
What is another name for the structural model?
What is another name for the structural model?
According to the content, what question can you ask to find all the use cases of a system?
According to the content, what question can you ask to find all the use cases of a system?
The ______ relationship is used to capture alternate paths or scenarios in use cases.
The ______ relationship is used to capture alternate paths or scenarios in use cases.
What information is required from a customer to register in the supermarket prize scheme?
What information is required from a customer to register in the supermarket prize scheme?
A customer can use their Customer Number (CN) to keep track of their total purchases throughout the year.
A customer can use their Customer Number (CN) to keep track of their total purchases throughout the year.
What is awarded to customers whose purchases exceed Rs.10,000?
What is awarded to customers whose purchases exceed Rs.10,000?
The system resets the entries against the CN on the ______ of every year.
The system resets the entries against the CN on the ______ of every year.
Match each use case with its functionality:
Match each use case with its functionality:
What happens if a customer attempts to register but their information is already in the system?
What happens if a customer attempts to register but their information is already in the system?
The use case model includes only the functional requirements of the system.
The use case model includes only the functional requirements of the system.
What is the unique identifier assigned to each registered customer?
What is the unique identifier assigned to each registered customer?
What is one possible use of identifying different types of users (actors)?
What is one possible use of identifying different types of users (actors)?
Factoring of use cases is necessary only when complex use cases need to be simplified.
Factoring of use cases is necessary only when complex use cases need to be simplified.
What is the purpose of use case generalization?
What is the purpose of use case generalization?
The extends relationship allows you to show ________ system behavior.
The extends relationship allows you to show ________ system behavior.
What is one benefit of factoring use cases?
What is one benefit of factoring use cases?
Name one mechanism UML offers for factoring use cases.
Name one mechanism UML offers for factoring use cases.
The extension points are points within the use case where ________ may occur.
The extension points are points within the use case where ________ may occur.
Flashcards
UML (Unified Modeling Language)
UML (Unified Modeling Language)
A set of principles and notations for modeling software systems.
User's View
User's View
A view that focuses on the functionalities offered to users, without revealing internal details.
Structural View
Structural View
A view that describes the structure of the system, including classes, objects, and their relationships.
Behavioral View
Behavioral View
Signup and view all the flashcards
Implementation View
Implementation View
Signup and view all the flashcards
Environmental View
Environmental View
Signup and view all the flashcards
OMG (Object Management Group)
OMG (Object Management Group)
Signup and view all the flashcards
User-Centric Development
User-Centric Development
Signup and view all the flashcards
DFD (Data Flow Diagram)
DFD (Data Flow Diagram)
Signup and view all the flashcards
Level 1 DFD
Level 1 DFD
Signup and view all the flashcards
Afferent Branch
Afferent Branch
Signup and view all the flashcards
Efferent Branch
Efferent Branch
Signup and view all the flashcards
Central Transform
Central Transform
Signup and view all the flashcards
Transaction Analysis
Transaction Analysis
Signup and view all the flashcards
Structure Chart
Structure Chart
Signup and view all the flashcards
Model (in Software Development)
Model (in Software Development)
Signup and view all the flashcards
Use Case Hierarchy
Use Case Hierarchy
Signup and view all the flashcards
Superordinate Use Case
Superordinate Use Case
Signup and view all the flashcards
Subordinate Use Case
Subordinate Use Case
Signup and view all the flashcards
Context Diagram
Context Diagram
Signup and view all the flashcards
Subsystem-Level Use Case
Subsystem-Level Use Case
Signup and view all the flashcards
Use Case
Use Case
Signup and view all the flashcards
Use Case Model
Use Case Model
Signup and view all the flashcards
Mainline Sequence
Mainline Sequence
Signup and view all the flashcards
Variations
Variations
Signup and view all the flashcards
Actor
Actor
Signup and view all the flashcards
Use Case Diagram
Use Case Diagram
Signup and view all the flashcards
Use Case Description
Use Case Description
Signup and view all the flashcards
Customer Number (CN)
Customer Number (CN)
Signup and view all the flashcards
Register-Sales Use Case
Register-Sales Use Case
Signup and view all the flashcards
Select-Winners Use Case
Select-Winners Use Case
Signup and view all the flashcards
Resetting Customer Purchase Value
Resetting Customer Purchase Value
Signup and view all the flashcards
Factoring Use Cases
Factoring Use Cases
Signup and view all the flashcards
Extends Relationship
Extends Relationship
Signup and view all the flashcards
Generalization Relationship
Generalization Relationship
Signup and view all the flashcards
Extension Point
Extension Point
Signup and view all the flashcards
Interaction Diagram
Interaction Diagram
Signup and view all the flashcards
Common Behaviour
Common Behaviour
Signup and view all the flashcards
Study Notes
Structured Design
- Structured design aims to transform structured analysis results (like a DFD) into a structure chart.
- It provides two strategies for transforming a DFD into a structure chart: transform analysis and transaction analysis.
- Typically, one starts with a level 1 DFD, transforms it into a module representation, and then proceeds to lower-level DFDs.
- At each level, determine whether transform or transaction analysis applies.
Structure Chart
- A structure chart represents software architecture (modules, dependencies, parameter passing).
- It easily implements using programming languages.
- Focuses on module structure and interactions, not the procedural aspects.
- Basic building blocks include rectangular boxes (modules), module invocation arrows (control flow), data flow arrows (data passing), library modules (with double edges), selection (diamond symbol), repetition (loop around control flow).
Structure Chart vs. Flow Chart
- Identifying software modules from a flow chart is often difficult.
- Data interchange among modules isn't represented in a flow chart.
- Sequential ordering of tasks in a flow chart is not emphasized in a structure chart.
Example: RMS Software
- The RMS software example involves accepting input numbers, validating numbers, calculating the root mean square, and displaying results.
- Level 1 DFD identifies 'validate-input' as the afferent branch and 'write output' as the efferent branch, with 'compute-rms' as the central transform.
- Applying transform analysis steps produces the structure chart.
Transaction Analysis
- Useful for transaction-driven systems.
- Input data defines the number of transactions, which involves different processing steps for various input data items.
- Tracks data from input to output for each transaction.
- Transactions are mapped to modules in the structure chart with a tag indicating their type.
- Divides the system into transaction modules and a transaction-centre module.
- The example provided is a supermarket prize scheme.
Object Modelling Using UML
- A model captures aspects of an application, omitting irrelevant details (abstracting). Models can be graphical, textual, mathematical, or code-based.
- UML is a graphical modelling tool used to visualize, specify, construct, and document software systems. It has a set of notations and semantics.
- Important uses of models during software development include analysis, specification, code generation, design, visualization, and testing.
- UML models can be used for documentation and to develop results. The models need to match the purpose for which they are constructed.
Origin of UML
- UML emerged from several object-oriented design techniques and notations.
- A large number of object-oriented notations were used, leading to standardization efforts.
- Various methodologies (like Rumbaugh, Booch, Jacobson, Odell, Shaler & Mellor) provided principles for UML's creation.
UML Diagrams
- UML diagrams provide multiple perspectives of a system.
- UML constructs nine diagram types to display five system views: user's view, structural view, behavioral view, implementation view, and environmental view.
User's View
- Defines the functionality made available to the system's users.
- Focuses on external user-centric functionalities without showing internal details like implementation, structure, or behavior.
Structural View
- Defines the kinds of classes and objects important for understanding the system's structure and relationships.
- Also called the static model because structure does not change when implementation is altered.
Behavioral View
- How objects interact to realize the system's behavior.
- Captures the dynamic, time-dependent behavior of the system.
Implementation View
- Components/parts, and their dependencies in the system.
Environmental View
- How different components are implemented on different hardware components.
Use Case Diagrams
- Use cases represent how users interact with a system.
- A use case diagrams shows the different ways a user can interact with a system ("What users can do utilizing a system").
- Shows use cases as ellipses, enclosed within a rectangle that represents the system.
- Actors are represented by stick figures (roles played by users).
- Lines connecting actors to use cases illustrate relationships. Use cases describe user interaction with system.
Use Case Model
- Purpose of use cases is to define behavior of a system without disclosing internal structure of system.
- Mainline sequence (normal interaction) is described.
- Alternative scenarios (variations) to mainline are identified.
Text Description
- Each use case ellipse should have a text description.
- Details of how the user interacts with the system and all aspects of the use case.
- Mainline sequence, variations, system responses, and exceptional conditions are necessary.
- Should be informal, but structured, including descriptions of alternative scenarios, contact persons (people involved), actors, conditions before/after the use case runs (pre/post conditions), and references.
Non-functional Requirements
- Important constraints on design and implementation (e.g., platform, environment, response time).
- Includes domain-related error situations (e.g., invalid input fields, access rights).
- Sample dialogues or screen shots illustrating use cases.
Example: Supermarket Prize Scheme
- A detailed example of how to model a supermarket prize scheme using use cases.
- Describes specific use cases (like "register-customer").
- Explains Scenarios (like "Scenario 1: Mainline sequence").
- Displays the text description of use cases like "register-customer."
Factoring of Use Cases
- Complex use cases can be broken down into smaller, component use cases for clarity and maintainability.
- Grouping of actions that are performed by users is done in use cases.
Generalization
- Similar to subclassing/inheritance in programming.
- One use case inherits actions from a parent use case while adding a unique behavior.
Extends
- Represents optional system behaviors.
- Use cases are modified when certain conditions are met.
Organization of Use Cases
- Use cases are organized hierarchically (top-level use cases and subordinate use cases) to better understand the overall system structure.
- Shows system limits and subsystems' offered services.
- Displays the lowest level hierarchy use cases.
Example: Tic-Tac-Toe Game
- Explains how to represent use cases with a simple example utilizing use case diagram representing the actions/interactions between the user and system.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.