OOAD
The _______ view addresses the performance, scalability and throughput of the system. - use case - process - implementation - design
- process
An activity diagram reflects flow of __________ among objects.- - messages - processes - control - data
- processes
A tagged value extends the _____________ of a UML building block. - vocabulary - properties - semantic - definition
- properties
A dashed line with hollow arrowhead represents ____________ relationship. - realization - association - dependency - generalization
- realization
A model is not used for - - documentation - visualization - understanding - realization
- realization
A relationship between classes and interfaces can be viewed as ____________ relationship. - association - generalization - link - realization
- realization
A relationship between use cases and collaboration can be viewed as ____________ relationship. - association - generalization - link - realization
- realization
A ________ is a contract or an obligation of a class. - constraint - note - responsibility - none
- responsibility
A constraint extends the _____________ of a UML building block. - vocabulary - properties - semantic - definition
- semantic
A dependency is a ______________ relationship between two things. - structural - semantic - behavioral - none
- semantic
A model is a ________ of reality? - classification - simplification - justification - clarification
- simplification
UML is not a language for - - visualization - documentation - simplification - construction
- simplification
What is the UML? Is the UML an object-oriented methodology?
UML (Unified Modelling Language) is the standard language for visualising, specifying, constructing, and documenting the artefacts of a software system. UML is not an object-oriented analysis and design or a process or methodology.
What does the activation bar mean in a Sequence Diagram?
Used for the sequence of interaction
Which is not one of the characteristic of object orientation? - Abstraction - Encapsulation - Polymorphism - Generalization
- Generalization
Why don't we go down to coding straightaway without Sequence Diagrams?
- Miss out certain interactions. - Assign wrong actions before coding. - All will be tangled when coding straight away.
The _______ view addresses the distribution, delivery and installation of the parts that make up of the physical system. - use case - process - implementation - None of the above
- None of the above
Which doesn't represent a relationship in UML? - Dependency - Generalization - Specification - Realization
- Specification
In the description of a class, a protected operation is shown by - - + - # - - - none
- #
What are the three types of analysis classes that are needed in the modelling of Sequence Diagrams?
- Boundary class: interface of the external class, a form - Control class - Entity class
In object-oriented approach, objects are - Identical - Discrete - both Identical and Discrete - None
- Discrete
What are the benefits of Object Orientation Approach?
- Focuses on modelling the real world objects into an OO system - Leads to software that are - Developed faster (Speed) - Reusable - Easily maintained (Maintainable)
A ______________ is a general purpose mechanism for organizing elements into groups. - node - class - package - component
- package
What kind of information can be derived from sequence diagrams?
- The process of a use case. - The interactions between the different classes. - Responsibilities of what the objects is supposed to do. - Messages to know the time sequence to derive the methods within the class. - Guard conditions (if/else loop)
UML stands for - - Universal Modelling Language - Unified Modelling Language
- Unified Modelling Language
Briefly describe some diagrams in UML
- Use Case diagram / Use Case Model - Domain Model - Class diagram - Sequence Diagrams
A class diagram shows relationship between/among - - Classes - Interfaces - Collaborations - all of these
- all of these
A link can be viewed as a subset of _________. - generalization - association - both a and b - none
- association
A use case diagram is used to model __________ of a system. - structure - behavior - organization - none
- behavior
A constraint is used to __________ rules of a UML building block. - add - modify - both a and b - none
- both a and b
A use case view represents _______ aspects of the view. - static - dynamic - both a and b - none
- both a and b
Interaction diagrams are - - sequence diagram - collaboration diagram - both a and b - none
- both a and b
Which view doesn't represents a software-intensive system? - class - use case - implementation - deployment
- class
An association indicates the relationship between ____________. - nodes - classes - interfaces - objects
- classes
A class is used for - generalization - classification - specification - collection
- classification
A _________ diagram emphasizes the structural organization of the objects that send and receive messages. - sequence - activity - use case - collaboration
- collaboration
A ______________ is a physical or replaceable part of a system that conforms to and provides the realization of set of interfaces. - node - object - interface - component
- component
A line with a solid diamond represents ________ relationship. - specialization - generalization - aggregation - composition
- composition
A component diagram shows the organization and ___________ among a set of components. - relationships - dependencies - grouping - none
- dependencies
A directed dashed line represents ____________ relationship. - message - association - dependency - none
- dependency
The architecture of a software-intensive system can be described by ____ views. - three - five - nine - none
- five
Which is not one of the model of OMT (Object Model Template)? - dynamic - static - functional - none
- functional
_________ relationship is used to model an inheritance. - specialization - generalization - dependency - none
- generalization
A component diagram address the static ________ view of system. - structural - behavioral - implementation - none
- implementation
The _______ view addresses the configuration management of the system's releases. - use case - process - implementation - design
- implementation
There are generally ________ diagrams used in UML. - seven - eight - nine - ten
- nine
A ______________ is a physical element that exists at run time and represents a computational resource. - node - object - interface - component
- node
In a class, a private operation is shown by - - + - # - * - none
- none
In a class, a public operation is shown by - - * - # - - - none
- none
Structural things are identified by __________________ of UML models. - nouns - classes - objects - entities
- nouns
A link shows the relationship between _______________. - nodes - classes - interfaces - objects
- objects
A ________ is a condition or situation during the life of an object during which it satisfies some condition, performs some activity, or waits for some events. - class - state - activity - specification
- state
A ___________ allow us to create new kind of building blocks derived from existing one. - tagged value - stereotype - interface - class
- stereotype
Which is not an attribute of an object? - behavior - state - time - space
- time
Which is not the attribute of an entity? - behavior - state - time - space
- time
A ___________ is a description of set of sequence of actions that a system performs. - use case - class - interface - activity
- use case
You are introduced to 2 ways of naming the objects in a Sequence Diagram: • A named instance, • An anonymous instance. Explain when each is most suitable.
An anonymous instance is commonly used as named instance is used only when you want to differentiate the class or want the class not to have the same name.
What is analysis and what is design?
Analysis vs. Design Analysis (most difficult part to confirm) focuses on Functional requirements and Analysing the problem while Design (abstraction of the real world, mental model of what you see) focuses on the Non-functional requirements and Defining the solution.
How should we name the classes in Sequence Diagram?
Based on the object.
How do you identify the boundary of a typical system under analysis?
Boundary of the system is the scope of functionalities. Boundary is determining what should be within and what should be outside the scope.
"Why do OOAD? We could safe time by coding straight away!" Agree or disagree? Explain.
Disagree. May make mistakes if code straight away and have to restart - wasting all previous efforts. Better to get the requirements right to prevent wasting of resources down the road.
What has abstraction and encapsulation got to do with Object Orientation? Define abstraction and encapsulation with examples.
Encapsulation • Objects are responsible for their own actions • Information hiding → object hides all it's attributes • Procedural programming is based on performing actions on data. O-O programming is based on the data (objects) performing actions on themselves. Abstraction Design (abstraction of the real world, mental model of what you see)
What are the main concepts of object orientation? (Provide example for each)
Encapsulation, Abstraction and Inheritance
What are the two very important questions Sequence Diagrams aim to answer?
Help to answer two very important questions: - Which object should be assigned a particular responsibility? - In what order should messages be passed between objects? Is used in both analysis and design.
What is a reflexive message?
Is Used when the supplier needs to invoke another internal operation (messageSelf) in order to fulfil the responsibility of performResponsibility. Getting yourself to do something. Invoke a method u will do for yourself.
What is a Sequence Diagram? Why do we need to develop Sequence Diagrams?
Models object interactions arranged in time sequence. Illustrate how objects collaborate to fulfill the requirements. The focus is on time sequences of messages between objects, i.e. what happens, when. - Used to model the event flows outlined in your use case descriptions. - Document the logic that takes place (flow of events) when a use case is initiated by an actor.
What are the inputs into the process of developing Sequence Diagrams? i.e. what information must you consider? Where are these sources of information?
Need to refer the use case specifications. Need to know the classes from the domain model. Know the three analysis classes.
Difference between a class and an object.
Object is an instance of a class • eg. Student is a class, each individual student is an object • eg. Flower is class, each type of flower is an object • eg. Car is a class, Audi, Mercedes are subclasses, License plate is an object
What is an object?
Object is an instance of a class. Object can be a combination of variables, functions, and data structures.
List the different types of actors and give examples of each.
Primary actor - Has goals to be fulfilled by system - Interacts directly with the system - Emphasis is on the primary actor for the use case - E.g. Cashier Supporting Actor - Provides service to the system - Other actors are listed as stakeholders - E.g. Automated Payment Authorization Services Offstage Actor - Interested in the behavior, but no contribution - E.g. Government Tax Agency
What are the phases in a Software Development Life-Cycle and briefly describe the purpose of each phase?
Requirements gathering --> Analysis --> Design --> Implementation --> Testing --> Deployment
Compare requirements against "analysis and design" ?
Requirements vs. Analysis & Design Requirements is concerned with "What" the software is supposed to do and "What" the users want the software to do. Whereas Analysis and Design is about "How" the software performs what the users want and "How" the software solves the problems/needs. e.g. Requirements: Room where, door facing which side etc. (not everything can be achieved all the time when you receive a list of requirements) Analysis and Design: Building a floorplan/model, hasn't been implemented yet
Abstract class vs Concrete Class. Differentiate and provide an example of them in application
The main difference between the two arises from the level of implementation of their method functionalities. Concrete Classes are regular classes, where all methods are completely implemented. An abstract class is where the functions are not defined, i.e. they are abstract. The only real difference is that a concrete class can be instantiated because it provides (or inherits) the implementation for all of its methods. An abstract class cannot be instantiated because at least one method has not been implemented. E.g. A shape is an abstract class - x, y, z are attributes - m1, 2, m3 are methods/operations Abstract class just helps to represent the real world, but doesn't have the ability to be instantiated as a real object
What type of data validation should apply to each of the following: • Check that a phone number contain only digits • Check that a phone unit is in stock • For a date range, check that the first date is before the second date • Check that the NRIC is valid
• Check that a phone number contain only digits (data format validation) • Check that a phone unit is in stock (business specific validation) • For a date range, check that the first date is before the second date (DD/MM/YY: business specific validation) • Check that the NRIC is valid (S000123A: business specific validation)
What is a model and why do we model?
• Model is a representation of an idea, an object or even a process or a system that is used to describe and explain phenomena that cannot be experienced directly. • Model is an abstraction. • A model is not the real world but merely a human construct to help us better understand real world systems. In general all models have an information input, an information processor, and an output of expected results.