Ooad U1 Key
Ooad U1 Key
UNIT I
ANSWER KEY
PART-A
1. Define OOAD.
Object-oriented analysis, emphasis on finding and describing the objects—or concepts—in the
problem domain.
Object-oriented design, emphasis on defining software objects and how they collaborate to
fulfill the requirements.
Faster Development: OOD has long been touted as leading to faster development.
Many of the claims of potentially reduced development time are correct in principle,
if a bit overstated.
Reuse of Previous work: This is the benefit cited most commonly in literature,
particularly in business periodicals. OOD produces software modules that can be
plugged into one another, which allows creation of new programs. However, such
reuse does not come easily. It takes planning and investment.
Increased Quality: Increases in quality are largely a by-product of this program reuse.
If 90% of a new application consists of proven, existing components, then only the
remaining 10% of the code has to be tested from scratch. That observation implies an
order-of-magnitude reduction in defects.
Modular Architecture: Object-oriented systems have a natural structure for modular
design: objects, subsystems, framework, and so on. Thus, OOD systems are easier to
modify. OOD systems can be altered in fundamental ways without ever breaking up
since changes are neatly encapsulated. However, nothing in OOD guarantees or
requires that the code produced will be modular. The same level of care in design and
implementation is required to produce a modular structure in OOD, as it is for any
form of software development.
Client/Server Applications: By their very nature, client/server applications involve
transmission of messages back and forth over a network, and the object-message
paradigm of OOD meshes well with the physical and conceptual architecture of
client/server applications.
Better Mapping to the Problem Domain: This is a clear winner for OOD, particularly
when the project maps to the real world. Whether objects represent customers,
machinery, banks, sensors or pieces of paper, they can provide a clean, self-contained
implication which fits naturally into human thought processes.
5. Point out what test can help to find useful use cases?
Use cases are defined to satisfy the goals of the primary actors. Hence, the basic
procedure is:
1. Choose the system boundary. Is it just a software application, the hardware and
application
as a unit, that plus a person using it, or an entire organization?
2. Identify the primary actorsthose that have goals fulfilled through using services of the
system.
3. Identify the goals for each primary actor.
4. Define use cases that satisfy user goals; name them according to their goal. Usually,
user- goal level use cases will be one-to-one with user goals, but there is at least one
exception, as will be examined.
6. Give the different formats of use cases.
Use cases can be written in different formats and levels of formality:
Brief Terse one-paragraph summary, usually of the main success scenario. The prior
Process Sale example was brief.
When? During early requirements analysis, to get a quick sense of subject and scope.
May take only a few minutes to create.
Casual Informal paragraph format. Multiple paragraphs that cover various scenarios. The
prior Handle Returns example was casual.
When? As above.
Fully Dressed All steps and variations are written in detail, and there are supporting
sections, such as preconditions and success guarantees.
The base use case is incomplete without the included use case.
The included use case is mandatory and not optional.
Lest expand our banking system use case diagram to show include
relationships as well.
Includes is usually used to model common behavior
13. Describe POS system and list the components of POS system.
POS system allows your business to accept payments from customers and keep track of
sales. It sounds simple enough, but the setup can work in different ways, depending on
whether you sell online, have a physical storefront, or both. A point-of-sale system used
to refer to the cash register at a store.
Components of POS system
POS computer. ...
POS keyboard & mouse. ...
Barcode scanner. ...
EMV-compliant external credit card reader. ...
Cash drawer. ...
Receipt printer. ...
One-box POS system.
14. Give the primary goals in the design of UML
The goal of UML is to provide a standard notation that can be used by all object-oriented
methods and to select and integrate the best elements of precursor notations. UML has
been designed for a broad range of applications.
15. Illustrate the relationship used in Use case.
The Relationship Types of Use Cases
Relationship Type Description
16. What are the three ways and perspectives to Apply UML?
UML may be used for three perspectives and types of models
1. Conceptual perspective the diagrams are interpreted as describing things in a situation
of the real world or domain of interest.
2. Specification (software) perspective the diagrams (using the same notation as in the
conceptual perspective) describe software abstractions or components with
specifications and interfaces, but no commitment to a particular implementation (for
example, not specifically a class in C# or Java).
3. Implementation (software) perspective the diagrams describe software implementations
in a particular technology (such as Java).
Use cases are text stories of some actor using a system to meet goals.
Process Sale: A customer arrives at a checkout with items to purchase. The cashier uses
the POS system to record each purchased item. The system presents a running total and
line-item details. The customer enters payment information, which the system validates and
records. The system updates inventory. The customer receives a receipt from the system
and then leaves with the items.
Use cases are text documents, not diagrams, and use-case modeling is primarily an act of
writing text, not drawing diagrams.
Use cases are text stories of some actor using a system to meet goals.
Process Sale: A customer arrives at a checkout with items to purchase. The cashier uses
the POS system to record each purchased item. The system presents a running total and
line-item details. The customer enters payment information, which the system validates and
records. The system updates inventory. The customer receives a receipt from the system
and then leaves with the items.
Inception is a short initial step in which the following kinds of questions are explored:
What is the vision and business case for this project?
Feasible?
Buy and/or build?
Rough unreliable range of cost: Is it $10K100K or in the millions?
Should we proceed or stop
Inception in one sentence:
Envision the product scope, vision, and business case.
The main problem solved in one sentence:
Do the stakeholders have basic agreement on the vision of the project, and is it worth
investing in serious investigation?
20. Evaluate and Name the UML diagrams used for the following:
a) Modeling Requirements
A requirement can be shown directly on block definition diagrams, package diagrams,
and use case diagrams, along with its relationships to other model elements on the
diagram.
Structure Diagrams. Class Diagram. Component Diagram. Deployment Diagram.
Object Diagram. Package Diagram. Profile Diagram. Composite Structure Diagram.
b) Modeling Workflows
The principle diagram for workflow modeling is the Activity Diagram. While the basic
notation looks similar to the traditional flow chart, it does contain many significant
differences, as well as numerous enhancements that make the Activity Diagram
preferable in practice.
other diagrams given below can also be used for modeling workflows.
Behavioral Diagrams. Use Case Diagram. Activity Diagram. State Machine Diagram.
Sequence Diagram. Communication Diagram. Interaction Overview Diagram.
23. Evaluate and Name the UML diagrams used for the following:
a) Modeling behavior of an object.
Behavioral Diagrams. Use Case Diagram. Activity Diagram. State Machine
Diagram. Sequence Diagram. Communication Diagram. Interaction Overview Diagram.
<<<<Draw diagram given in class notes>>>>>>>>
2 Briefly explain about the different phases of Unified Process with a neat
diagram.(13)
A UP project organizes the work and iterations across four major phases:
1. Inception: approximate vision, business case, scope, vague estimates.
2. Elaboration: refined vision, iterative implementation of the core architecture,
resolution of high risks, identification of most requirements and scope, more realistic
estimates.
3. Construction: iterative implementation of the remaining lower risk and easier
elements, and preparation for deployment.
4. Transition: beta tests, deployment
3 Explain with an example, how UseCase Modeling is used to describe the
functional requirements. Identify the actors, scenario and UseCase for the
example.(13)
Use cases describe the functional requirements of a system from the end user's
perspective, creating a goal-focused sequence of events that is easy for users and
developers to follow. A complete use case will include one main or basic flow and
various alternate flows. The alternate flow -- also known as an extending use case --
describes normal variations to the basic flow as well as unusual situations.
Be multilevel, so that one use case can use the functionality of another one.
4 (i) Discuss the basic activities in OOA and explain how UseCase Modeling is
useful in analysis.(8)
(ii) Examinethe guidelines for writing and finding Use Cases.(5)
<<<<<<<<<<Refer Answer for Q.No. 10 (i) >>>>>>>>>>>>>>>
5 Write a problem statement for Library Management System. Perform the
Object Oriented System Development and give the Use Case model for the same(use
include,extend and generalization) and design the UML Use Case diagram for the
same.(13)
There are four basic types of behavioral relationships: communicates, includes, extends, and
generalizes. Notice that all these terms are action verbs. Table below illustrates the arrows and lines
used to diagram each of the four types of behavioral relationships.
INCLUDES. The includes relationship (also called uses relationship) describes the situation in
which a use case contains behavior that is common to more than one use case. An example would
be a use case Pay Student Fees that is included in Enroll in Course and Arrange Housing, because
in both cases students must pay their fees.
EXTENDS. The extends relationship describes the situation in which one use case possesses the
behavior that allows the new use case to handle a variation or exception from the basic use case.
For example, the extended use case Student Health Insurance extends the basic use case Pay
Student Fees. The arrow goes from the extended to the basic use case.
GENERALIZES. The generalizes relationship implies that one thing is more typical than the other
thing. This relationship may exist between two actors or two use cases. For example, a Part-Time
Student generalizes a Student..
7 List the various UML diagram and explain about the UML diagrams in detail with
neat diagrams.(13)
8 Describe the following
(i) UP disciplines(5)
The UP describes work activities, such as writing a use case, within disciplines (originally
called workflows).Informally, a discipline is a set of activities (and related artifacts) in one subject
area, such as the activities within requirements analysis. In the UP, an artifact is the general term
for any work product: code, Web graphics, database schema, text documents, diagrams, models,
and so on.
Object-Oriented Analysis (OOA) is the first technical activity performed as part of object-
oriented software engineering. OOA introduces new concepts to investigate a problem. It
is based on a set of basic principles, which are as follows-
1. The information domain is modeled.
2. Behavior is represented.
3. The function is described.
4. Data, functional, and behavioral models are divided to uncover greater detail.
5. Early models represent the essence of the problem, while later ones provide
implementation details.
The above notes principles form the foundation for the OOA approach.
Object-Oriented Design (OOD): An analysis model created using object-oriented analysis
is transformed by object-oriented design into a design model that works as a plan for
software creation. OOD results in a design having several different levels of modularity
i.e., The major system components are partitioned into subsystems (a system-level
“modular”), and data manipulation operations are encapsulated into objects (a modular
form that is the building block of an OO system.). In addition, OOD must specify some
data organization of attributes and a procedural description of each operation. Shows a
design pyramid for object-oriented systems. It is having the following four layers.
An abstract use case is never instantiated in itself. Abstract use cases are included, extend or
generalize other use cases. When a concrete use case is initiated, an instance of the use case is
created. This instance also exhibits the behavior specified by its associated abstract use cases.
Thus, no separate instances are created from abstract use cases.
The distinction between the two is important, because it is concrete use cases the actors will "see"
and initiate in the system.
You indicate that a use case is abstract by writing its name in italics.
In the example below, the abstract use case Create Task is included in the use case Register Order.
When Register Order is initiated, an instance of Register Order is created that, apart from
following Register Order's flow of events, also follows the flow of events described in the included
use case, Create Task. Create Task is never performed by itself, always as a part of Register Order
(or any other use cases in which it is included). Create Task is therefore an abstract use case.
A base use case may have multiple inclusions. One inclusion use case may be included in several
base use cases. This does not indicate any relationship between the base use cases. You may even
have multiple include-relationships between the same inclusion use case and base use case,
provided the inclusion is inserted at different locations of the base use case. The include-
relationship defines what the location is. All additions may be nested, which means that an
inclusion use case may serve as the base use case for another inclusion.
Since the inclusion use case is abstract, it does not need to have an actor associated with it. A
communication-association to an actor is only needed if the behavior in the inclusion explicitly
involves interaction with an actor.
These include a thin-client Web browser terminal, a regular personal computer with
something like a Java Swing graphical user interface, touch screen input, wireless PDAs, and
so forth.
Furthermore, we are creating a commercial POS system that we will sell to different clients
with disparate needs in terms of business rule processing. Each client will desire a unique set
of logic to execute at certain predictable points in scenarios of using the system, such as when
a new sale is initiated or when a new line item is added. Therefore, we will need a mechanism
to provide this flexibility and customization.
Using an iterative development strategy, we are going to proceed through requirements,
objectoriented analysis, design, and implementation.
Inception
Inception is the initial short step to establish a common vision and basic scope for the project.
It will include analysis of perhaps 10% of the use cases, analysis of the critical non-functional
requirement, creation of a business case, and preparation of the development environment so
that programming can start in the following elaboration phase.
Most projects require a short initial step in which the following kinds of questions are
explored:
What is the vision and business case for this project?
Feasible?
Buy and/or build?
Rough unreliable range of cost: Is it $10K100K or in the millions?
Should we proceed or stop?
Defining the vision and obtaining an order-of-magnitude (unreliable) estimate requires doing
some requirements exploration. However, the purpose of the inception phase is not to
define all the requirements, or generate a believable estimate or project plan.
Definition
This is a critical point, and repeatedly misunderstood on UP projects when people
superimpose old "waterfall" thinking. The UP is not the waterfall, and the first phase,
inception, is not the time do all requirements or create believable estimates or plans.
That happens during elaboration.
At the risk of over-simplification, the idea is to do just enough investigation to form a rational,
justifiable opinion of the overall purpose and feasibility of the potential new system, and
decide if it is worthwhile to invest in deeper exploration (the purpose of the elaboration
phase).
Most requirements analysis occurs during the elaboration phase, in parallel with early
production-quality programming and testing.
Thus, the inception phase should be relatively short for most projects, such as one or a few
weeks long. Indeed, on many projects, if it is more than a week long, then the point of
inception has been missed: It is to decide if the project is worth a serious investigation (during
elaboration), not to do that investigation.
Inception in one sentence:
Envision the product scope, vision, and business case.
The main problem solved in one sentence:
Do the stakeholders have basic agreement on the vision of the project, and is it worth
investing in serious investigation?
10 (i) Illustrate the steps and explain how to find Use cases with an example.(8)
Use cases are defined to satisfy the goals of the primary actors. Hence, the basic procedure
is:
1. Choose the system boundary. Is it just a software application, the hardware and application
as a unit, that plus a person using it, or an entire organization?
2. Identify the primary actorsthose that have goals fulfilled through using services of the
system.
3. Identify the goals for each primary actor.
4. Define use cases that satisfy user goals; name them according to their goal. Usually,
usergoal level use cases will be one-to-one with user goals, but there is at least one exception,
as will be examined.
Of course, in iterative and evolutionary development, not all goals or use cases will be
fully or
correctly identified near the start. It's an evolving discovery.
Step 1: Choose the System Boundary
For this case study, the POS system itself is the system under design; everything outside of
it is outside the system boundary, including the cashier, payment authorization service, and
so on.
If the definition of the boundary of the system under design is not clear, it can be clarified by
further definition of what is outsidethe external primary and supporting actors.
Once the external actors are identified, the boundary becomes clearer. For example, is the
complete responsibility for payment authorization within the system boundary? No, there is
an external payment authorization service actor.
Steps 2 and 3: Find Primary Actors and Goals
It is artificial to strictly linearize the identification of primary actors before user goals; in a
requirements workshop, people brainstorm and generate a mixture of both. Sometimes,
goals reveal the actors, or vice versa.
Guideline: Brainstorm the primary actors first, as this sets up the framework for further
investigation.
Are There Questions to Help Find Actors and Goals?
In addition to obvious primary actors and goals, the following questions help identify others
that may be missed:
Who starts and stops the system? Who does system administration?
Who does user and security management? Is "time" an actor because the system does
something in response to a time event?
Is there a monitoring process that restarts the system if it fails?
Who evaluates system activity or performance?
How are software updates handled? Push or pull update?
Who evaluates logs? Are they remotely retrieved?
In addition to human primary actors, are there any external software or robotic
systems that call upon services of the system?
Who gets notified when there are errors or failures?
(ii) Rank the 3 kinds of actors and explain the 3 commonUse Case formats.(5)
Three Kinds of Actors
1. Primary Actor (to find user goals)- This kind of Actor satisfies the user goals through
SUD (System Under Discussion) services. Eg.Librarian
2. Supporting Actor (to provide clear picture of external interfaces and protocols)- These
actors provide a service information to SUD. Eg. Library assistant or computer system
providing library details (Book or Transaction Details)
3. Offstage Actor (to ensure all the goals are identified and satisfied).
11 (i) Recall the various sections in the Use Case template with example. (8)
Scope The scope bounds the system (or systems) under design. Typically, a use case
describes use of one software (or hardware plus software) system; in this case it is known as
a system use case. At a broader scope, use cases can also describe how a business is used by
its customers and partners. Such an enterprise-level process description is called a business
use case and is a good example of the wide applicability of use cases, but they aren't covered
in this introductory book.
Level In Cockburn's system, use cases are classified as at the user-goal level or the
subfunction level, among others. A user-goal level use case is the common kind that describe
the scenarios to fulfill the goals of a primary actor to get work done; it roughly corresponds
to an elementary business process (EBP) in business process engineering. A subfunction-
level use case describes substeps required to support a user goal, and is usually created to
factor out duplicate substeps shared by several regular use cases (to avoid duplicating
common text); an example is the subfunction use case Pay by Credit, which could be shared
by many regular use cases.
Primary Actor
The principal actor that calls upon system services to fulfill a goal.
Stakeholders and Interests ListImportant!
This list is more important and practical than may appear at first glance. It suggests and
bounds
what the system must do. To quote:
The [system] operates a contract between stakeholders, with the use cases detailing the
behavioral parts of that contract…The use case, as the contract for behavior, captures all and
only the behaviors related to satisfying the stakeholders' interests [Cockburn01].
This answers the question: What should be in the use case? The answer is: That which
satisfies all the stakeholders' interests. In addition, by starting with the stakeholders and their
interests before writing the remainder of the use case, we have a method to remind us what
the more detailed responsibilities of the system should be. For example, would I have
identified a responsibility for salesperson commission handling if I had not first listed the
salesperson
stakeholder and their interests? Hopefully eventually, but perhaps I would have missed it
during the first analysis session. The stakeholder interest viewpoint provides a thorough and
methodical procedure for discovering and recording all the required behaviors.
Stakeholders and Interests:
- Cashier: Wants accurate, fast entry and no payment errors, as cash drawer shortages are
deducted from his/her salary.
- Salesperson: Wants sales commissions updated.
-…
Preconditions and Success Guarantees (Postconditions)
First, don't bother with a precondition or success guarantee unless you are stating something
non-obvious and noteworthy, to help the reader gain insight. Don't add useless noise to
requirements documents.
Preconditions state what must always be true before a scenario is begun in the use case.
Preconditions are not tested within the use case; rather, they are conditions that are assumed
to be true. Typically, a precondition implies a scenario of another use case, such as logging
in, that has successfully completed. Note that there are conditions that must be true, but are
not worth writing, such as "the system has power." Preconditions communicate noteworthy
assumptions that the writer thinks readers should be alerted to.
Success guarantees (or postconditions) state what must be true on successful completion of
the use caseeither the main success scenario or some alternate path. The guarantee should
meet the needs of all stakeholders.
Preconditions: Cashier is identified and authenticated.
Success Guarantee (Postconditions): Sale is saved. Tax is correctly calculated. Accounting
and Inventory are updated. Commissions recorded. Receipt is generated.
Main Success Scenario and Steps (or Basic Flow)
This has also been called the "happy path" scenario, or the more prosaic "Basic Flow" or
"Typical Flow." It describes a typical success path that satisfies the interests of the
stakeholders. Note that it often does not include any conditions or branching. Although not
wrong or illegal, it is arguably more comprehensible and extendible to be very consistent and
defer all conditional handling to the Extensions section.
Guideline
Defer all conditional and branching statements to the Extensions section.
The scenario records the steps, of which there are three kinds:
1. An interaction between actors.
Note that the system under discussion itself should be considered an actor when it plays an
actor role collaborating with other systems.
2. A validation (usually by the system).
3. A state change by the system (for example, recording or modifying something).
Step one of a use case does not always fall into this classification, but indicates the trigger
event
that starts the scenario.
It is a common idiom to always capitalize the actors' names for ease of identification.
Observe
also the idiom that is used to indicate repetition.
Main Success Scenario:
1. Customer arrives at a POS checkout with items to purchase.
2. Cashier starts a new sale.
3. Cashier enters item identifier.
4. …
Cashier repeats steps 3-4 until indicates done.
5.
…
Extensions (or Alternate Flows)
Extensions are important and normally comprise the majority of the text. They indicate all
the other scenarios or branches, both success and failure. Observe in the fully dressed
example that the Extensions section was considerably longer and more complex than the
Main Success Scenario section; this is common.
In thorough use case writing, the combination of the happy path and extension scenarios
should satisfy "nearly" all the interests of the stakeholders. This point is qualified, because
some interests may best be captured as non-functional requirements expressed in the
Supplementary
Specification rather than the use cases. For example, the customer's interest for a visible
display of descriptions and prices is a usability requirement.
Extension scenarios are branches from the main success scenario, and so can be notated with
respect to its steps 1…N. For example, at Step 3 of the main success scenario there may be
an invalid item identifier, either because it was incorrectly entered or unknown to the system.
An extension is labeled "3a"; it first identifies the condition and then the response. Alternate
extensions at Step 3 are labeled "3b" and so forth.
Extensions:
3a. Invalid identifier:
1. System signals error and rejects entry.
3b. There are multiple of same item category and tracking unique item identity not important
(e.g., 5 packages of veggie-burgers):
1. Cashier can enter item category identifier and the quantity. 1.
An extension has two parts: the condition and the handling.
Guideline: When possible, write the condition as something that can be detected by the
system or an actor. To contrast:
5a. System detects failure to communicate with external tax calculation system service:
5a. External tax calculation system not working:
The former style is preferred because this is something the system can detect; the latter is an
inference.
Extension handling can be summarized in one step, or include a sequence, as in this example,
which also illustrates notation to indicate that a condition can arise within a range of steps:
3-6a: Customer asks Cashier to remove an item from the purchase:
1. Cashier enters the item identifier for removal from the sale.
System displays updated running total.
At the end of extension handling, by default the scenario merges back with the main success
scenario, unless the extension indicates otherwise (such as by halting the system).
Sometimes, a particular extension point is quite complex, as in the "paying by credit"
extension.
This can be a motivation to express the extension as a separate use case.
This extension example also demonstrates the notation to express failures within extensions.
7b. Paying by credit:
1. Customer enters their credit account information.
System sends payment authorization request to an external Payment Authorization
Service System, and requests payment approval.
2a. System detects failure to collaborate with external system:
1. System signals error to Cashier.
Cashier asks Customer for alternate payment.
If it is desirable to describe an extension condition as possible during any (or at least most)
steps, the labels *a, *b, …, can be used.
*a. At any time, System crashes:
In order to support recovery and correct accounting, ensure all transaction sensitive state and
events can be recovered at any step in the scenario.
1. Cashier restarts the System, logs in, and requests recovery of prior state.
System reconstructs prior state
(ii) List the guidelines to be followed when writing Use Case. (5)
Guideline: Write Terse Use Cases
Do you like to read lots of requirements? I didn't think so. So, write terse use cases. Delete
"noise" words. Even small changes add up, such as "System authenticates…" rather than
"The System authenticates…"
12 Explain the benefits and concepts of Use Case and Use Case model and evaluate
the ATM system by relating Use Cases.(13)
A use case is a concept used in software development, product design, and other fields to
describe how a system can be used to achieve specific goals or tasks. It outlines the
interactions between users or actors and the system to achieve a specific outcome.
The system shall log credit payments to the accounts receivable system.
The lack of context makes room for ambiguity. When does this event happen? Is the order
relative to other events significant? Who triggers the event? What happens when the accounts
receivable system is unavailable?
In addition, a traditional SRS tends to devolve into a numbered list of detail that drones on
page after page - very difficult for the system's stakeholders to absorb. Use cases break
requirements down into shorter scenarios that readers can more easily understand.
Each use case describes one way the system is used, but one of the big benefits of use case
modeling is that it also describes all of the things that might go wrong. Identifying exceptions
to a successful scenario early in the project saves a lot of time by finding subtle requirements.
Finally, once a use case model has been developed, it can be used to drive many other aspects
of software development, including project planning (cost, complexity and timing estimates),
object models, test case definitions, and user documentation.
Use Case Diagram for Bank ATM System
Automated Teller Machine (ATM) also known as ABM (Automated Banking Machine) is a banking
system. This banking system allows customers or users to have access to financial transactions.
These transactions can be done in public space without any need for a clerk, cashier, or bank teller.
Working and description of the ATM can be explained with the help of the Use Case Diagram.
We will understand about designing the use case diagram for the ATM system. Some scenarios of
the system are as follows.
Step-1:
The user is authenticated when enters the plastic ATM card in a Bank ATM. Then enters the user
name and PIN (Personal Identification Number). For every ATM transaction, a Customer
Authentication use case is required and essential. So, it is shown as include relationship.
Example of use case diagram for Customer Authentication is shown below:
Step-2:
User checks the bank balance as well as also demands the mini statement about the bank balance if
they want. Then the user withdraws the money as per their need. If they want to deposit some
money, they can do it. After complete action, the user closes the session.
Example of the use case diagram for Bank ATM system is shown below:
Step-3:
If there is any error or repair needed in Bank ATM, it is done by an ATM technician. ATM technician
is responsible for the maintenance of the Bank ATM, upgrades for hardware, firmware or software,
and on-site diagnosis.
Example of use case diagram for working of ATM technician is shown below:
The use case diagram are usually referred to as behavior diagram used to
describe the actions of all user in a system. All user describe in use case are
actors and the functionality as action of system. The Use case diagram is a
collection of diagram and text together that make action on goal of a process.
In this Employee Payroll Management system website project there are two
actors can do all the activities to run the system. Admin, and Employee.
The main purpose of both the diagrams are similar as they are
used to capture the dynamic behavior of a system. However, the
specific purpose is more important to clarify and understand.
The key elements in a use case model are actors (external entities), and the use cases themselves. In
outline, a use case is a unit of functionality (a requirement), or a service, in the system. A use case is not
a process, or program, or function.
Because use case models are simple both in concept and appearance, it is relatively easy to discuss the
correctness of a use case model with a non-technical person (such as a customer).
Use case modeling effectively became a practicable analysis technique with the publication of Ivar
Jacobson's (1991) book “Object-oriented software engineering: a use case driven approach”. Jacobson
has continued to promote this approach to system analysis to the present day, and it has now been
formalised as part of the UML. However, use case modeling is not very different in its purpose and
strategy from earlier techniques, such as structured viewpoint analysis.
PART C
1 (i) What is the Unified process? Is the UP iterative and incremental?Explain. (7)
(ii)Design the use case diagram for the following specification:
A coffee Vending machine dispenses coffee to customer’s .Customers orders coffee
by selecting a recipe from a set of recipe. Customer pay for the coffee using coin.
Change is given back. The “Service staff “ loads ingredients (coffee powder, milk,
sugar,water and chocolate)into the coffee machine. The service staff can also add a
recipe by indicating the name of the coffee,the units of coffee powder milk,
sugar,water and chocolate to be added as well as the cost of the coffee. (8)
2 .A Library lends books and magazines to member, who is registered in the system.
It also maintains the purchase of new books and magazines for the Library. A member
can reserve a book or magazine that is not currently available in the library, so that
when it is returned or purchased by the library, that person is notified. The library
can easily create, replace and delete information about the books, members, and
reservation in the system. The books transactions are stored in the database. The fine
list while the member returns the book after the due date must be generated. Design
the use case diagram and discover the users and actors of this system, and the
interactions between them must be depicted.(15)
Use case diagrams referred as a Behavior model or diagram. It simply describes and displays the
relation or interaction between the users or customers and providers of application service or the
system. It describes different actions that a system performs in collaboration to achieve something
with one or more users of the system. Use case diagram is used a lot nowadays to manage the
system.
Here, we will understand the designing use case diagram for the library management system. Some
scenarios of the system are as follows :
User who registers himself as a new user initially is regarded as staff or student for the
library system.
For the user to get registered as a new user, registration forms are available that is
needed to be fulfilled by the user.
After registration, a library card is issued to the user by the librarian. On the library card,
an ID is assigned to cardholder or user.
After getting the library card, a new book is requested by the user as per there
requirement.
After, requesting, the desired book or the requested book is reserved by the user that
means no other user can request for that book.
Now, the user can renew a book that means the user can get a new due date for the
desired book if the user has renewed them.
If the user somehow forgets to return the book before the due date, then the user pays
fine. Or if the user forgets to renew the book till the due date, then the book will be
overdue and the user pays fine.
User can fill the feedback form available if they want to.
Librarian has a key role in this system. Librarian adds the records in the library database
about each student or user every time issuing the book or returning the book, or paying
fine.
Librarian also deletes the record of a particular student if the student leaves the college
or passed out from the college. If the book no longer exists in the library, then the record
of the particular book is also deleted.
Updating database is the important role of Librarian.
3 Design and illustrate the use case model for activities involved in ordering food in
a restaurant from the point when the customer enters a restaurant to the point when
he leaves the restaurant. (15)
UML
Deployment Diagram
Diagram:
Tools Used: Diagraming Tools that have UML Deployment Diagram Symbols
Designer: ITSourceCode
Here are the steps in creating the deployment diagram for the
banking system. In creating this deployment diagram, we
used lucidchart.com