MODULE 01
*Define object.
Object is an instance of a class or it is a real world entity that has properties and
methods.
Eg: Car
*Compare Encapsulation and information hiding
Encapsulation: It is the process of binding both attributes and methods together within
a class.
Information Hiding: A class is designed such that its data can be accessed only by its
class methods and insulated from direct outside access.
*Define Inheritance
It is the mechanism that permits new classes to be created out of existing classes by
extending and refining its capabilities.
Existing classes are base class/parent class.
New classes are derived class/child class.
*Define Aggregation
It is a relationship among classes by which a class can be made up of any combination of
objects of other classes.
Eg: In the relationship “a car has – a motor ” ,car is the whole object or the aggregate
and the motor is a “part-of” the car.
*Define correctness and correspondence
->Correctness is another quality measure that assesses the consistency of a software
entity’s behaviour to its specification.
->Correspondence is a quality measure that assesses how well a system meets the needs
of the problem.
*Define Verification and Validation
->Verification is the process of determining if software is developed and designed
according to specified requirements.
->Validation is the process of checking if the software meets the client’s needs and
expectations.
*List the four phases of Rambaugh object modelling techniques.
1. Analysis
2. System Design
3. Object Design
4. Implementation.
*List the four primary symbol used in DFD
Entity , Process , Data store and Data flow
*Name five Booch diagrams
1. Class diagram
2. Object diagram
3. State Transition diagram
4. Module diagram
5. Process diagram
6. Interaction diagram
*List out the steps involved in micro development process of Booch OMT
->Identify classes and objects
->Identify class and object semantics
->Identify class and object relationships
->Identify class and object interfaces and implementation.
*List the types of models
>>Booch >>Rambaugh
1. Physical Model 1. Object Model
2. Logical Model 2. Dynamic Model
3. Static Model 3. Functional Model
4. Dynamic Model
*Explain the types of inheritance
->Single Inheritance − A subclass derives from a single super-class.
->Multiple Inheritance − A subclass derives from more than one super-classes.
->Multilevel Inheritance − A subclass derives from a super-class which in turn is derived
from another class and so on.
->Hierarchical Inheritance − A class has a number of subclasses each of which may have
subsequent subclasses, continuing for a number of levels, so as to form a tree structure.
->Hybrid Inheritance − A combination of multiple and multilevel inheritance so as to
form a lattice structure.
*Sketch the state transition diagram for ATM system.
*Sketch an alarm class state transition diagram with Booch notation.
*Sketch the OMT data flow diagram (DFD) of the ATM system.
*Illustrate object oriented software development life cycle with neat sketch.
*Describe Rambaugh Object Model and Booch methodology with appropriate
examples.
Rambaugh is also known as Object Modeling Techniques (OMT)
It was one of the first object oriented methodologies and was introduced by Rambaugh in 1991.
It uses three different models. A method for analysis, design and implementation by an object
oriented technique.
Fast and intuitive approach.
Class attributes, methods, inheritance and association can be expressed easily.
OMT consists of four phases, which can be performed iteratively:
1. Analysis: The results are objects and dynamic and functional models.
2. System design: The results are a structure of the basic architecture of the system along with
high-level strategy decisions.
3. Object design: This phase produces a design document, consisting of detailed objects static,
dynamic, and functional models.
4. Implementation: This activity produces reusable, extendible, and robust code.
OMT separates modeling into three different parts:
1. An Object model
2. A Dynamic model
3. A Functional model
The Object Model
• It depicts the object classes and their relationships as a class diagram, which represents the
static structure of the system.
• The object model is represented graphically with an object diagram
The OTM Dynamic Model
• OMT provides a detailed and comprehensive dynamic model, in addition to letting you
depict states, transitions, events, and actions.
• The OMT state transition diagram is a network of states and events.
The OMT Functional Model
• Data Flow Diagram shows the flow of data between different processes in a business.
Four Primary Symbols used in DFD are :-
Process , Data flow , Data store , Entity
Booch Methodology
• The G.Booch method is one well-known Object Oriented-method
• Design the systems using the object paradigm
• Covers the analysis and design phases of an OO-system implementation
• Booch defines a lot of symbols to document almost every design decision
• This method starts with class and object diagrams
Booch proposes different views to describe an OO system
1. Physical model: It describes the concrete hardware with respect to the software
components of a system.
2. Logical model: Represented in the class and object structure
3. Static model: class diagrams (and the relationships therein) are mostly static
4. Dynamic model: Object diagrams (and the relationships therein) describe the
dynamic behavior of the system
The Booch method consists of the following diagrams
Class diagrams
A class is a group of related services packed together under a single representative name
Class a set of objects that share the same attributes, operations & relationships.
Object diagrams
State transition diagrams: Shows the dynamic behavior of classes
Module diagrams: show the allocation of classes and objects to modules
Process diagrams: show the allocation of processes to processors
1. Macro development process
Primary concern – technical management of the system
Steps Involved:
Conceptualization.
Analysis and development of the model
Design or create the system architecture
Evolution or implementation
Maintenance
2. Micro development process
The micro development process is a description of the day-to-day activities.
Steps involved:
a. Identify classes and objects
b. Identify classes and object semantics
c. Identify classes and object relationships
d. Identify classes and object interfaces and implementation
Interaction diagrams : trace the execution of a scenario in the same context as an object
diagram
*Illustrate Jacobson Methodology with appropriate examples in detail.
• OOSE is developed by Ivar Jacobson in 1992. OOSE is the first object-oriented
design methodology that employs use cases in software design.
• It covers entire life cycle and stress traceability between different phases
• Advantage :-
• Reduction of development time
• Reuse of code
• Reuse of analysis and design work
• Use-Case is an interaction between user and the system.
• Use-case model captures the goal of the user and the responsibility of the system
to its users.
• Use Cases are described as :-
->Non formal text with no clear flow of events.
-> Text, easy to read but with a clear flow of events to follow
->Formal style using Pseudo code.
• Use- Case Description must contain the following :-
->How and when the use case begins and ends
->The interaction between the use case and its actors, including when the
interaction occurs and what is exchanged.
->How and when the use case will need data stored in the system or will store
data in the system.
->Exceptions to the flow of events
->How and when concepts of the problem domain are handled.
Extends and Uses Relationship
• Extends – used when you have one use case similar to another use case but does
a bit more (Extends the functionality of original use case---sub class).
• Uses – Reuses the common behavior in different use case.
*Describe the process and components of unified approach with neat sketch.
MODULE 02
*Define classification.
->Classification is the process of checking to see if an object belongs to a category or a
class and it is regarded as a basic attribute of human nature.
➢A class is a specification of structure, behaviour, and the description of an object.
*Define concept class and event class.
->Concept class: Idea or Understanding
->Event class: Points in time to be recorded
*Compare Organization and People class.
->Organization class: Collection of people, resources, groups
->People class: Roles user play to interact with the system
*Define Tangible things and device classes.
->Tangible Things: Physical objects.
->Device class: A definition of a device type for a set of volumes in a storage pool.
*List out the various approaches for identifying classes.
➢The noun phrase approach.
➢The common class patterns approach.
➢The use-case driven approach.
➢Class, Responsibilities and Collaborators (CRC)
*Define associations.
A reference from one class to another is an association.
Basically a dependency between two or more classes is an association.
For example, Jackie works for John.
*Classify object relationships.
Three types of relationships among objects are:
->Association
->Super-sub structure (Generalization hierarchy)
->Aggregation and a-part-of structure.
*Define super–sub class relationships.
A superclass/subclass relationship is the relationship between a superclass and one of
its subclasses. A subclass is a class that inherits from another class, and a superclass is a
class that another class inherits from.
Superclass: Vehicle
Subclasses: Car, Truck, and Motorcycle
*Define aggregation.
->A-part-of relationship, also called aggregation, represents the situation where a class
consists of several component classes.
->For example, a car consists of many other classes, one of them is a radio, but a car
does not be have like a radio.
*Classify the properties of a part of relationships.
Two major properties of a-part-of relationship are:
•Transitivity:
->If A is part of B and B is part of C, then A is part of C.
->For example, a carburetor is part of an engine and an engine is part of a car; therefore
, a carburettor is part of a car.
•Anti symmetry:
->If A is part of B, then B is not part of A.
->For example, an engine is part of a car, but a car is not part of an engine.
*Define use case diagram.
A use case diagram is used to represent the dynamic behaviour of a system. It
encapsulates the system's functionality by incorporating use cases, actors, and their
relationships.
Graph of actors, a set of use cases enclosed by a system boundary, communication
association between the actors and the use cases, and generalization among the use
cases.
*Define class diagram.
->The UML class diagram is the main static analysis diagram.
->Class diagrams show the static structure of the model.
->Class diagram is collection of static modelling elements, such as classes and their
relationships.
*Describe why analysis is a difficult activity?
• Analysis is a creative process, that involves understanding problem domain, its
associated constraints, and methods to overcome those constraints
• Three most common sources of requirements difficulties:
1. Fuzzy Description
2. Incomplete Requirements
3. Unnecessary Features
*A store wants to automate its inventory. It has point-of-sale terminals that can
record all of the items and quantities that a customer purchases. Another
terminal is also available for the customer service desk to handle returns. It has a
similar terminal in the loading dock to handle arriving shipments from suppliers.
The meat department and produce department have terminals to enter
losses/discounts due to spoilage. Choose Noun phrase approach for identifying
the objects from the grocery store problem.
Step.1: Step.2:
Identify nouns Eliminate irrelevant nouns
Store Store
Inventory Point-of-sale terminal
Point-of-sale terminal Inventory
Terminals Item
Items Customer
Quantity Customer service desk
Purchase Handle returns
Customer Returns
Customer service desk Handle shipment
Handle returns Shipment
Returns Meat department
Loading dock Produce department
Shipment Department
Handle shipment Enter losses
Suppliers Enter discount
Meat department
Produce department
Department
Enter losses
Enter discount
Spoilage
Step.3 Step.4:
Eliminate redundancies The final set of classes and
Store objects after the elimination
Point-of-sale terminal process.
Item Point-of-sale terminal
Customer service desk Item
Handle returns Handling return
Handle shipment Handling shipment
Meat department Enter losses
Produce department Enter discount
Enter losses Meat department
Enter discount Produce department
Store
*Explain various common class pattern approach and the guidelines for
identifying super sub relationship.
This approach is based on the knowledge – base of the common classes that have been
proposed by the various researchers.
• It was proposed by Shaler & Mellor, Ross, and Coad &Yourdon
Patterns for finding the candidate class and objects
1. Concept Class [Idea or Understanding]
2. Event Class [points in time to be recorded]
3. Organization Class [collection of people, resources, groups]
4. People Class [roles user play to interact with the system]
5. Places Class [physical locations the system has info about]
6. Tangible things and devices [physical objects]
1. Candidate Classes-Concepts
->Concepts are principles or ideas not tangible but used to organize or keep track of
business activities and/or communication.
Ex: performance
2. Candidate Classes-Events
• There are points in time that must be recorded and remembered.
• Associated with things remembered are attributes such as who, what, when, where,
how, or why.
• Things happen, usually to do something else, at a given date and time, or as step in an
ordered in an sequence.
• For example : landing, order, request
• Order placed time which is an event must be remembered
3. Candidate Classes-Organization
• Organization class specify collection of people, resources, facilities or groups to which
the user belongs, and their capabilities have a defined mission, whose existence is
largely independent of individuals.
• For example
• accounting department might be considered as a potential class.
• human resources department
• Bank class: Bank client belongs to Bank Class
• It’s a repository of accounts and processes the accounts transaction
4. Candidate Classes-People and Person (Roles and roles played)
->The different roles users play in interacting with the application.
•Known as person, roles, and roles played class.
•Represents the different roles users play in interacting with the application.
•What role does a person play in the system?
5. Candidate Classes-Places
->These are physical locations, such as buildings, stores, sites or offices that the system
must keep information about.
Example: buildings, stores, offices
6. Candidate Classes-Tangible Things and Devices
->Physical Objects, or group of objects, that are tangible, and devices with which the
application interacts.
->For example: cars, pressure sensors.
The guidelines for identifying super sub relationship
1. Top - down
->Look for noun phrases composed of various adjectives on class name.
->Example: Military Aircraft and Civilian Aircraft.
->Only specialize when the sub classes have significant behaviour.
2. Bottom up
->Look for classes with similar attributes or methods.
->Group them by moving the common attributes and methods to super class.
->Do not force classes to fit a preconceived generalization structure.
3. Reusability
->Move attributes and methods as high as possible in the hierarchy.
->At the same time do not create very specialized classes at the top of hierarchy.
->This balancing act can be achieved through several iterations.
4. Multiple inheritance
->Avoid excessive use of multiple inheritance.
->It is also more difficult to understand programs written in multiple inheritance
system.
*Sketch the use case diagram for library management systems.
*Sketch the use case diagram for hospital management systems.
*Sketch the class diagram for ATM systems.
*Sketch the class diagram for car rental systems.
*Sketch the class diagram for library management systems.
*Explain with an example for class diagram. Summarize the relationship used in
class diagram.
A class diagram is a diagram that describes the types of objects in a system and the
relationships among them. Classes are represented by boxes, and relationships are
represented by lines between the boxes.
There are six main types of relationships in class diagrams:
Inheritance
is a relationship between a subclass and a superclass.
Realization
is a relationship between a class that specifies a contract and a class that implements the contract.
Composition
is a relationship between a whole class and a part class. The whole class cannot exist without the
part class. For example, the class "Car" is a whole class and the class "Engine" is a part class. The
class "Car" cannot exist without the class "Engine".
Aggregation
is a relationship between a whole class and a part class that is similar to composition, but the part
class can exist independently of the whole class. For example, the class "House" is a whole class
and the class "Room" is a part class. The class "House" can exist without the class "Room", but the
class "Room" cannot exist without the class "House".
Association
is a relationship between two classes that are not related by inheritance, realization, composition,
or aggregation. For example, the class "Student" has an association with the class "Course". A
student can be enrolled in many courses, and a course can have many students.
Dependency
is a relationship between two classes where one class needs the other class in order to
function. For example, the class "Car" depends on the class "Engine". The class "Car" needs the
class "Engine" in order to run.
Class Diagram for Library Management System:
Aggregation and Multiplicity are two important points that need to take into
consideration while designing a Class Diagram.
*When the customer inserts the bank or credit card in the ATM’s card reader, the
entry action i.e read card is performed by the ATM machine. If the card is not
valid then the machine will perform exit action. After the card is being read
successfully, the ATM machine will ask for Pin. Then the customer enters the pin
and ATM machine then reads pin. If the pin entered is not valid then machine will
perform exit action. If the pin entered is valid, then the machine further process
towards transaction. After successful transaction, machine undergoes the exit
action i.e., eject card that discharges the customer’s card. Sketch the use case
diagram and class diagram for the above given scenario.
*Describe use case driven approach for identifying classes and CRC card with
appropriate example.
A use case-driven approach is a methodology used in software engineering to identify
and define classes in an object-oriented system. It involves analysing system
requirements through use cases, which describe interactions between actors (users or
external systems) and the system itself. CRC (Class-Responsibility-Collaboration) cards
are a technique used in conjunction with this approach to define classes, their
responsibilities, and collaborations within the system.
Here's a step-by-step example of how this approach works:
Use Case Driven Approach:
Step 1: Identify Use Cases
Begin by identifying and describing the various interactions or functionalities the
system needs to perform. For instance, in a library management system, use cases could
include "Borrow Book," "Return Book," "Add New Book," and "Generate Reports."
Step 2: Identify Actors
Determine the different actors involved in each use case. In the library system example,
actors might include "Librarian," "Library Member," and "Admin."
Step 3: Extract Classes from Use Cases
From each use case, identify the potential classes that participate in fulfilling the use
case. For "Borrow Book," possible classes could be "Book," "Library Member," and
"Library Catalog."
Step 4: Create CRC Cards
For each identified class, create a CRC card to define its properties, responsibilities, and
collaborations:
Class, Responsibilities and Collaborators (CRC)
• Classes, Responsibilities, and Collaborators is a technique used for identifying
classes, responsibilities and therefore their attributes and methods.
• Classes, Responsibilities, and Collaborators is based on the idea that an
object either can accomplish a certain responsibility itself or it may
require the assistance of other objects.
• If it requires the assistance of other objects, it must collaborate with those
objects to fulfill its responsibility.
Example: CRC Card for "Book" Class
Class Name: Book
Responsibilities:
- Store information such as title, author, ISBN, etc.
- Provide methods to check availability, retrieve information, and update status.
- Manage book-related operations like borrowing and returning.
Collaborators:
- Collaborates with Library Member class for checkouts and returns.
- Collaborates with Library Catalog class for availability status.
Example: CRC Card for "Library Member" Class
Class Name: Library Member
Responsibilities:
- Store member information like name, ID, contact details.
- Manage borrowing and returning books.
- Keep track of overdue books and fines.
Collaborators:
- Collaborates with Book class for borrowing and returning operations.
- Collaborates with the Library system for fine calculations.
Step 5: Refine and Iterate
Refine the identified classes, their responsibilities, and collaborations based on
feedback, further analysis, or changing requirements. Iterate through the process to
ensure comprehensive coverage of all use cases.
This approach helps in systematically deriving classes from use cases, ensuring that the
system design aligns closely with the intended functionality. The CRC cards serve as a
handy reference to understand each class's purpose, behaviours, and relationships
within the system.
*Illustrate OOA process in the unified approach and examine use case model.
1. Identify the actors :
• Who is using the system
• Who will be using the system ( in case of a new system )
2. Develop a simple business process model using UML activity diagram
3. Develop the use case :
• What are the users doing with the system
• What will users be doing with the new system (in case of a new system )
• Use cases provide comprehensive documentation of the system under
study
4. Prepare interaction diagrams
• Determine the sequence
• Develop collaboration diagrams
5. Classification – develop a static UML class diagram :
• Identify classes
• Identify relationships
• Identify attributes
• Identify methods
6. Iterate and refine : if needed, repeat the preceding steps
Use case model:
Use case under the microscope
Uses and extends Associations
Identifying the Actors
Guidelines for finding Use Cases
How detailed must a use case be? When to stop decomposing and when to
continue
Dividing the uses Cases into packages
Naming a Use Case
MODULE 3
*List the types of axioms.
Axiom 1: The independence axiom: Maintain the independence of components.
Axiom 2: The information axiom: Minimize the information content of the design.
*Define public protocols.
A public protocol defines the functionality and external messages of an object. Some
commonly used public protocols in OOAD include:
->Interface
->Messaging protocols
->Event Handling
->Concurrency Protocols
->Resource management
->Life cycle management
*List the three basic types of attributes.
The three basic types of attributes are:
1. Single-value attributes.
2. Multiplicity or multi value attributes.
3. Reference to another object, or instance connection.
*List the five rules for identifying bad design.
I. If it looks messy then it's probably a bad design.
II. If it is too complex then it's probably a bad design.
III. If it is too big then it's probably a bad design.
IV. If people don't like it then it's probably a bad design.
V. If it doesn't work then it's probably a bad design.
*Define packages.
->A package groups and manages the modelling elements, such as classes, their
associations and their structures.
->A package provides a hierarchy of different system components and can reference
other packages.
*Describe sequence diagram.
->Sequence diagrams are an easy and intuitive way of describing the behaviour of a
system.
->A sequence diagram shows an interaction arranged in a time sequence.
*Define Collaboration diagram.
•A collaboration diagram represents a set of objects related in a particular context, and
the exchange of their messages to achieve a desired outcome.
•Collaboration diagrams illustrate interactions between objects
•The collaboration diagram illustrates messages being sent between classes and objects
(instances).
*Define State-chart diagram.
State chart diagram is one of the five UML diagrams used to model the dynamic nature
of a system. They define different states of an object during its lifetime and these states
are changed by events. State chart diagram describes the flow of control from one state
to another state.
*Describe activity diagram.
->Activity diagram is used to represent the flow across use cases or to data flow
diagrams in function-oriented design approach.
->Activity diagrams represent the dynamic (behavioural) view of a system. Activity
diagrams are typically used for business (transaction) process modelling and modelling
the logic captured by a single use-case or usage scenario.
*Describe corollary.
A Corollary is a proposition that follows from an axiom or another proposition that has
been proven. From the two design axioms, many corollaries may be derived.
*Describe axiom.
•An axiom is a fundamental truth that always is observed to be valid and for which
there is no counterexample or exception.
• The axioms cannot be proven or derived but they cannot be invalidated by
counterexamples or exceptions.
*Define corollaries. Explain various levels of corollaries.
A Corollary is a proposition that follows from an axiom or another proposition that has
been proven.
From the two design axioms, many corollaries may be derived.
*Define Axiom. Describe various types of axioms.
• An axiom is a fundamental truth that always is observed to be valid and for
which there is no counterexample or exception.
• The axioms cannot be proven or derived but they cannot be invalidated by
counterexamples or exceptions.
There are two design axioms applied to object-oriented design.
• Axiom 1 deals with relationships between system components and
• Axiom 2 deals with the complexity of design.
*Describe swim lane. Draw the swim lane diagram for reserving a railway ticket.
A swim lane activity diagram is a type of flowchart that shows a process from start to
finish. It uses swim lanes to show who is responsible for each step in the process.
A swim lane diagram is a type of flowchart that illustrates the steps in a process or
workflow, including who does what. Each lane in the diagram represents a department
or team member responsible for bringing a design to life.
*Explain the following (i) Class visibility (3marks) (ii) Refining attributes and its
types (3marks) and (iii) Designing methods and protocols (4 marks)
(i) Class visibility
• In designing methods or attributes for classes, you are confronted with two issues.
– One is the protocol, or interface to the class operations and its visibility;
– And how it should be implemented.
Public Protocol (Visibility)
• Decide what should be public (External).
• Public protocols define the functionality and external messages of an object, while
private protocols define the implementation of an object.
Private Protocol (Visibility)
• A set of methods that are used only internally.
• Object messages to itself.
• Define the implementation of the object (Internal).
• Issues are: deciding what should be private.
– What attributes
– What methods
Protected Protocol (Visibility)
• In a protected protocol, subclasses can use the method in addition to the class itself.
• In private protocols, only the class itself can use the method.
(ii) Refining attributes and its types
• The three basic types of attributes are:
– 1. Single-value attributes.
– 2. Multiplicity or multi value attributes.
– 3. Reference to another object, or instance connection.
(iii) Designing methods and protocols
*When the customer inserts the bank or credit card in the ATM’s card reader, the
entry action i.e read card is performed by the ATM machine. If the card is not
valid then the machine will perform exit action. After the card is being read
successfully, the ATM machine will ask for Pin. Then the customer enters the pin
and ATM machine then reads pin. If the pin entered is not valid then machine will
perform exit action. If the pin entered is valid, then the machine further process
towards transaction. After successful transaction, machine undergoes the exit
action i.e., eject card that discharges the customer’s card. Sketch the sequence
diagram and collaboration diagram for the above given scenario.
State transition
*Define State Transition Diagram. List out the notations used for State Transition
Diagrams.
Sketch a state transition diagram and activity diagram for a microwave oven for
the following scenario:
(a) The oven is initially in idle state with door open when light is turned on.
(b) When the door is closed it is in idle state and light is turned off.
(c) If the button is pressed it moves to initial cooking stage where the timer is set
and lights are on and heating starts.
(d) At any moment the door may be opened, the cooking is interrupted, the timer
is cleared and heating stops.
(e) Also, while coking another button can be pushed and extended cooking state
starts where the timer gets more minutes. At any moment door can be opened
here also.
(f) If the timer times out, cooking is complete, heating stops, lights are off, it
sounds a beep.
(g) When the door is open, again the oven is in idle state with the door open.
State Transition Diagram are also known as Dynamic models. As the name suggests,
it is a type of diagram that is used to represent different transition (changing) states of
a System. It is generally used to graphically represent all possible transition states a
system can have and model such systems.
1. Initial State –
2. Final State –
3. Simple State –
4. Composite State –
*To conduct an exam, the instructor first notifies the students of the exam date
and the material to be covered. S/he then prepares the exam paper (with sample
solutions), gets it photocopied through office staff to produce enough copies for
the class, and hands it out to students on the designated time and location. The
students write their answers to exam questions and hand in their papers to the
instructor. The instructor then gives the exam papers to the TAs, along with
sample solutions to each question, and gets them to evaluate it. She/he then
records all marks and returns the papers to the students. Sketch a sequence
diagram that represents this process. Make sure to show when each actor is
participating in the process. Also, show the operation that is carried out during
each interaction, and what its arguments are?
*The hospital has several wards divided into male wards & female wards. Each
ward has a fixed number of beds. When a patient is admitted they are placed onto
an appropriate ward. The Doctors in the hospital are organized into teams such as
Orthopedics A, or Pediatrics, and each team is headed by a consultant doctor.
There must be at least one grade 1 junior doctor in each team. The Administration
department keeps a record of these teams and the doctors allocated to each team.
A patient on award is under the care of a single team of doctors, with the
consultant being the person who is responsible for patient. A record is
maintained of who has treated the patient, and is must be possible to list the
patients on award and the patients treated by a particular team. Sketch the
activity diagram for the given scenario.
*The Flight Reservation System is an essential tool for managing flight bookings
and reservations. The system offers several features, including the ability to
select flights, book flights, cancel bookings, search for flights, view flight details,
add flights, edit flights, and cancel flights. The first step in the system is to select a
flight. Customers can search for flights based on various criteria, such as
departure and arrival locations, dates of travel, and airline preferences. This
feature ensures that customers can find a flight that suits their needs and
preferences.
Once customers have selected a suitable flight, they can book the flight using the
system. The system allows customers to provide their personal and payment
information, select the seat they want, and specify any additional services they
require, such as baggage handling or in-flight meals. Customers can also specify
any special requests or preferences they have, such as a window seat or a
vegetarian meal. This feature ensures that customers can customize their flight
according to their needs and preferences.
If customers need to cancel their booking, they can do so using the system. The
system allows customers to cancel their booking quickly and easily, without the
need to contact the airline directly. This feature ensures that customers have
flexibility and control over their bookings and can adjust their plans as needed.
Finally, if airlines need to manage their flight schedules, they can add, edit, or
cancel flights using the system. This feature ensures that airlines can manage
their flight operations efficiently and effectively, and respond quickly to changes
in demand or other factors. Sketch the sequence diagram and collaboration
diagram for the above given scenario.
*When the customer inserts the bank or credit card in the ATM’s card reader, the
entry action i.e read card is performed by the ATM machine. If the card is not
valid then the machine will perform exit action. After the card is being read
successfully, the ATM machine will ask for Pin. Then the customer enters the pin
and ATM machine then reads pin. If the pin entered is not valid then machine will
perform exit action. If the pin entered is valid, then the machine further process
towards transaction. After successful transaction, machine undergoes the exit
action i.e., eject card that discharges the customer’s card. Sketch the activity
diagram for the above given scenario.
MODULE 4
*Define testing and DBMS.
Testing: The elimination of syntactical bug is the process of debugging, whereas
detection and elimination of logical bug is the process of testing.
DBMS: A database management system (DBMS) is a collection of related data and
associated programs that access, manipulate, protect and manage data.
* Define black box testing.
Black box test works very nicely in testing objects in an object oriented environment.
In a black box, the test item is treated as “black” whose logic is unknown.
All that’s known is what goes in and what comes out, the input and output.
* Outline quality assurance test.
Quality assurance (QA) testing is a process that ensures products meet designated
standards and customer expectations. In object-oriented systems, testing includes three
levels: unit testing, subsystem testing, and system testing.
*Describe component and deployment diagram.
• A component is an encapsulated, reusable, and replaceable part of your software
• Reducing and defying coupling between software components
• Reusing existing components.
*Define prototyping.
Prototyping is a process where design teams create tangible versions of ideas to test
with users. It allows users to evaluate and try out developer proposals before
implementation.
*Define view layer.
The view layer in object-oriented analysis and design (OOAD) is the user's interaction
interface. It's a type of output data that allows users to manipulate the way the system
interacts with their view.
*Describe schema and metadata.
The Schema or metadata, contains a complete definition of the data formats, such as the
data structures, types, and constraints.
The schema is the collection of class definitions.
*Define Object Storage and Persistence.
Object storage is a data storage architecture for storing unstructured data, which
sections data into units—objects—and stores them in a structurally flat data
environment.
Persistence is the property of an object to continue to exist after the process that
created it has ended.
*Describe the four major activities of designing view layer classes.
->Macro Level UI Design Process
->Micro Level UI Design Activities
->Usability and User Satisfaction Testing
->Refine and Iterate.
*Describe commit and abort.
Commit: Committing in OOAD refers to finalizing and making permanent the changes made
during a transaction.
Abort/Rollback: Aborting or rolling back in OOAD means cancelling or reverting the
changes made within a transaction.
*Describe schema.
In Object-Oriented Analysis and Design (OOAD), a "schema" typically refers to the structural
representation or blueprint that defines the organization, structure, and relationships
between various elements within a system.
*State the benefits of access layer classes.
->Easy Migration
->Needs of two- tier client/server architecture
*Illustrate the steps involved in designing view layer classes. Explain macro and
micro level design process of view layer classes.
•Design of the view layer classes are divided into the following activities:
– I. Macro Level UI Design Process- Identifying View Layer Objects.
–II. Micro Level UI Design Activities.
a. Design of view layer objects by applying Design Axioms and Corollaries.
b. Create prototype of the view layer interface.
–III. Usability and User Satisfaction Testing.
–IV. Refine and Iterate.
View Layer Macro Level
1. For Every Class Identified
1.1 Determine If the Class Interacts With Human Actor: If yes, do next step otherwise
move to next class.
1.1.1 Identified the View (Interface) Objects for The Class.
1.1.2 Define Relationships Among the View (Interface) Objects.
2. Iterate and refine.
View Layer Micro Level
1. For Every Interface Object Identified in the Macro UI Design Process.
1.1Apply Micro Level UI Design Rules and Corollaries to Develop the UI.
2. Iterate and refine.
*Describe OODBMS. Explain the features of Object Oriented Database System.
->A database management system (DBMS) is a collection of related data and associated
programs that access, manipulate, protect and manage data.
->The main purpose of a DBMS is to provide a reliable, persistent data storage facility,
and mechanism for efficient and convenient data access and retrieval.
->A DBMS is a set of programs that enable the creation and maintenance of a collection
of related data.
->DBMS have a number of properties that distinguish them from the filr – based data
management approach.
Features of Object Oriented Database Systems are:
->Persistence: Objects are stored in the database and can be accessed and
manipulated by users and applications. This allows for the efficient management and
manipulation of complex data structures and relationships.
->Inheritance: Every subclass has shared properties with the parent class from which
it was derived. The child class inherits all capabilities of the parent class and can add
additional capabilities of its own.
->Encapsulation: A process of combining data members and functions in a single unit
called class. This is to prevent the access to the data directly, the access to them is
provided through the functions of the class. It also helps in "data hiding"
->Secondary storage management: Secondary storage management is a feature of
database management systems that supports a set of mechanisms. These mechanisms
include: Index management, Data clustering, Data buffering, Access path selection,
Query optimization.
->Object-oriented data model: ODBMS uses an object-oriented data model to store
and manage data. This allows developers to work with data in a more natural way, as
objects are similar to the objects in the programming language they are using.
->Complex data types: ODBMS supports complex data types such as arrays, lists, sets,
and graphs, allowing developers to store and manage complex data structures in the
database.
->Automatic schema management: ODBMS automatically manages the schema of
the database, as the schema is defined by the classes and objects in the application
code. This eliminates the need for a separate schema definition language and
simplifies the development process.
->High performance: ODBMS can provide high performance, especially for
applications that require complex data access patterns, as objects can be retrieved
with a single query.
->Data integrity: ODBMS provides strong data integrity, as the relationships between
objects are maintained by the database. This ensures that data remains consistent and
correct, even in complex applications.
->Concurrency control: ODBMS provides concurrency control mechanisms that
ensure that multiple users can access and modify the same data without conflicts.
->Scalability: ODBMS can scale horizontally by adding more servers to the database
cluster, allowing it to handle large volumes of data.
->Support for transactions: ODBMS supports transactions, which ensure that
multiple operations on the database are atomic and consistent.
*Explain the activities of access layer design process. Describe various database
models with suitable example.
• The access layer design process consists of these following activities:
1. If methods will be stored in a program
Then For every business class identified, determine if the class has persistent data.
Else For every business class identified, mirror the business class package.
2. Define relationships. The same rule as applies among business class objects also
applies among access classes.
3. Simplify classes and relationships. The main goal here is to eliminate redundant or
unnecessary classes or structures.
1. Redundant classes. If you have more than one class that provides similar
services, simply select one and eliminate the other(s).
2. Method classes. Revisit the classes that consist of only one or two methods to see
if they can be eliminated or combined with existing classes.
4. Iterate and refine.
*Sketch the component diagram and deployment diagram for Library
management system and railway ticket reservation system.
*Sketch the component diagram and deployment diagram for ATM system and
online flight ticket reservation system.
*Sketch the component diagram and deployment diagram for Course Registration
System.
*Sketch the component diagram and deployment diagram for Hospital
Management System.
*Explain the following:
Object storage and persistence.(4)
Transaction
Concurrency control
Client server computing.
*Explain Quality assurance Tests. Illustrate various testing strategies.
Debugging is a process of finding out where something went wrong and correcting the
code to eliminate the errors or bugs that cause unexpected results. A software
debugging system can provide tools for finding errors in programs and correcting them.
Kinds of errors: In general, a software has three types of errors such as below
Language (syntax) errors are result of incorrectly constructed code, such as an
incorrectly typed keyword or punctuations. They are easiest error to be detected on
simple running system
Run-time errors are detected on running, when a statement attempts an operation that
is impossible to carry out. Eg. if program tries to access a non-exist file or object, it
occurs.
Logic errors occur when expected output is not formed. They can detected only by
testing the code and analysing the results performed by intended codes
The elimination of syntactical bug is the process of debugging, whereas detection and
elimination of logical bug is the process of testing. Quality assurance testing can be
divided into two major categories: error-based testing and scenario-based testing.
Error-based testing techniques search a given class's method for particular clues of
interests, then describe how these clues should be tested. E.g: Boundary condition
testing.
Scenario-based testing also called usage-based testing, concentrates on capturing use
- cases. Then it traces user's task, performing them with their variants as tests. It can
identify interaction bugs. These are more complex tests tend to exercise multiple
subsystems in a single test covering higher visibility system interaction bugs.
S/w testing is one element of a broader topic that is often referred to as verification and
validation (V&V). Verification refers to set of activities that ensure that software
correctly implements a specific function. Validation refers to different set of activities
that ensure that s/w that has been built is traceable to customer requirements
Top-down testing: It assumes that main logic or object interactions and system
messages of application need more testing than an individual object's method or
supporting logic. This strategy can detect serious flaws early in implementation.
Bottom-Up testing: It starts with details of system and proceeds to higher levels by a
progressive aggregation of details until they collectively fit requirements for system i.e.,
start with methods and classes then to level up. It makes sense as it checks behaviour of
piece of code before it is used