Ooad Manual
Ooad Manual
1
UML DIAGRAMS:
1) Class diagram
Class diagram represents the static view of an application.
It is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software application. It
describes the attributes and operations of a class and also the constraints imposed on the
system. They are widely used in the modelling of object-oriented systems because they are
the only UML diagrams, which can be mapped directly with object-oriented languages.
2
3) Sequence diagram
A sequence diagram is interaction diagram that shows how objects operate with one
another and in what order. It shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. They are sometimes
called event diagrams or event scenario.
4) Activity diagram
Activity diagram are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. Activity diagrams are intended to
model both computational and organizational processes. They show the overall flow of
control. Activity diagrams are constructed from a limited number of shapes, connected with
arrows.
3
5) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general-purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should all
be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
4
6) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
7) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
5
8) Use case diagram
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. The term "system" refers to something being developed or operated.
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
RESULT:
Thus, the development of problem statement for the Passport Automation System was
developed and the UML diagrams were drwan successfully.
6
EX. NO: DOCUMENTING THE SOFTWARE REQUIREMENTS
SPECIFICATION (SRS) FOR THE IDENTIFIED SYSTEM.
DATE:
DOMAIN: BOOK BANK
AIM:
To develop the problem statement and prepare SRS and draw UML diagrams for book
bank.
PROBLEM STATEMENT:
The Book Bank lends books and magazines to the members, who are registered in the
system. It acts as an interface between the students and Librarian. It aims at improving the
efficiency in the issue of books or magazines and reduce the complexities involved in it to the
maximum possible extent. The users and the librarian can login to the system and check their
profiles. It can keep track of the number of books held by the users, issue date, renewal date
and also other related details.
If the user exceeds the stipulated time to return the book, fine needs to be paid. Also,
the number of books a user can take is determined. So, only limited number of books can be
issued to one user. The users can enter their registered user name and password to check their
status and the details such as renewal date.
When the user takes a book or magazine from the book bank, the librarian will update
the database and a new entry will be created automatically under the user’s id and while
returning the book, the librarian will update the database and the old entry will be removed.
The users can request new books or magazine to be kept in the book bank and the librarian
will place the necessary order to a book vendor. The new books will be delivered by a new
vendor and their details will be inserted into the database.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
UML DIAGRAMS:
1) Class diagram
Class diagram represents the static view of an application.
It is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software application. It
describes the attributes and operations of a class and also the constraints imposed on the
system. They are widely used in the modelling of object-oriented systems because they are
the only UML diagrams, which can be mapped directly with object-oriented languages.
7
2) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
8
external influences. These requirements are mostly design requirements. Hence, when a
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
4) Activity diagram
Activity diagram are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. Activity diagrams are intended to
model both computational and organizational processes. They show the overall flow of
control. Activity diagrams are constructed from a limited number of shapes, connected with
arrows.
9
5) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence
is indicated by some numbering technique. The number indicates how the methods are
called one after another. Method calls are similar to that of a sequence diagram. If the time
sequence is important, then the sequence diagram is used. If organization is required, then
collaboration diagram is used.
10
6) State chart diagram
A state diagram resembles a flowchart in which the initial state is represented by a
large black dot and subsequent states are portrayed as boxes with rounded corners. There may
be one or two horizontal lines through a box, dividing it into stacked sections. In that case,
the upper section contains the name of the state, the middle section (if any) contains the
state variables and the lower section contains the actions performed in that state. If there are
no horizontal lines through a box, only the name of the state is written inside it. External
straight lines, each with an arrow at one end, connect various pairs of boxes. These lines
define the transitions between states. The final state is portrayed as a large black dot with a
circle around it.
11
7) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
8) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general-purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should all
be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
12
SOFTWARE REQUIREMENTS SPECIFICATION:
1.0 INTRODUCTION
Book Bank is the interface between the students and Librarian. It aims at improving the
efficiency in the Issue of books or magazines and reduce the complexities involved in it to the
maximum possible extent.
1.1 PURPOSE
If the entire process of 'Issue of Books or Magazines' is done in a manual manner then it would
take several months for the books or magazines to reach the applicant. Considering the fact that
the number of students for Book Bank is increasing every year, an Automated System becomes
essential to meet the demand. So this system uses several programming and database techniques
to elucidate the work involved in this process. The system has been carefully verified and
validated in order to satisfy it.
1.2 SCOPE
The System provides an online interface to the user where they can fill in their personal details
and submit the necessary documents (may be by scanning). The authority concerned with the
issue of books can use this system to reduce his workload and process the application in a speedy
manner.
1.4 REFERENCES
IEEE Software Requirement Specification format
1.7 OVERVIEW
SRS includes two sections overall description and specific requirements.
Overall description will describe major role of the system components and inter-connections.
Specific requirements will describe roles & functions of the actors.
RESULT:
Thus, the development of problem statement and SRS for the book bank was
developed and the UML diagrams were drawn successfully.
13
EX. NO: IDENTIFICATION OF USE CASES AND DEVELOP THE
USE CASE MODEL
DATE:
DOMAIN: EXAM REGISTRATION SYSTEM
AIM:
To develop the problem statement and identify use cases and develop the use case
model for exam registration system.
PROBLEM STATEMENT:
The exam registration system is built in such a way that it can be used by the students
and managed by its crew or the administrator. It acts as an interface between the student and
the controller of examinations. If the entire process of exam registration is done in a manual
manner, it will take many days to completely finish the process. So, this system helps in
improving the efficiency in exam registration. Also, it reduces the complexity involved in it
to the possible extent.
The user must login to the system at first and register for the certain exams. The
management can also easily access the user’s details who have registered for the exam. When
the number of students registered for the exam has to be known in manual processing, the
number of applications should be counted in order to know. But, exam registration system
makes it easier by keeping track of the number of students registered for the exam. The
payment of fees for the exam to be taken can be done via this system.
Another advantage is that the students don’t have to post their application forms and
most of the paperwork can be avoided. The user can logout of the system after the completing
the registration.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
UML DIAGRAMS:
1) Class diagram
Class diagram represents the static view of an application.
It is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software application. It
describes the attributes and operations of a class and also the constraints imposed on the
system. They are widely used in the modelling of object-oriented systems because they are
the only UML diagrams, which can be mapped directly with object-oriented languages.
14
2) State chart diagram
A state diagram resembles a flowchart in which the initial state is represented by a
large black dot and subsequent states are portrayed as boxes with rounded corners. There may
be one or two horizontal lines through a box, dividing it into stacked sections. If there are no
horizontal lines through a box, only the name of the state is written inside it. External straight
lines, each with an arrow at one end, connect various pair of boxes. These lines define the
transitions between states. The final state is portrayed as a large black dot with a circle
around it.
3) Sequence diagram
A sequence diagram is interaction diagram that shows how objects operate with one
another and in what order. It shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. They are sometimes
called event diagrams or event scenario.
15
4) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general-purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should all
be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
16
5) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
6) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
17
7) Use case diagram
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. The term "system" refers to something being developed or operated.
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
RESULT:
Thus, the development of problem statement and the UML diagrams for the exam
registration system was done successfully.
18
EX. NO: IDENTIFICATION OF THE CONCEPTUAL CLASSES AND
DEVELOP A DOMAIN MODEL AND ALSO DERIVE A CLASS
DATE: DIAGRAM
DOMAIN: STOCK MAINTENANCE SYSTEM
AIM:
To develop the problem statement and Identify the conceptual classes and develop a
Domain Model and also derive a Class diagrams for stock maintenance system.
PROBLEM STATEMENT:
The stock maintenance is the function of understanding the stock mix of a company
and the different demands on that stock. i.e., Stock maintenance is the monitoring and control
of goods and stock so that new stock can be ordered as much as required and the stock is
made available at all times at reasonable price. The efficiency in this task is brought by
understanding the mix of different kinds of stock.
As an element of supply chain management, stock management includes aspects such
as controlling and overseeing ordering inventory, storage of inventory, and controlling the
amount of product for sale. The demands are influenced by external and internal factors.
Stocking the right amount of inventory is crucial. If you order too little, your
customers will start looking elsewhere. If you order too much, there’s a chance you’ll be
stuck with lots of extra stock that you’ll be forced to sell at clearance prices, or risk having
them become obsolete. So, the stock maintenance system helps to do this easily.
Many methods have been adapted for the management of stock such as setting par
levels, FIFO (First In First Out) which means the oldest stock gets sold first not the newest
one, etc. These techniques help in avoiding spoilage or dead stock and saves money. Stock
management is important for every other business enterprise.
Organizations save a significant amount in costs associated with manual inventory
counts, administrative errors and reductions in inventory stock-outs while using SaaS
(Software as a Service) inventory management software. Often tracking stock just through
sales and returns is not enough for retailers and does not meet the demands of customers
multichannel expectations. Customers expect retailers to have real-time knowledge of stock
availability.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
19
UML DIAGRAMS:
1) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
2) Class diagram
Class diagram represents the static view of an application.
It is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software application. It
describes the attributes and operations of a class and also the constraints imposed on the
system. They are widely used in the modelling of object-oriented systems because they are
the only UML diagrams, which can be mapped directly with object-oriented languages.
20
3) Sequence diagram
A sequence diagram is interaction diagram that shows how objects operate with one
another and in what order. It shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. They are sometimes
called event diagrams or event scenario.
4) Activity diagram
Activity diagram are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. Activity diagrams are intended to
model both computational and organizational processes. They show the overall flow of
control. Activity diagrams are constructed from a limited number of shapes, connected with
arrows.
21
5) Use case diagram
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. The term "system" refers to something being developed or operated.
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
22
6) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time
sequence is important, then the sequence diagram is used. If organization is required, then
collaboration diagram is used.
23
7) State chart diagram
A state diagram resembles a flowchart in which the initial state is represented by a
large black dot and subsequent states are portrayed as boxes with rounded corners. There may
be one or two horizontal lines through a box, dividing it into stacked sections. In that case,
the upper section contains the name of the state, the middle section (if any) contains the
state variables and the lower section contains the actions performed in that state. If there are
no horizontal lines through a box, only the name of the state is written inside it. External
straight lines, each with an arrow at one end, connect various pairs of boxes. These lines
define the transitions between states. The final state is portrayed as a large black dot with a
circle around it.
8) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should all
be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
24
9) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
25
RESULT:
Thus, the development of problem statement and the UML diagrams for the stock
maintenance system were drawn successfully.
26
EX. NO: USING THE IDENTIFIED SCENARIOS, FIND THE
INTERACTION BETWEEN OBJECTS AND REPRESENT
DATE: THEM USING UML SEQUENCE AND COLLABORATION
DIAGRAMS
DOMAIN: ONLINE COURSE RESERVATION SYSTEM
AIM:
To develop the problem statement and Using the identified scenarios, find the
interaction between objects and represent them using UML Sequence and Collaboration
Diagrams for online course reservation system.
PROBLEM STATEMENT:
The online course reservation system is built in such a way that it can be used by the
students and managed by its crew or the administrator. It acts as an interface between the
student and the registrar who is responsible for the issue of course. If the entire process is
done in a manual manner it would take many days to completely finish the process. So, this
system helps in improving the efficiency in course reservation and in the processing of
applications in a speedy manner. Also, it reduces the complexity involved in it to the possible
extent. It uses several programming and database technique to elucidate the work.
The user must login to the system at first to search for the available courses and can
reserve the required course based on the availability. The management can also easily access
the user’s details who reserve for the course. The initial payment for the course to be reserved
can be done via this system in order to avoid running out of seats.
Another advantage is that the students don’t have to wait too long in the campus for
enrolling themselves and most of the paperwork can be avoided. The copies of the original
certificates are no more needed to be sent to the university or any institution for verification.
Instead the original certificates can be scanned and sent or attached. The workload of the
management will also be reduced.
The available courses can be filtered according to their needs and compared to choose
the best course based on the needs of the applicant. While choosing a course, the system will
automatically detect whether the user is eligible or not with his/her entered personal details
and educational qualifications. After successful reservation the course status and the
acknowledgement will be received. The user can logout of the system after the completion of
the process.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
27
UML DIAGRAMS:
1) Use case diagram
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. The term "system" refers to something being developed or operated.
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
2) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
28
3) State chart diagram
A state diagram resembles a flowchart in which the initial state is represented by a
large black dot and subsequent states are portrayed as boxes with rounded corners. There may
be one or two horizontal lines through a box, dividing it into stacked sections. In that case,
the upper section contains the name of the state, the middle section (if any) contains the
state variables and the lower section contains the actions performed in that state. If there are
no horizontal lines through a box, only the name of the state is written inside it.
4) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
29
5) Activity diagram
Activity diagram are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. In the UML, activity diagrams are
intended to model both computational and organizational processes (i.e. workflows). Activity
diagrams show the overall flow of control. Activity diagrams are constructed from a limited
number of shapes, connected with arrows.
6) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general-purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should
all be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
30
7) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time
sequence is important, then the sequence diagram is used. If organization is required, then
collaboration diagram is used.
8) Sequence diagram
A sequence diagram is interaction diagram that shows how objects operate with one
another and in what order. It shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. They are sometimes
called event diagrams or event scenario.
31
9) Class diagram
Class diagram represents the static view of an application.
It is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software application. It
describes the attributes and operations of a class and also the constraints imposed on the
system. They are widely used in the modelling of object-oriented systems because they are
the only UML diagrams, which can be mapped directly with object-oriented languages.
RESULT:
Thus, the development of problem statement and the UML diagrams for the online
course reservation system was done successfully.
32
EX. NO: DRAW RELEVANT STATE CHART AND ACTIVITY
DIAGRAMS
DATE: DOMAIN: AIRLINE/RAILWAY RESERVATION
SYSTEM
AIM:
To develop the problem statement and Draw relevant State Chart and Activity
Diagrams for E-ticketing software.
PROBLEM STATEMENT:
The E-Ticket is the digital equivalent of the paper ticket. This system is a more
efficient method of ticket entry, processing and marketing. It provides user friendly interface
to both the administrator and the user. It is more helpful as the user does not have to wait too
long to reserve tickets in the counters and it can easily replace the large time-consuming
process which also requires a lot of man power and supervision at regular intervals. The
important advantage that this system avails is that it is environment friendly. This system
makes the public transport more attractive and the use of the public transport will also be
increased which is a good reason to encourage this system.
The user must log in to the system and can log out of the system after successful
booking of the tickets. The user can also check the PNR status which gives information about
the Passenger Name Record. The forms can be filled for various purposes such as reservation
and cancellation of tickets. The payment can be done via net banking. The tickets are self-
printable which are available in the form of PDF file or can also be held in a smart phone in
an application. It also eliminates the possibility of the physical tickets getting lost.
A database is maintained to store the passenger details, ticket details and the
availability of trains along with the schedule (such as train number, platform number, seat
number, date, time, boarding point, destination, PNR number, etc.). When the user logs in to
the system, the validation of their details will be performed and then the access will be
granted. The original ID card such as Aadhar card, voter ID, PAN card or any of them which
proves the identity of the person should be brought during the journey if any identity card
was not uploaded while booking tickets.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
33
UML DIAGRAMS:
1) Use case diagram
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. The term "system" refers to something being developed or operated.
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
2) Sequence diagram
A sequence diagram shows how objects operate with one another and in what order. It
depicts the objects and classes involved and the sequence of messages exchanged between
the objects needed to carry out the functionality of the scenario. They are sometimes called
event diagrams or scenario.
34
3.State chart Diagram:
A state chart diagram resembles a flowchart in which the initial state is represented by
a large black dot and subsequent states are portrayed as boxes with rounded corners. There
may be one or two horizontal lines through a box, dividing it into stacked sections. In that
case, the upper section contains the name of the state, the middle section (if any) contains the
state variables and the lower section contains the actions performed in that state. If there are
no horizontal lines through a box, only the name of the state is written inside it. External
straight lines, each with an arrow at one end, connect various pairs of boxes. These lines
define the transitions between states. The final state is portrayed as a large black dot with a
circle around it.
35
4) Class diagram
Class diagram represents the static view of an application. It is not only used for
visualizing, describing and documenting different aspects of a system but also for
constructing executable code of the software application.
It describes the attributes and operations of a class and also the constraints imposed on the
system. They are the only UML diagrams which can be mapped directly with object-oriented
languages.
5) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. The dotted lines with arrows show how some components are dependent on
others.
36
6) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time sequence
is important, then the sequence diagram is used. If organization is required, then collaboration
diagram is used.
7) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
37
8) Package diagram
Package diagram can be used to simplify complex class diagrams, it can group classes
into packages. A package is a collection of logically related UML elements. Packages are
depicted as file folders and can be used on any of the UML diagrams. Package is
a namespace used to group together elements that are semantically related and might change
together. Owned members of a package should all be packageable elements. If a package is
removed from a model, so are all the elements owned by the package. Any package could be
also a member of other packages.
RESULT:
Thus the problem statement for the E-Ticketing was developed and the UML
diagrams were drawn successfully.
38
EX. NO: IMPLEMENTATION OF THE SYSTEM AS PER THE
DETAILED DESIGN
DATE: DOMAIN: SOFTWARE PERSONNEL MANAGEMENT
SYSTEM
AIM:
To develop the problem statement and Implement the system as per the detailed design
for Software Personnel Management System.
PROBLEM STATEMENT:
Software personnel management system allows employees to record time card
electronically and automatically generate pay slips based on number of hours worked and
total amount of sales. The employee will have a username and password to enter into this
system and view the details. The system will run on individual employee desktops where the
employee can access and edit only their personal details. The system will maintain
information on the employee in the company in order to calculate the payroll.
The employees will also be able to know from the system, the number of hours
worked per day and total number of all hours spent on a project and total pay received year-
to-date etc. Payroll administrators keep track of all the information including adding new
employees, deleting employees, and edit information and run reports. The system will
generate records and performance report of the employees.
These records are very helpful for the organization to know about the complete details
of an employee and the managers or any other authorities can increment or decrement the
salary based on the reports generated.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw,Visual Basic
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
UML DIAGRAMS:
1) Use case diagram
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. The term "system" refers to something being developed or operated.
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
39
2) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
40
3) State chart diagram
A state diagram resembles a flowchart in which the initial state is represented by a
large black dot and subsequent states are portrayed as boxes with rounded corners. There may
be one or two horizontal lines through a box, dividing it into stacked sections. In that case,
the upper section contains the name of the state, the middle section (if any) contains the
state variables and the lower section contains the actions performed in that state. If there are
no horizontal lines through a box, only the name of the state is written inside it. External
straight lines, each with an arrow at one end, connect various pairs of boxes. These lines
define the transitions between states. The final state is portrayed as a large black dot with a
circle around it.
4) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
41
5) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general-purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should all
be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
6) Class diagram
Class diagram represents the static view of an application. It is used for constructing
executable code of the software application. It describes the attributes and operations of a
class and also the constraints imposed on the system. They are widely used in the modelling
of object-oriented systems because they are the only UML diagrams, which can be mapped
directly with object-oriented languages.
42
7) Sequence diagram
A sequence diagram is interaction diagram that shows how objects operate with one
another and in what order. It shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. They are sometimes
called event diagrams or event scenario.
43
$id=$_POST["id"];
$phone=$_POST["phone"];
$query= "insert into employee values('$user','$id','$phone')";
$result=mysqli_query($con , $query);
if($result){
echo "successfull";
}
else{
echo "unsucessfull";
}
?>
Retrieve.php
<html>
<body>
<form action="fetch.php" method="POST">
ID:<input type="number" name="id">
<input type="submit" name="submit">
</form>
</body>
</html>
Fetch.php
<?php
$con=mysqli_connect("localhost","root","","employee") or die("error");
$id=$_POST["id"];
$query= "select * from employee where id='$id';";
$result=mysqli_query($con , $query);
while($val=mysqli_fetch_assoc($result)){
echo "name=".$val["name"]."<br>";
echo "id=".$val["id"]."<br>";
echo "phone=".$val["phone"]."<br>";
}
?>
RESULT:
Thus, the implementation of software for software personnel management system was
done successfully.
44
EX. NO: TEST THE SOFTWARE SYSTEM FOR ALL THE
SCENARIOS IDENTIFIED AS PER THE USECASE
DATE: DIAGRAM
DOMAIN: CREDIT CARD PROCESSING
AIM:
To develop the problem statement and Test the software system for all the scenarios
identified as per the usecase diagram for credit card processing system.
PROBLEM STATEMENT:
The credit card processing system helps to organise the steps involved in using a
credit card. The credit card is a payment card issued to users to enable the cardholder to pay a
merchant for goods and services based on the cardholder's promise to the card issuer to pay
them.
The customer can get a credit card issued by the respective bank by proceeding the
formalities and can use the credit card to pay the bill in any shop having the card swiping
machine. After purchasing the products, the retailer will produce a bill for all the items. The
customer can swipe the card to pay the required amount after validating the card by entering a
unique pin number for the account.
The credit card number's prefix, called the Bank Identification Number, is the
sequence of digits at the beginning of the number that determine the bank to which a credit
card number belongs. This is the first six digits for MasterCard and Visa cards. The next nine
digits are the individual account number, and the final digit is a validity check code. The
credit company provider may also grant a line of credit (LOC) to the cardholder which allows
the holder to borrow money in the form of a cash advance.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
UML DIAGRAMS:
1) Sequence diagram
A sequence diagram is interaction diagram that shows how objects operate with one
another and in what order. It shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. They are sometimes
called event diagrams or event scenario.
45
2) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
46
3) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
4) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general-purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should all
be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
47
5) Class diagram
Class diagram represents the static view of an application.
It is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software application. It
describes the attributes and operations of a class and also the constraints imposed on the
system. They are widely used in the modelling of object-oriented systems because they are
the only UML diagrams, which can be mapped directly with object-oriented languages.
6) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time
sequence is important, then the sequence diagram is used. If organization is required, then
collaboration diagram is used.
48
7) Activity diagram
Activity diagram are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. In the UML, activity diagrams are
intended to model both computational and organizational processes (i.e. workflows). Activity
diagrams show the overall flow of control. Activity diagrams are constructed from a limited
number of shapes, connected with arrows.
49
TESTING:
Software testing is the process of evaluation a software item to detect differences
between given input and expected output. Also, to assess the feature of A software item.
Testing assesses the quality of the product. Software testing is a process that should be done
during the development process. In other words, software testing is a verification and
validation process.
Integration Testing
Integration testing is the phase in software testing in which individual software
modules are combined and tested as a group. It takes as its input, modules that have been unit
50
tested, groups them in larger aggregates, applies tests defined in an integration test plan to
those aggregates, and delivers as its output, the integrated system ready for system testing.
System Testing
System testing is a testing conducted on a complete, integrated system to evaluate the
system's compliance with its specified requirements. It falls within the scope of black-box
testing. As a rule, it takes, as its input, all of the "integrated" software components that have
passed integration testing. The purpose of integration testing is to detect any inconsistencies.
Testing Tools:
1. Arquillian
Arquillian is a highly innovative and extendible testing platform for JVM that allows
developers to easily create automated integration, functional and acceptance tests for Java.
Arquillian allows you to run test in the run-time so you don’t have to manage the run-time
from the test (or the build). Arquillian can be used to manage the life cycle of the container
(or containers),bundling test cases, dependent classes and resources. It is also capable of
deploying archive into containers and execute tests in the containers and capture results and
create reports.
Arquillian integrates with familiar testing frameworks such as JUnit 4, TestNG 5 and allows
tests to be launched using existing IDE, and because of its modular design it is capable of
running Ant and Maven test plugins.
2. JTest
JTest also known as ‘Parasoft JTest’ is an automated Java software testing and static analysis
software made by Parasoft. JTest includes functionality for Unit test-case generation and
execution, static code analysis, data flow static analysis, and metrics analysis, regression
testing, run-time error detection.
There are also features that allow you to peer code review process automation and run-time
error detection for e.g.: Race conditions, exceptions, resource and memory leaks, security
attack vulnerabilities. 3. The Grinder
‘The Grinder’ is a Java load testing framework that was designed to make sure it was easy to
run and distributed test’s using many load injector machines. The Grinder can Load test on
anything that has a Java API. This includes HTTP web servers, SOAP and REST web
services, and application servers and including custom protocols and the test scripts are
written in the powerful Jython and Clojure languages. The GUI console for The Grinder
allows you to have multiple load injectors to be monitored and controlled and Automatic
management of client connections and cookies, SSL, Proxy aware and Connection throttling.
You can find more in depth information on The Grinders features here.
4. TestNG
TestNG is a testing framework designed for the Java programming language and inspired by
JUnit and NUnit. TestNG was primarily designed to cover a wider range of test categories
such as unit, functional, end-to-end, integration, etc. It also introduced some new
functionality that make it more powerful and easier to use, such as: Annotations, Running
51
tests in big thread pools with various policies available, code testing in a multi thread safe,
flexible test configurations, data-driven testing support for parameters, and more.
5. JUnit
JUnit is a unit testing framework designed for the Java programming language. JUnit has
played an important role in the development of test-driven development frameworks. It is one
of a family of unit testing frameworks which is collectively known as the xUnit that
originated with SUnit.
JUnit is linked as a JAR at compile-time and can be used to write repeatable tests
6. JWalk
JWalk is designed as a unit testing toolkit for the Java programming language. It has been
designed to support a testing paradigm called Lazy Systematic Unit Testing. The
JWalkTester tool performs any tests of any compiled Java class, supplied by a programmer. It
is capable of testing conformance to a lazy specification, by static and dynamic analysis, and
from hints by the programmer behind the code.
7. Mockito
Mockito is designed as a open source testing framework for Java which is available under a
MIT License. Mockito allows programmers to create and test double objects (mock objects)
in automated unit tests for the purpose of Test-driven Development (TDD) or Behavior
Driven Development (BDD).
8. Powermock
PowerMock is a Java Framework for unit testing of source code and It runs as an extension of
other Mocking frameworks like Mockito or EasyMock but comes with more powerful
capabilities. PowerMock utilizes a custom classloader and bytecode manipulator to enable
mocking of static methods, removal of static initializes, constructors, final classes and
methods and private methods. It as been primarily designed to extend the existing API’s with
a small number of methods and annotations to enable the extra features.
RESULT:
Thus, the development of problem statement and the UML diagrams for the credit card
processing system was done successfully.
52
EX. NO: IMPROVING THE REUSABILITY AND
MAINTAINABILITY OF THE SOFTWARE SYSTEM BY
DATE: APPLYING APPROPRIATE DESIGN PATTERNS
DOMAIN: E-BOOK MANAGEMENT SYSTEM
AIM:
To develop the problem statement and Improve the reusability and maintainability of
the software system by applying appropriate design patterns for E-book Management System.
PROBLEM STATEMENT:
E-Book management system is well organized system for online buying of books. The
user must login to the system with username and password. This system has various issues in
the basics of maintenance of database and updating in sites, and virus problem in pdf books.
The management of e-books is fully based on online, and maintains the interaction
between buyer and seller, buyer is one who enters the site for purchase of book and will
mainly focus on the database, search engine is used to search book for the buyer who
mentioned the book name, author name, edition or publication details in the site and the result
will be displaying a list of books.
There will be a payment option and option for pdf file or hardcopy delivery to home.
If the user chooses hardcopy, detailed address, contact number and other necessary details
must be given. The paid and downloaded e-book will be available for lifetime. The authority
concerned with the issue of books can use this system to reduce his workload. The user can
purchase the required books and log out of the system.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
UML DIAGRAMS:
1) Use case diagram
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. The term "system" refers to something being developed or operated.
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
53
2) State chart diagram
A state diagram resembles a flowchart in which the initial state is represented by a
large black dot and subsequent states are portrayed as boxes with rounded corners. There may
be one or two horizontal lines through a box, dividing it into stacked sections. In that case,
the upper section contains the name of the state, the middle section (if any) contains the
state variables and the lower section contains the actions performed in that state. If there are
no horizontal lines through a box, only the name of the state is written inside it. External
straight lines, each with an arrow at one end, connect various pairs of boxes. These lines
define the transitions between states. The final state is portrayed as a large black dot with a
circle around it.
3) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
54
4) Class diagram
Class diagram represents the static view of an application.
It is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software application. It
describes the attributes and operations of a class and also the constraints imposed on the
system. They are widely used in the modelling of object-oriented systems because they are
the only UML diagrams, which can be mapped directly with object-oriented languages.
5) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
55
6) Sequence diagram
A sequence diagram is interaction diagram that shows how objects operate with one
another and in what order. It shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. They are sometimes
called event diagrams or event scenario.
7) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general-purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should all
56
be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
8) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time
sequence is important, then the sequence diagram is used. If organization is required, then
collaboration diagram is used.
RESULT:
Thus, the development of UML diagrams for e-book management system using was
done successfully.
57
EX. NO: IMPLEMENT THE MODIFIED SYSTEM AND TEST IT
FOR VARIOUS SCENARIOS
DATE:
DOMAIN: RECRUITMENT SYSTEM
AIM:
To develop the problem statement and Implement the modified system and test it for
various scenarios for the recruitment system.
PROBLEM STATEMENT:
The recruitment system can be used to manage the recruitment processes effectively
by the employers. It allows to create and store a database of candidates, manage and publish
vacancies, process applications, invite and reject applicants, and more. The advertisements
regarding the vacancies can be given and the applicants should send their resume to the
organisation.
The candidates will be filtered based on certain requirements and the eligible
candidates will be called for the preliminary test. Based on the marks scored by the
applicants, they will be called for an interview if selected. Otherwise, simply the application
will be rejected.
The eligible and selected candidates will be informed to attend the interview. The HR
department will conduct interview under various rounds. The eligibility and selection will
differ from one company to another. The interview will be based on their requirements and
convenience. The salary will be fixed by the organisation and the joining date for the
candidate will also be informed after selection.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
UML DIAGRAMS:
1) Sequence diagram
A sequence diagram is interaction diagram that shows how objects operate with one
another and in what order. It shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. They are sometimes
called event diagrams or event scenario.
58
2) State chart diagram
A state diagram resembles a flowchart in which the initial state is represented by a
large black dot and subsequent states are portrayed as boxes with rounded corners. There may
be one or two horizontal lines through a box, dividing it into stacked sections. In that case,
the upper section contains the name of the state, the middle section (if any) contains the
state variables and the lower section contains the actions performed in that state. If there are
no horizontal lines through a box, only the name of the state is written inside it. External
straight lines, each with an arrow at one end, connect various pairs of boxes. These lines
define the transitions between states. The final state is portrayed as a large black dot with a
circle around it.
3) Class diagram
Class diagram represents the static view of an application.
It is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software application. It
describes the attributes and operations of a class and also the constraints imposed on the
59
system. They are widely used in the modelling of object-oriented systems because they are
the only UML diagrams, which can be mapped directly with object-oriented languages.
4) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
60
5) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general-purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should all
be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
6) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
61
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
8) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time
sequence is important, then the sequence diagram is used. If organization is required, then
collaboration diagram is used.
RESULT:
Thus, the development of problem statement and the UML diagrams for the
recruitment system was done successfully.
62
ADVANCED EXPERIMENTS
AIM:
To develop the problem statement and the UML diagrams for student mark
analysing system.
PROBLEM DESCRIPTION:
MODULAR DESCRIPTION RECORD MARKS MODULE:
This module enables the authenticated users to record the marks and thereby their respective
grades in a database. This is the most important module as it maintains the details of the
marks scored by the students in the database and it is the first and the foremost step in this
system.
VIEW GRADES MODULE:
This module permits the respective users to view their grades as and when necessary after
their identification through their login name and password. This module proves to be the
simplest as it does not allow the user to modify or update any information except viewing
them.
UPDATE MARKS MODULE:
This module enables the authenticated users to update the marks of the students after each
and every test in order to update the data to the present existing grades of the students. This
module just allows the user to modify or update the grades of the students alone but not their
personal details. This module does not allow any user just like that only authenticated users
are allowed to update the necessary data after their identification through their login name
and password.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
63
UML DIAGRAMS:
2) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time
sequence is important, then the sequence diagram is used. If organization is required, then
collaboration diagram is used.
64
3) Class diagram
Class diagram represents the static view of an application. It is not only used for
visualizing, describing and documenting different aspects of a system but also for
constructing executable code of the software application.
It describes the attributes and operations of a class and also the constraints imposed on the
system. They are the only UML diagrams which can be mapped directly with object-oriented
languages.
4) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
65
5) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. The dotted lines with arrows show how some components are dependent on
others.
6) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. Owned members of a package should all be packageable
elements. If a package is removed from a model, so are all the elements owned by the
package. Any package could be also a member of other packages.
66
7) State chart diagram
A state diagram resembles a flowchart in which the initial state is represented by a
large black dot and subsequent states are portrayed as boxes with rounded corners. External
straight lines, each with an arrow at one end, connect various pairs of boxes. These lines
define the transitions between states. The final state is portrayed as a large black dot with a
circle around it.
67
8) Activity diagram
Activity diagram are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. In the UML, activity diagrams are
intended to model both computational and organizational processes (i.e. workflows). Activity
diagrams show the overall flow of control. Activity diagrams are constructed from a limited
number of shapes, connected with arrows.
9) Sequence diagram
A sequence diagram shows how objects operate with one another and in what order. It
depicts the objects and classes involved and the sequence of messages exchanged between
the objects needed to carry out the functionality of the scenario. They are sometimes called
event diagrams or scenario.
68
TESTING:
Software testing is the process of evaluation a software item to detect differences
between given input and expected output. Also, to assess the feature of A software item.
Testing assesses the quality of the product. Software testing is a process that should be done
during the development process. In other words, software testing is a verification and
validation process.
The types are
1) Unit testing
2) Integration testing
3) System testing
Unit Testing
Unit testing is a software testing method by which individual units of source code, sets
of one or more computer program modules together with associated control data, usage
procedures, and operating procedures, are tested to determine whether they are fit for use.
Integration Testing
Integration testing is the phase in software testing in which individual software
modules are combined and tested as a group. It takes as its input, modules that have been unit
tested, groups them in larger aggregates, applies tests defined in an integration test plan to
those aggregates, and delivers as its output, the integrated system ready for system testing.
System Testing
System testing is a testing conducted on a complete, integrated system to evaluate the
system's compliance with its specified requirements. It falls within the scope of black-box
testing. As a rule, it takes, as its input, all of the "integrated" software components that have
passed integration testing. The purpose of integration testing is to detect any inconsistencies.
RESULT:
Thus, the development and testing of software for student mark analysing system was
done successfully.
69
EX. NO: E-MAIL CLIENT SYSTEM
DATE:
AIM:
To develop the problem statement and the UML diagrams for E-mail client
system.
PROBLEM DESCRIPTION:
The email client system that allows the users to send emails to any email address and
at the same time allows to receive them too. The email client composes of an inbox as well as
spam folder for receiving emails. The system provides a robust understanding of an email
client and allows for efficient sending and receiving of emails. The emails can consist of a
predefined number of images, links or any such things in it.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
UML DIAGRAMS:
1) Use case diagram
A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. The term "system" refers to something being developed or operated.
Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. Hence, when a
system is analysed to gather its functionalities, use cases are prepared and actors are
identified.
70
2) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. In the diagram below, each component is enclosed in a small box. The dotted
lines with arrows show how some components are dependent on others.
3) Class diagram
Class diagram represents the static view of an application.
It is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software application. It
describes the attributes and operations of a class and also the constraints imposed on the
system. They are widely used in the modelling of object-oriented systems because they are
the only UML diagrams, which can be mapped directly with object-oriented languages.
71
4) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
5) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time
sequence is important, then the sequence diagram is used. If organization is required, then
collaboration diagram is used.
72
6) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. It is a general purpose mechanism to organize elements into
groups to provide better structure for system model. Owned members of a package should
all be packageable elements. If a package is removed from a model, so are all the
elements owned by the package. Package by itself is packageable element, so any package
could be also a member of other packages.
7) Sequence diagram
A sequence diagram is interaction diagram that shows how objects operate with one
another and in what order. It shows object interactions arranged in time sequence. It depicts
the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. They are sometimes
called event diagrams or event scenario.
6) State
73
8.State chart diagram
A state chart diagram resembles a flowchart in which the initial state is represented by
a large black dot and subsequent states are portrayed as boxes with rounded corners. External
straight lines, each with an arrow at one end, connect various pairs of boxes. These lines
define the transitions between states. The final state is portrayed as a large black dot with a
circle around it.
9) Activity diagram
Activity diagram are graphical representations of workflows of stepwise activities and
actions with support for choice, iteration and concurrency. In the UML, activity diagrams are
intended to model both computational and organizational processes (i.e. workflows). Activity
diagrams show the overall flow of control. Activity diagrams are constructed from a limited
number of shapes, connected with arrows.
74
TESTING:
Software testing is the process of evaluation a software item to detect differences
between given input and expected output. Also, to assess the feature of A software item.
Testing assesses the quality of the product. Software testing is a process that should be done
during the development process. In other words, software testing is a verification and
validation process.
The types are
1) Unit testing
2) Integration testing
3) System testing
Unit Testing
Unit testing is a software testing method by which individual units of source code, sets
of one or more computer program modules together with associated control data, usage
procedures, and operating procedures, are tested to determine whether they are fit for use.
Integration Testing
Integration testing is the phase in software testing in which individual software
modules are combined and tested as a group. It takes as its input, modules that have been unit
tested, groups them in larger aggregates, applies tests defined in an integration test plan to
those aggregates, and delivers as its output, the integrated system ready for system testing.
75
System Testing
System testing is a testing conducted on a complete, integrated system to evaluate the
system's compliance with its specified requirements. It falls within the scope of black-box
testing. As a rule, it takes, as its input, all of the "integrated" software components that have
passed integration testing. The purpose of integration testing is to detect any inconsistencies.
RESULT:
Thus, the development and testing of software for e-mail client system using software
engineering methodologies was done successfully.
76
EX. NO: PLATFORM ASSIGNMENT SYSTEM FOR TRAINS
DATE:
AIM:
To develop the software for platform assignment system for trains using software
engineering methodologies.
PROBLEM DESCRIPTION:
The platform assignment system for trains helps in assigning the platform for the
trains without much manual involvement and with accurate time calculation in delay and its
arrival. It also makes the train to wait when the platform is unavailable and assign the
platform when it becomes free. The basic train details and the train number is used to assign
the platform for it. Only administrator could login to the system and make updates or
changes.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
UML DIAGRAMS:
77
2) Sequence diagram
A sequence diagram shows how objects operate with one another and in what order. It
depicts the objects and classes involved and the sequence of messages exchanged between
the objects needed to carry out the functionality of the scenario. They are sometimes called
event diagrams or scenario.
78
3) State chart diagram
A state chart diagram resembles a flowchart in which the initial state is represented by
a large black dot and subsequent states are portrayed as boxes with rounded corners. There
may be one or two horizontal lines through a box, dividing it into stacked sections. In that
case, the upper section contains the name of the state, the middle section (if any) contains the
state variables and the lower section contains the actions performed in that state. If there are
no horizontal lines through a box, only the name of the state is written inside it. External
straight lines, each with an arrow at one end, connect various pairs of boxes. These lines
define the transitions between states. The final state is portrayed as a large black dot with a
circle around it.
79
4) Class diagram
Class diagram represents the static view of an application. It is not only used for
visualizing, describing and documenting different aspects of a system but also for
constructing executable code of the software application.
It describes the attributes and operations of a class and also the constraints imposed on the
system. They are the only UML diagrams which can be mapped directly with object-oriented
languages.
5) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. The dotted lines with arrows show how some components are dependent on
others.
80
6) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time sequence
is important, then the sequence diagram is used. If organization is required, then collaboration
diagram is used.
7) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
81
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
8) Package diagram
Package diagram can be used to simplify complex class diagrams, it can group classes
into packages. A package is a collection of logically related UML elements. Packages are
depicted as file folders and can be used on any of the UML diagrams. Package is
a namespace used to group together elements that are semantically related and might change
together. Owned members of a package should all be packageable elements. If a package is
removed from a model, so are all the elements owned by the package. Any package could be
also a member of other packages.
RESULT:
Thus, the development of problem statement and the UML diagrams for platform
assignment was done successfully.
82
EX. NO: REMOTE COMPUTER MONITORING SYSTEM
DATE:
AIM:
To develop the software for remote computer monitoring system using software
engineering methodologies.
PROBLEM DESCRIPTION:
The remote computer monitoring system allows the user to control the computer,
view any documents, add information or update without coming into actual contact with it. It
also monitors who ever uses the system or attempts to use it. Login id will be given
separately for each user and there will be a master server with a database maintained. The
admin will be notified about every login and changes made to the system.
SOFTWARE REQUIREMENTS:
Argo UML, Star UML, UML Graph, Edraw
HARDWARE REQUIREMENTS:
Processor speed : 2.80 GHz / 1066 MHz
Memory : 2 GB RAM
Hard disk : 250 GB
UML DIAGRAMS:
83
2) Collaboration diagram
The collaboration diagram shows the object organization. The method call sequence is
indicated by some numbering technique. The number indicates how the methods are called
one after another. Method calls are similar to that of a sequence diagram. If the time
sequence is important, then the sequence diagram is used. If organization is required, then
collaboration diagram is used.
84
3) Class diagram
Class diagram represents the static view of an application. It is not only used for
visualizing, describing and documenting different aspects of a system but also for
constructing executable code of the software application.
It describes the attributes and operations of a class and also the constraints imposed on the
system. They are the only UML diagrams which can be mapped directly with object-oriented
languages.
4) Deployment diagram
The deployment diagram is a structure diagram which shows architecture of the
system. It models the physical deployment of artifacts on nodes which would show what
hardware components (nodes) exist, what software components run on each node and how
the different pieces are connected. The nodes appear as boxes, and the artifacts allocated to
each node appear as rectangles within the boxes. Nodes may have sub nodes, which appear as
nested boxes.
85
5) Component diagram
A component diagram shows how several components in given system are related to
each other. It is similar to a class diagram in that you can use it to illustrate how items are
linked to each other, but it can show more complex and varied connections than most class
diagrams can. The dotted lines with arrows show how some components are dependent on
others.
6) Package diagram
Package is a namespace used to group together elements that are semantically related
and might change together. Owned members of a package should all be package-able
elements. If a package is removed from a model, so are all the elements owned by the
package. Any package could be also a member of other packages.
RESULT:
Thus, the development and testing of software for remote computer monitoring
system using software engineering methodologies was done successfully.
86
OPEN ENDED PROBLEM
EX. NO: EXPERT SYSTEM TO PRESCRIBE MEDICINE
DATE: FOR GIVEN SYMPTOMS
AIM:
To develop the software for expert system to prescribe medicine for given symptoms
using software engineering methodologies.
PROBLEM DESCRIPTION:
The expert system to prescribe medicine for given symptoms can be used by the
people of all ages to know about the disease by giving the symptoms. All the symptoms have
to be entered into the system so as to get the better diagnosis and result. It can also prescribe
the medicine and the dosage with the reference of the database that is maintained earlier. If
the user did not enter the sufficient details or if the expert system could not find out the
disease, it will notify the user that he/she has entered insufficient details.
AIM:
To develop the software for real time scheduler using software engineering
methodologies.
PROBLEM DESCRIPTION:
A real-time scheduling System is composed of the scheduler, clock and the processing
hardware elements. In a real-time system, a process or task has schedulability; tasks are
accepted by a real-time system and completed as specified by the task deadline depending on
the characteristic of the scheduling algorithm. Modeling and evaluation of a real-time
scheduling system concern is on the analysis of the algorithm capability to meet a process
deadline. A deadline is defined as the time required for a task to be processed.
For example, in a real-time scheduling algorithm a deadline could be set to five nano-
seconds. In a critical operation the task must be processed in the time specified by the
deadline (i.e. five nano-seconds). A task in a real-time system must be completed “neither too
early nor too late;..”. A system is said to be unschedulable when tasks can not meet the
specified deadlines. A task can be classified as either a periodic or aperiodic process.
87
EX. NO: REMOTE PROCEDURE CALL IMPLEMENTATION
DATE:
AIM:
To develop the software for remote procedure call implementation using software
engineering methodologies.
PROBLEM DESCRIPTION:
A remote procedure call (RPC) is when a computer program causes a procedure (subroutine)
to execute in a different address space (commonly on another computer on a shared network),
which is coded as if it were a normal (local) procedure call, without the programmer
explicitly coding the details for the remote interaction. That is, the programmer writes
essentially the same code whether the subroutine is local to the executing program, or
remote.[1] This is a form of client–server interaction (caller is client, executor is server),
typically implemented via a request–response message-passing system. In the object-oriented
programming paradigm, RPC calls are represented by remote method invocation (RMI). The
RPC model implies a level of location transparency, namely that calling procedures is largely
the same whether it is local or remote, but usually they are not identical, so local calls can be
distinguished from remote calls. Remote calls are usually orders of magnitude slower and less
reliable than local calls, so distinguishing them is important.
RPCs are a form of inter-process communication (IPC), in that different processes have
different address spaces: if on the same host machine, they have distinct virtual address
spaces, even though the physical address space is the same; while if they are on different
hosts, the physical address space is different. Many different (often incompatible)
technologies have been used to implement the concept.
88