0% found this document useful (0 votes)
25 views98 pages

Oose Expt 1-7

The document provides an overview of UML (Unified Modeling Language), its purpose, and its significance in modeling both software and non-software systems. It details the fundamental concepts of object-oriented analysis and design, the role of UML in this context, and the various UML diagrams and notations used to represent different elements and relationships. Additionally, it introduces ArgoUML, an open-source UML modeling tool, and explains how to create use case diagrams within the software.

Uploaded by

thiruaa4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views98 pages

Oose Expt 1-7

The document provides an overview of UML (Unified Modeling Language), its purpose, and its significance in modeling both software and non-software systems. It details the fundamental concepts of object-oriented analysis and design, the role of UML in this context, and the various UML diagrams and notations used to represent different elements and relationships. Additionally, it introduces ArgoUML, an open-source UML modeling tool, and explains how to create use case diagrams within the software.

Uploaded by

thiruaa4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 98

Ex.

No 1A STUDY OF UML DIAGRAMS


Date:

UML is a standard language for specifying, visualizing, constructing, and documenting the
artifacts of software systems. UML was created by the Object Management Group (OMG) and
UML 1.0 specification draft was proposed to the OMG in January 1997.OMG is continuously
making efforts to create a truly industry standard.

⮚ UML stands for Unified Modeling Language.


⮚ UML is different from the other common programming languages such as C++, Java,
COBOL, etc.
⮚ UML is a pictorial language used to make software blueprints.
⮚ UML can be described as a general purpose visual modeling language to visualize,
specify, construct, and document software system.
⮚ Although UML is generally used to model software systems, it is not limited within this
boundary. It is also used to model non-software systems as well. For example, the
process flow in a manufacturing unit, etc.
⮚ UML is not a programming language but tools can be used to generate code in various
languages using UML diagrams. UML has a direct relation with object oriented analysis
and design. After some standardization, UML has become an OMG standard.

Goals of UML
A picture is worth a thousand words, this idiom absolutely fits describing UML. Object-oriented
concepts were introduced much earlier than UML. At that point of time, there were no standard
methodologies to organize and consolidate the object-oriented development. It was then that
UML came into picture.There are a number of goals for developing UML but the most important
is to define some general purpose modeling language, which all modelers can use and it also
needs to be made simple to understand and use.UML diagrams are not only made for developers
but also for business users, common people, and anybody interested to understand the system.
The system can be a software or non-software system. Thus it must be clear that UML is not a
development method rather it accompanies with processes to make it a successful system.In
conclusion, the goal of UML can be defined as a simple modeling mechanism to model all
possible practical systems in today’s complex environment.

A Conceptual Model of UML


A conceptual model can be defined as a model which is made of concepts and their
relationships.A conceptual model is the first step before drawing a UML diagram. It helps to
understand the entities in the real world and how they interact with each other.As UML describes
the real-time systems, it is very important to make a conceptual model and then proceed
gradually. The conceptual model of UML can be mastered by learning the following three major
elements −
⮚ UML building blocks
⮚ Rules to connect the building blocks
⮚ Common mechanisms of UML
⮚ Object-Oriented Concepts

1
⮚ UML can be described as the successor of object-oriented (OO) analysis and design.

UML is powerful enough to represent all the concepts that exist in object-oriented analysis and
design. UML diagrams are representation of object-oriented concepts only. Thus, before learning
UML, it becomes important to understand OO concept in detail.

Following are some fundamental concepts of the object-oriented world −


⮚ Objects − Objects represent an entity and the basic building block.
⮚ Class − Class is the blue print of an object.
⮚ Abstraction − Abstraction represents the behavior of an real world entity.
⮚ Encapsulation − Encapsulation is the mechanism of binding the data together and hiding
them from the outside world.
⮚ Inheritance − Inheritance is the mechanism of making new classes from existing ones.
⮚ Polymorphism − It defines the mechanism to exists in different forms.

OO Analysis and Design


OO can be defined as an investigation and to be more specific, it is the investigation of objects.
Design means collaboration of identified objects.Thus, it is important to understand the OO
analysis and design concepts. The most important purpose of OO analysis is to identify objects
of a system to be designed. This analysis is also done for an existing system. Now an efficient
analysis is only possible when we are able to start thinking in a way where objects can be
identified. After identifying the objects, their relationships are identified and finally the design is
produced.There are three basic steps where the OO concepts are applied and implemented.

The steps can be defined as


OO Analysis → OO Design → OO implementation using OO languages
The above three points can be described in detail as −
⮚ During OO analysis, the most important purpose is to identify objects and describe them
in a proper way. If these objects are identified efficiently, then the next job of design is
easy. The objects should be identified with responsibilities. Responsibilities are the
functions performed by the object. Each and every object has some type of
responsibilities to be performed. When these responsibilities are collaborated, the purpose
of the system is fulfilled.

⮚ The second phase is OO design. During this phase, emphasis is placed on the
requirements and their fulfilment. In this stage, the objects are collaborated according to
their intended association. After the association is complete, the design is also complete.

⮚ The third phase is OO implementation. In this phase, the design is implemented using OO
languages such as Java, C++, etc.

Role of UML in OO Design


UML is a modeling language used to model software and non-software systems. Although UML
is used for non-software systems, the emphasis is on modeling OO software applications. Most
of the UML diagrams discussed so far are used to model different aspects such as static,
dynamic, etc. Now whatever be the aspect, the artifacts are nothing but objects.If we look into

2
class diagram, object diagram, collaboration diagram, interaction diagrams all would basically be
designed based on the objects.

UML Diagrams
UML diagrams are the ultimate output of the entire discussion. All the elements, relationships
are used to make a complete UML diagram and the diagram represents a system.The visual
effect of the UML diagram is the most important part of the entire process. All the other
elements are used to make it complete.

UML includes the following nine diagrams, the details of which are described in the subsequent
chapters.

⮚ Class diagram
⮚ Object diagram
⮚ Use case diagram
⮚ Sequence diagram
⮚ Collaboration diagram
⮚ Activity diagram
⮚ Statechart diagram
⮚ Deployment diagram
⮚ Component diagram

BASIC NOTATION UML


UML is popular for its diagrammatic notations. We all know that UML is for visualizing,
specifying, constructing and documenting the components of software and non-software systems.
Hence, visualization is the most important part which needs to be understood and remembered.
UML notations are the most important elements in modeling. Efficient and appropriate use of
notations is very important for making a complete and meaningful model. The model is useless,
unless its purpose is depicted properly.
Hence, learning notations should be emphasized from the very beginning. Different notations are
available for things and relationships. UML diagrams are made using the notations of things and
relationships. Extensibility is another important feature which makes UML more powerful and
flexible.
The chapter describes basic UML notations in detail. This is just an extension to the UML
building block section discussed in Chapter Two.

Structural Things
Graphical notations used in structural things are most widely used in UML. These are considered
as the nouns of UML models. Following are the list of structural things.
● Classes
● Object
● Interface
● Collaboration
● Use case
3
● Active classes
● Components
● Nodes

Class Notation
UML class is represented by the following figure. The diagram is divided into four parts.
● The top section is used to name the class.
● The second one is used to show the attributes of the class.
● The third section is used to describe the operations performed by the class.
● The fourth section is optional to show any additional components.

Classes are used to represent objects. Objects can be anything having properties and
responsibility.
Object Notation
The object is represented in the same way as the class. The only difference is the name which is
underlined as shown in the following figure.

As the object is an actual implementation of a class, which is known as the instance of a class.
Hence, it has the same usage as the class.
Interface Notation
Interface is represented by a circle as shown in the following figure. It has a name which is
generally written below the circle.

4
Interface is used to describe the functionality without implementation. Interface is just like a
template where you define different functions, not the implementation. When a class implements
the interface, it also implements the functionality as per requirement.
Collaboration Notation
Collaboration is represented by a dotted eclipse as shown in the following figure. It has a name
written inside the eclipse.

Collaboration represents responsibilities. Generally, responsibilities are in a group.


Use Case Notation
Use case is represented as an eclipse with a name inside it. It may contain additional
responsibilities.

Use case is used to capture high level functionalities of a system.

5
Actor Notation
An actor can be defined as some internal or external entity that interacts with the system.

An actor is used in a use case diagram to describe the internal or external entities.
Initial State Notation
Initial state is defined to show the start of a process. This notation is used in almost all diagrams.

The usage of Initial State Notation is to show the starting point of a process.
Final State Notation
Final state is used to show the end of a process. This notation is also used in almost all diagrams
to describe the end.

The usage of Final State Notation is to show the termination point of a process.
Active Class Notation
Active class looks similar to a class with a solid border. Active class is generally used to describe
the concurrent behavior of a system.

Active class is used to represent the concurrency in a system.

6
Component Notation
A component in UML is shown in the following figure with a name inside. Additional elements
can be added wherever required.

Component is used to represent any part of a system for which UML diagrams are made.
Node Notation
A node in UML is represented by a square box as shown in the following figure with a name. A
node represents the physical component of the system.

Node is used to represent the physical part of a system such as the server, network, etc.

Behavioral Things
Dynamic parts are one of the most important elements in UML. UML has a set of powerful
features to represent the dynamic part of software and non-software systems. These features
include interactions and state machines.
Interactions can be of two types −
● Sequential (Represented by sequence diagram)
● Collaborative (Represented by collaboration diagram)
Interaction Notation
Interaction is basically a message exchange between two UML components. The following
diagram represents different notations used in an interaction.

7
Interaction is used to represent the communication among the components of a system.
State Machine Notation
State machine describes the different states of a component in its life cycle. The notations are
described in the following diagram.

State machine is used to describe different states of a system component. The state can be active,
idle, or any other depending upon the situation.

Grouping Things
Organizing the UML models is one of the most important aspects of the design. In UML, there is
only one element available for grouping and that is package.

8
Package Notation
Package notation is shown in the following figure and is used to wrap the components of a
system.

Annotational Things
In any diagram, explanation of different elements and their functionalities are very important.
Hence, UML has notes notation to support this requirement.
Note Notation
This notation is shown in the following figure. These notations are used to provide necessary
information of a system.

Relationships
A model is not complete unless the relationships between elements are described properly.
The Relationship gives a proper meaning to a UML model. Following are the different types of
relationships available in UML.
●Dependency
●Association
●Generalization
●Extensibility
Dependency Notation
Dependency is an important aspect in UML elements. It describes the dependent elements and
the direction of dependency.
Dependency is represented by a dotted arrow as shown in the following figure. The arrow head
represents the independent element and the other end represents the dependent element.

9
Dependency is used to represent the dependency between two elements of a system

Association Notation
Association describes how the elements in a UML diagram are associated. In simple words, it
describes how many elements are taking part in an interaction.
Association is represented by a dotted line with (without) arrows on both sides. The two ends
represent two associated elements as shown in the following figure. The multiplicity is also
mentioned at the ends (1, *, etc.) to show how many objects are associated.

Association is used to represent the relationship between two elements of a system.


Generalization Notation
Generalization describes the inheritance relationship of the object-oriented world. It is a parent
and child relationship.
Generalization is represented by an arrow with a hollow arrow head as shown in the following
figure. One end represents the parent element and the other end represents the child element.

Generalization is used to describe parent-child relationship of two elements of a system.


Extensibility Notation
All the languages (programming or modeling) have some mechanism to extend its capabilities
such as syntax, semantics, etc. UML also has the following mechanisms to provide extensibility
features.
● Stereotypes (Represents new elements)
● Tagged values (Represents new attributes)
● Constraints (Represents the boundaries)

10
Extensibility notations are used to enhance the power of the language. It is basically additional
elements used to represent some extra behavior of the system. These extra behaviors are not
covered by the standard available notations.

11
Ex.No 1B STUDY OF SOFTWARE – ARGO UML
Date:

Lab requires an installation of ArgoUML. The following screenshots and procedures were
developed using ArgoUML. ArgoUML is an open source Unified Modeling Language (UML)
modeling tool that includes support for all standard UML 1.4 diagrams. It runs on any Java
platform and is available in ten languages.
ArgoUML is different: i) it makes use of ideas from cognitive psychology, ii) it is based on open
standards; iii) it is 100% pure Java; and iv) it is an open source project.
Use case diagram
A use case diagram is a simple drawing which documents the behavior of a system from the
user's point-of-view. It identifies the external entities (known as actors) that will work with your
system as well as what they will be doing with your system (the "use cases" for those actors).
When you start ArgoUML, it will create a default model called "untitledModel". This is the
root node of your model and will contain all the artifacts that we will be creating. If you expand
this root node, you will see that it has already been pre-populated with a class diagram and a use
case diagram. We'll return to the class diagram later, but for now we'll focus on the use case
diagram. Clicking on the pre-populated use case diagram entry in the model will display the
(currently empty) use case diagram in the main edit window.
Actors
Actors can be added to the use case diagram by selecting the "New Actor" tool from the main
edit window's toolbar. Once the tool has been selected, click anywhere in the diagram window
to place an actor in that location. Each actor in your system should have a short descriptive
name. Add this information by filling in the "Name" field in the "Properties" tab located below
the diagram. All these features are shown below:

12
Use cases
Use cases can be added to the use case diagram by selecting the "New Use Case" tool from the
main edit window's toolbar. Once the tool has been selected, click anywhere in the diagram
window to place a use case in that location. Each use case in your system should also have a
short descriptive name. Add this information by filling in the "Name" field in the "Properties"
tab located below the diagram. Again, all these features are shown below:

Associations

Use cases and actors are linked by an "association" which indicates that a particular actor is
expected to need to use the system in a given way. To notate these association between actors
and use cases you'll need to draw a line representing this association. This can be added to the
diagram by selecting the "New Association" from the edit toolbar. You may need to use the
dropdown button next to the toolbar item group in order to select the appropriate tool. Once this
association tool has been selected, click and hold on an actor and drag the mouse over to the use
case with which you want them to be associated. You can associated multiple actors with a
given use case, or multiple use cases with a single actor. You can name your associations if you
like, but this is not required. An example of a simple associated actor/use case is given below:

13
State diagrams
Perhaps the most familiar of the UML diagram types, state diagrams are used to communicate
how parts of a software system react to specific stimuli. To create a state diagram in ArgoUML,
right-click on the top-level model node on the left-hand side of the tool and select the "Create
Diagram -> New Statechart Diagram" menu item. This will add a new state machine,
"(Unnamed State Machine)", as a child node in the model tree. Expand this node and you'll find
the statechart diagram we just created. The "state machine"-> "state diagram" hierarchy we
see here is provided by UML in order to allow one state machine to span across multiple state
diagrams. By default the state diagram created will be named "untitledModel 0" - feel free to
rename this to something more descriptive using the "Properties" tab below the edit window.
Click on the state diagram entry in the model tree and the empty state diagram will be presented
in the edit window.

States
States can be added by clicking on the "New Simple State" toolbar button and then clicking
somewhere within the edit window to indicate where you would like the state to be placed. Each
state should be given a short descriptive name, which can be entered in the "Name" field within
the "Properties" tab. The essential user interface elements you'll need are called out below.

14
Transitions
Movement by the system from one state to another is indicated by adding a "Transition" from
one state to another. To add a transition between states, click on the "New Transition" tool from
the edit toolbar. Then click and hold on the state in which the transition begins and drag the
mouse to the state to which the transition ends.

Annotations
Transitions are almost always annotated with additional information regarding actions that cause
the transition to occur (triggers) and things that will happen when the transition occurs (effects).
Additionally, a transition's triggers can be specified to only be valid under certain conditions
(guards). ArgoUML supports all of these constructs, and the appropriate annotations can be
added within the "Properties" tab. To add a trigger, effect, or guard click on the tool button
located adjacent to the respective annotation you wish to add (where different sub-types of
actions are available, we will almost always use the "Call" type as this corresponds to the
familiar action of calling an object's method). See the figure below for an example showing two
transitions:
"not borrowable" transitioning to "borrowable": this transition represents a transition triggered by
a call to "returned"

● "borrowable" transitioning to "borrowable": this self-transition represents a transition


triggered by a call to "borrowed", but it is guarded (i.e.: won't happen unless) it is not the
last copy

15
Note: Creating a transition from a state to itself (a so-called "self transition") is not intuitive in
ArgoUML. To enter such a transition use a "u-turn" when drawing the transition - namely click
on the state and drag out a distance from the state, release the mouse, move the mouse slightly,
click again, and then finally click back on the state. This will create the desired self transition.

Note: To define a guard, the desired expression should be entered in the large text box at the
bottom right (as seen above), not the name field or the small textbox directly under "expression".
The small text box can be used to specify a language for the expression (and there are tooltips to
indicate this), but it is not immediately apparent from the user interface.

Class diagrams
Class diagrams provide a way to document the structure of a system by defining what classes
there are within it and how they are related. ArgoUML automatically includes a class diagram in
all of the models it creates. The default class diagram name is "Class Diagram", click on it to
open the blank class diagram canvas in the edit window.

16
Classes
As you would expect, the basic building block of a class diagram is the class. To add a new class
to your class diagram, click on the "New Class" tool in the class diagram's edit toolbar and click
anywhere in the edit window where you would like the class to be placed.
At a minimum, each class should have a name, which can be supplied using the "Name" field in
the "Properties" tab for a given class.

Operations
Classes can contain additional information about the operations they support. Operations define
the ways in which objects interact with each other (these operations are often analogous to
methods in many programming languages). Operations can be added to a class by selecting the
desired class in the edit window and clicking the "New Operation" tool from the edit window's
toolbar. This will add a new operation to the class that can be modified using the "Properties"
tab as seen below.

The most common properties that you'll want to modify will be to give the operation a name and
to specify information about the parameters it uses. Parameters are often used to record the
arguments the operation/method is expected to take and the type (if any) it uses to return
information. Expanding the parameter list box by clicking on "Parameter" in the "Properties" tab
will give you access to additional parameter related tools such as "New Parameter" that allow
you to add parameters for the operation. By default, all operations have a "return" parameter
with type <none> that serves as a placeholder for the return type. Double-clicking on a
parameter in the parameter list will will open an additional edit screen for the selected parameter
in the "Properties" tab. This edit screen allows you to modify parameter properties such as its
name and type.
A sample parameter edit screen showing the "return" parameter modified to return an Integer
is shown below.

17
Note: UML provides standard primitive types for you. You can also specify the type to be a
class that you've added to your model (such as the Book class) as well.

Attributes
In addition to operations, classes will also often have attributes which are used to describe the
data contained in an object of the class (these attributes are often analogous to fields in many
programming languages). Attributes can be added to a class by selecting the desired class in the
edit window and clicking the "New Attribute" tool from the edit window's toolbar. This will add
a new operation to the class and will open a new edit screen in the "Properties" tab.
In this edit screen you can modify the attribute properties such as its name and type. A sample
attribute edit screen is shown below.

A sample class diagram using a class with attributes and properties is shown below.

18
Associations and Generalizations
The relationships between classes are often described using associations and generalizations.
While classes often correspond the "nouns" in a system, associations correspond to the "verbs".
They describe relationships such as "is a copy of" and "borrows/returns". Associations can be
added between classes in ArgoUML by selecting the "New UniAssociation" tool in the edit
toolbar and then clicking and holding on one class in the diagram and dragging the mouse to the
class to which you want to create the association. You'll generally want to give names to your
associations, and this can be done using the "Properties" tab edit screen for the association. A
sample class association is shown below.

19
Another important relationship between classes is a "generalization". Generalizations describe
relationships that are often analogous to inheritance in programming languages. Generalizations
can be added by clicking on the "New Generalization" tool in the edit toolbar and then clicking
and holding on the more specific class and then dragging the mouse to the class which is a
generalization of it. A sample showing a generalization relationship between two classes is
shown below.

20
Sequence Diagrams

The last UML diagram type we'll be working with is a sequence diagram. A sequence diagram
is sub-type of a more broad category of UML diagrams called interaction diagrams. A sequence
diagram shows how actors and/or objects interact with each other by providing a timeline of
messages being passed from one to the other. Each object/actor has a representation of its own
timeline (known as a lifeline) in which time is assumed to pass as we move from top to bottom
of the diagram. To create a sequence diagram in ArgoUML, right-click on the root node of your
model and select "Create Diagram -> "New Sequence Diagram".
This will add a new sequence diagram (nested in a collaboration node) to the model and open a
blank sequence diagram canvas in the edit window.

Actors/Objects
The first step in defining the sequence diagram is to add the actors/objects that are involved in
the interaction to be displayed. You can add generic objects, but in general it is best to associate
the lifeline with a type that we've already defined in the model. For this, search the model tree
on the left of the screen to find a class (which was defined in your class diagram) or an actor
(which was defined in your use case diagram) that represents the type of the object/actor you
wish to add to the diagram. Click and hold on this entry and drag it onto the sequence diagram
canvas. This will create a lifeline (referred to as a "Classifier Role" in ArgoUML) that is

21
associated with the selected type in your diagram. As usual, properties of this model member
can be modified using the "Properties" tab - in general at least a name should be provided. The
screenshot below shows a sequence diagram that has been populated with two lifelines: on the
left is an instance ("aMember") of an actor ("BookBorrow"), on the right there is an instance
("theLibraryMember") of a class ("LibraryMember").

Messages
With the actor and object instances placed in the diagram, the next step is to depict the sequence
of messages that are passed between each instance. Most often these message will represent the
calling of a method, so to add these messages you'll select the "New Call Action" tool from the
edit toolbar and then click-and-hold on the instance which will be generating the message and
drag it to the instance which will be receiving it. This will create a message call and return
action in the sequence diagram. As usual, you will need to edit the properties for this message
using the "Properties" tab where you can use the "Name" field to record information about the
message. The snapshot below shows the sequence diagram from above updated with two
messages: one from "aMember" to "theLibraryMember" requesting to borrow a specific copy,
22
and another showing that "theLibararyMember" will send a message to itself to see if it's alright
for the member to borrow the copy. The second diagram has also been updated to include a third
lifeline for "theCopy", an instance of the "Copy" class, since "theCopy" is involved in the
interaction between "BookBorrower" and "theLibraryMember".

Note: As we've seen before, getting ArgoUML to allow a message to be passed to the same
object that is generating it is not initially intuitive. To create this message-to-self you'll need to
use the "U-turn" method discussed earlier for state diagrams. Click-and-hold on the instance you
wish the message to be generated by and drag away, release the mouse, click in yet another
location away from the instance, and finally click back on the instance. Note that your second
and third clicks must be far sufficiently far away from the lifeline for this to work - specifically,
they must be further away than the bounding box for the box at the top of the lifeline. See below
for an example of the sequence of clicks that will successfully generate a message-to-self.

23
24
EX.NO: STUDENT MANAGEMENT SYSTEM
DATE:

AIM:

The aim of Student Management System(SMS) is to streamline and automate


administrative tasks related to student information , enrollment , attendance
tracking , grading and communication between students , teachers and
administrators. It aims to improve efficiency, organization and data accuracy in
educational institutions.
PROBLEM STATEMENT:
The Student Management System can handle all the details about a student. The
details include college details, course details, student personal details, academic
details etc. The student Management System is an automated version of manual
Student Management System. It allows authorized members to access the record of
academically registered students. This helps in maintaining the database of the
students in any educational organization. We can easily access any student’s
information anytime and can be kept safely for long period of time without any
damage.

1. Administrator

2. User

 Administrator
SMS is managed by Administrator. Administrator has to update and monitor
the registered student details, provide register number for all students,
generate hall tickets for all students , provide course details, allocate Staffs
for each courses etc.
 User
User can only view their personal details, fees details, examination schedule,
mark sheet , download hall tickets for each semester
• To update the information that is essential to transmit to the users
• To have a centralized control over the records of the students, departments,
teachers, staffs , library etc and monitor the changes in these records

SRS(SOFTWARE REQUIREMENTS SPECIFICATIONS)


1.INTRODUCTION:

25
A Student Management System (SMS) is a System that manages the records of
student regarding admission and examination part. A Student Management System
(SMS) is designed to help collages for management of dental student.
Extensive information is available at your fingertips through this System.
Viewing student data, managing admission and reshuffling, managing seats, quota,
board, semester, faculty, category and for examination, block allocation, subject
management, scheduling exam, result and related issues are made simple and easy.
There are custom search capabilities to aid in finding student information and
working on student records. This can make the system easier to navigate and to use
maximizing the effectiveness of time and other resources. SMS allows the keeping
of personnel data in a form that can be easily accessed and analyzed in a consistent
way.

2. PURPOSE
Student Management System is the software which is helpful for students as
well as the department. Our student management system deals with various
activities related to students as well as faculty. The purpose of this SRS document
is to allow the registration of students in particular course. It is intended to be
complete specification of what functionality the admission provides. It will also
facilitate keeping all the records of students, such as their id , name ,address, DOB
etc. So all the information about a student will be available in a few seconds. The
main purpose of this SRS document to illustrate the requirements of the system
and is intended to help any organization to maintain and manage its students
personal data as well as faculty.

3. SCOPE
The Student Management System (SMS) is envisioned to serve as a
comprehensive platform for managing student related information, academic
records, administrative tasks, and communication within an educational institution.
The system will cater to the needs of administrators, faculty members, students,
and parents, facilitating efficient operations and enhancing overall academic
experience.

4. OVERVIEW
Student Management System (SMS) is a web-based application that tracks
current student’s academic information. It maintains academic information for
ready access by office staff, students, their faculty advisors, and committee
members. Instead of tedious paper work, students will be able to submit required
information electronically, and the departments will be able to evaluate the
submissions with a much quicker turn around. The Student Management System
has been modularized into following modules.
26
4.1 LOGIN MODULE:
The purpose of this module is to provide entry to the system or website. Based
on the type of login, the user is provided with various facilities and functionalities.
The main function of this module is to allow the user to use SMS. This module
provides two types of login: Admin login and Student login

4.2 ADMINISTRATOR MODULE:

In this module when the administrator will enter his/her user name and
password, then he/she will enter in to the administrator page and this page consists
of two following sub modules.

 Student Addition/ Updation / Deletion:

In SMS each Student is added, updated or deleted according to its branch.

 Notice/Attendance/Result Generation:
In SMS information about notice, attendance and Internal result is generated.

4.3 STUDENT MODULE:


In this module when a user enters his student id and password, then he can visit all
the following pages.

 Profile View:

When the student clicks on this link he/she will get his/her information like
student id, student name, password, father name, date of birth, nationality, city,
address, country, phone number, mobile number, email. If he/she wants then
he/she can change the profile.

 Notice View:

When the student clicks on this link, he can see latest notices released by the
administrator.

 Attendance View:

When the student clicks on this one, the student can get his overall attendance
percentage (present and absent).

 InternalResults View:
When the student clicks on this, he/she will get the internals result in all the
subjects. How much grade point he/she secure out of 20 he/she can know.

27
 Fee Detail View:
When the student clicks this link he/she can get all the fees structure semester
wise andannual fee.

5. FUNCTIONAL REQUIREMENTS
5.1 USER MANAGEMENT

 The system shall support multiple user roles such as administrator, teacher,
and student.
 Administrators shall be able to add, edit, and delete user accounts.
 Users shall be able to reset their passwords through a secure authentication
process.

5.2 STUDENT REGISTRATION AND ENROLLMENT

 The system shall allow administrators to register new students by capturing


relevant personal and academic information.
 Students shall be assigned unique identification numbers upon registration.
 Administrators shall be able to enroll students in courses for each academic
term.

5.3 COURSE MANAGEMENT

 Administrators shall be able to create, edit, and delete course offerings.


 Course details such as title, description, prerequisites, and schedule shall be
stored and accessible.

5.4 ATTENDANCE TRACKING

 Teachers shall be able to record student attendance for each class session.
 The system shall provide options to mark students as present, absent, or late.
 Attendance records shall be maintained for future reference and reporting.

5.5 GRADING AND EVALUATION

 Teachers shall be able to enter and update grades for assignments, quizzes, and
exams.
 The system shall calculate overall course grades based on predefined grading
criteria.
 Students shall have access to view their grades for individual assessments and
overall courses.

28
5.6 SCHEDULE MANAGEMENT

 The system shall generate class schedules for teachers and students based on
enrolled courses.
 Schedule changes shall be accommodated, and affected parties shall be
notified promptly.

5.7 REPORTING

 Administrators shall be able to generate various reports such as student transcripts,


attendance summaries, and grade sheets.
 Reports shall be exportable in common formats such as PDF or CSV for easy
sharing and printing.

6. NON FUNCTIONAL REQUIREMENTS


6.1 PERFORMANCE

 The system shall be able to handle concurrent user access without significant
performance degradation.
 Response times for user interactions shall be within acceptable limits, even during
peak usage hours.

6.2 SECURITY

 User authentication and authorization mechanisms shall be implemented to ensure


data confidentiality and integrity.

 Access to sensitive information shall be restricted based on user roles and


permissions.

6.3 RELIABILITY

 The system shall have built-in mechanisms for data backup and recovery to
prevent data loss in case of system failures.
 It shall be designed to minimize downtime and ensure continuous availability
during operation.

6.4 USABILITY

 The user interface shall be intuitive and easy to navigate, requiring minimal
training for users to perform tasks efficiently.
 Accessibility features shall be incorporated to accommodate users with disabilities.

7. CONSTRAITS
 The system shall be developed using [specific technology stack or rogramming
languages].
29
 It shall adhere to relevant data protection regulations such as GDPR or HIPAA.
 Compatibility with modern web browsers and mobile devices shall be ensured.

UML DIAGRAMS

USE CASE
A use case is a written description of how users will perform tasks on your website.
It outlines, from a user's point of view, a system's behavior as it responds to a
request. Each use case is represented as a sequence of simple steps, beginning with
a user's goal and ending when that goal is fulfilled.

CLASS DIAGRAM

A class diagram in the Unified Modeling Language (UML) is a type of static


structure diagram that describes the structure of a system by showing the system's
classes, their attributes, operations (or methods), and the relationships among
objects

30
ACTIVITY DIAGRAM
An activity diagram is a type of Unified Modeling Language (UML) flowchart that
shows the flow from one activity to another in a system or process. It's used to
describe the different dynamic aspects of a system and is referred to as a 'behavior

31
SEQUENCE DIAGRAM
Sequence diagram' because it describes what should happen in the modeled
system. Sequence diagram consists of a group of objects that are represented by
lifelines, and the messages that they exchange over time during the interaction. A
sequence diagram shows the sequence of messages passed between objects.
Sequence diagrams can also show the control structures between objects.

• PUBLISH RESULT

32
 VIEW COURSE DETAILS

 UPLOADING DETAILS

33
COLLABORATION DIAGRAM
A collaboration diagram, also known as a communication diagram, is an
illustration of the relationships and interactions among software objects in the
Unified Modeling Language (UML). Developers can use these diagrams to portray
the dynamic behavior of a particular use case and define the role of each object.

 PUBLISH RESULT

 VIEW COURSE DETAILS

34
 UPLOADING DETAILS

STATE DIAGRAM
State diagrams are used to give an abstract description of the behavior of a system.
This behavior is analyzed and represented by a series of events that can occur in
one or more possible states.

35
COMPONENT DIAGRAM
A component diagram, also known as a UML component diagram, describes the
organization and wiring of the physical components in a system. Component
diagrams are often drawn to help model implementation details and double-check
that every aspect of the system's required functions is covered by planned
development.

PACKAGE DIAGRAM

Package diagrams are structural diagrams used to show the organization and
arrangement of various model elements in the form of packages. A package is a
grouping of related UML elements, such as diagrams, documents, classes, or even
other packages.

36
 DEPLOYMENT DIAGRAM

A deployment diagram shows components and artifacts in relation to where they


are used in the deployed system. A component diagram defines the composition of
components and artifacts in the system. Note: Deployment diagrams are distinct
from deployment topologies, a different type of model.

37
 MAPPING DESIGN TO CODE

import java.util.Vector;

public class Admin { public String name; public Integer id;

public Vector *;
public Examination maintains; public Staff hires;

private void publish result() {


}

public void add / modify teacher() {


}

public void add / modify student() {


}

public void maintain student records() {


}

public void update college info() {


}

import java.util.Vector; public class course notes { public Integer Id;

public String name; public String department;

public Vector mydatabase; public Vector mydatabase; public Vector *;’


public Staff uploads;
public void List of subjects() {

public void syllabus() {


}

38
import java.util.Vector; public class database { public string name;

public Vector *; public Vector *;


public Vector mycourse notes; public Vector mycourse notes; public Vector *;
public Vector maintain; public Vector upload;

public void stores() {


}

import java.util.Vector; public class Examination { private Integer seat no; public

String exam name; public date date;

public Vector myAdmin; public database upload;

public void no of students() {

public void subject name() {


}

public void Question paper type() {


}

import java.util.Vector;

public class Staff { public string name;

public Integer id; public Integer phno;

public Vector *; public Admin *; public Vector *;


public database maintain;

public void upload student marks() {


}

39
public void upload student attendance() {
}

public void publish course notes() {


}

import java.util.Vector; public class Student { public String Name; public Integer

Id;

public Integer Phno; public String Address; public date dob;

public Staff *; public Vector *;

public void result() {


}

public void hallticket() {


}

public void view course info() {


}

RESULT:

All the UML diagrams for student management system were drawn and
verified successfully.

40
EX.NO:
LIBRARY MANAGEMENT SYSTEM
DATE:

AIM:
To manage the details of the student,books,issues, Librarian,members.

PROBLEM STATEMENT:
Conventional libraries are having difficulty integrating various formats,
including multimedia and e-resources, because of outdated management systems.
Inefficient cataloguing, resource tracking bottlenecks, and a lack of analytics tools
hinder librarians from optimizing collections and improving user experiences. To
close the gap, libraries require a modern library management system with an
intuitive interface, effective cataloguing, and analytics capabilities to resurrect
libraries as vibrant centres of knowledge and community involvement in the digital
era.

SOFTWARE REQUIREMENT SPECIFICATION:


INTRODUCTION:
A Library Management System (LMS) is a software application that simplifies
and automates the operations of libraries. It is a complete system for managing
library duties such as purchases, member management, monitoring, storing, and
circulation. The primary objective of an LMS is to properly organize and manage
the resources available in a library, making it easier for librarians to conduct
everyday operations and create a user-friendly experience for users.

PURPOSE:
The main objective of this document is to illustrate the requirements of the
project Library Management system. The document gives the detailed description
of the both functional and non-functional requirements proposed by the client. The
purpose of this project is to provide a friendly environment to maintain the details
of books and library members also this project maintains easy circulation system
using computers and to provide different reports.

41
It describes the hardware and software interface requirements using ER Models
and UML diagrams.

SCOPE OF THE PROJECTS:

Library Management System is basically updating the manual library system


into an internet-based web application so that the users can know the details of
their accounts, availability of books and maximum limit for borrowing and many
more features.
The project is specifically designed for the use of librarians and library users.
The product will work as a complete user interface for library management
process and library usage from ordinary users. Library Management System can
be used by any existing or new library to manage its books and book borrowing,
insertion and monitoring. It is especially useful for any educational institute where
modifications in the content can be done easily according to requirements.
The project can be easily implemented under various situations. We can add
new features as and when we require, making reusability possible as there is
flexibility in all the modules. The language used for developing the project is
Html, Bootstrap and php and mysql for backend. In terms of performance, tools
available, cross platform compatibility, libraries, cost (freely available), and
development process these languages are pretty compatible.

AUTHENTIACTION AND AUTHORIZATION SYSTEM:

The system implements a secure login mechanism for users, and


administrators. The admin has the authority to manage user access and ensure
data integrity.

FOR USERS:

We will have following features for a User:

1. New User Registration:


• This feature allows new users (students, teachers, etc.) to sign up for the
system by providing the necessary details

2. Student Login:

• This feature Provides authenticated access for registered users to use the
system.

42
3. Search Book:
• This feature allow users to search for books based on criteria such as book
ID, book name, or author name, enhancing the ease of locating desired
materials.

4. Issue Book:
• This feature allow users in borrowing books from the library by recording
the transaction and updating the availability status.

5. Return Book:
• This feature allows users to return books either before the due date or after
the specified time with a late fine, ensuring proper management of
borrowed materials.

FOR ADMINS:

1. Record Library Activities:


• This feature allows librarians to enter various records into the system, such
as book issuances, returns, and non-availability of books.

2. Manage Books:
• This feature allow librarians to keep track of the library’s books by adding
new books or removing them.

3. Manage Student:
• This feature allow librarians to keep track of number of students and their
details.

4. View Issued Books:


• This feature allows librarians to view all Issued books with their status.

5. Defaulter List:
• This feature allows librarians to show the details of the student who did not
return the books before the deadline.
6. Issue Book:
• This feature allow users in borrowing books from the library by recording
the transaction and updating the availability status.

43
OBJECTIVE:

The objective of the Library Management System (LMS) project is to design


and implement an efficient and user-friendly system that automates the various
tasks associated with managing a library.

TECHNOLOGIES USED:

Here we are developing a Library Management System (LMS) using


HTML, Bootstrap for the frontend, and MySQL, PHP, and JavaScript for
the backend involves a structured methodology.

PRODUCT PERSPECTIVE:

LMS is a replacement for the ordinary library management systems which


depend on paper work for recording book and users’ information. LMS will
provide an advanced book search mechanism and will make it easy to borrow,
insert and index a book in the library.

PRODUCT FUNCTIONS:

The proposed Library Management System (LMS) is designed to simplify the


day-to-day activities of a library, providing features for both users and
administrators.

USECASE DIAGRAM:
A use case diagram for library management system inUMLis considered a
UML behavioral illustration. It shows the interactions and relationships between
the user and the software. Therefore, describing a library management is much
easier through a use case diagram.

44
CLASS DIAGRAM:

Class diagrams reveal the class structure blueprint of the Library Management
System. It is used to model the items that make up the system and depict their
relationships. This is to define the function of an object and the operation it
provides.

45
ACTIVITY DIAGRAM:

This is the Activity UML diagram of Library Management System which


shows the flows between the activity of Librarian, Student, Issues, Books, Address

46
SEQUENCE DIAGRAM:

The Sequence Diagram for Library Management System represents the


scenario and the messages that must be passed between objects. This is done for
the scenario’s functionality to be realized. It’s an interaction diagram that shows
how activities are carried out, including when and how messages are sent.

47
COLLABRATION DIAGRAM:

A collaboration diagram, also known as a communication diagram, Developers


can use these diagrams to portray the dynamic behavior of a particular use case
and define the role of each object.

48
49
STATE CHART DIAGRAM:

From log-in to exit, this state diagram. If you simply follow the arrows, they
will point you in the right direction. Use it properly and you will quickly find your
way through it.

COMPONENET DIAGRAM:

A library management system component diagram. They could be a database,


a user interface, or anything else that aids the operation of the library management
system. The table displays the basic details of the library system's component
diagram.

50
DEPLOYMENT DIAGRAM:

A library management system component diagram. They could be a database,


a user interface, or anything else that aids the operation of the library management
system

MAPPING DESIGN TO CODE:

user id and password.java

import java.util.Vector;

51
public interface user id and password
{
public Vector issues;
public Vector create;
public void search();
}
accounts.java
import java.util.Vector;
public interface accounts
{
public Vector create;
public void calculateprice();
public void calculatefine();
}
library.java
import java.util.Vector;
public interface library
{
public Vector issues;
public Vector manages;
public Vector maintain;
public void login();
public void logout();
}
books.java
import java.util.Vector;
public interface books

52
{
public Vector manages;
public void showbook();
public void showprice();
}
librarian.java
import java.util.Vector;

public interface librarian

public Vector maintain;

public void search();

public void addbook();

private void book();

public void issuebook();

public void deletebook();

public void sendemail();

Result:

All the UML diagrams for library management system are drawn and verified
successfully.

53
EX.NO:
EXAM REGISTRATION SYSTEM
DATE:

AIM:

To develop a software Exam Registration System.

PROBLEM STATEMENT:

The main objective of Exam Registration System is to make applicants register


themselves and apply for the exam. Exam Registration System provides easy
interface to all users to apply for exam easily. The Exam Registration is an
application in which applicant can register themseleves for the exam. The details
of the students who have registered for the examination will be stored in database
and will be maintained. The registered details can then be verified for any
fraudulent or duplication and can be removed if found so. The database which is
verified can be used to issue hall ticket and other necessary materials to the eligible
students.
The process of student accessing the registration application and applying for the
examination by filling out the form with proper details and then the authorities
verify those details given for truth and correctness are sequenced through steps
a. The students access exam registration application.
b. They fill out the form with correct and eligible details
c. They complete the payment process.
d. The authorities verify or check the details.
e. After all verification the exam registration database is finalized.

SRS (SOFTWARE REQUIREMENTS SPECIFICATIONS)

1. Introduction

The Exam Registration System is designed to facilitate the registration


process for exams conducted by educational institutions or examination boards.
This system aims to streamline the registration process for both students and
administrators, ensuring efficiency, accuracy, and ease of use.

54
2. Scope

The Exam Registration System will allow students to:

- Register for exams

- View exam schedules

- Make exam fee payments

- Receive notifications regarding exam-related updates Administrators will be

able to:

- Add/edit/delete exams

- Manage exam schedules

- Generate reports on exam registrations and payments

- Send notifications to students

3. Functional Requirements

3.1 Student Module

1. Registration: Students can register for exams by providing necessary


personal information (name, ID, contact details).

2. Exam Selection: Students can select the exams they wish to register for
from a list of available exams.

3. Payment: Students can make exam fee payments securely through


integrated payment gateways.

4. View Hall ticket: Students can view exam hall ticket to plan their study and
exam preparation.

3.2 Administrator Module

1. Manage Exams: Administrators can add, edit, or delete exams, including


details such as exam name, date, time, venue, and registration deadline.

2. Manage Schedules:Administrators can manage exam schedules, including


assigning exam venues and allocating resources.

55
3. Monitor Registrations: Administrators can view and monitor exam
registrations, including the number of registered students for each
exam.

4. Manage Payments: Administrators can track exam fee payments and


handle any payment-related issues.

5. Generate Reports: Administrators can generate reports on exam


registrations, payments, and other relevant data for analysis and
planning.

6. Send Notifications: Administrators can send notifications to students


regarding exam-related updates, reminders, or announcements.

4. Non-Functional Requirements

1. Security: The system must ensure the security and confidentiality of student
data and payment information.
2. Performance:The system should be able to handle a large number of
concurrent users without significant performance degradation.

3. Usability: The system should have an intuitive user interface and


provide clear instructions to users.

4. Reliability: The system should be reliable and available 24/7, with minimal
downtime for maintenance.

5. Accessibility: The system should be accessible to users with disabilities,


following accessibility guidelines and standards.

5. Constraints

- The system must comply with relevant data protection regulations.

- The system should support multiple languages to cater to a diverse user base. -

- The system should be compatible with various devices and browsers for
seamless user experience.

56
6. Assumptions and Dependencies

- The availability and reliability of internet connectivity for both students and
administrators.

- Integration with third-party payment gateways for secure transactions.

7. Glossary

- SRS: Software Requirements Specification

- ID: Identification

- GDPR: General Data Protection Regulation

UML DIAGRAMS USE CASE

A use case is a written description of how users will perform taskew, a system's
behavior as it responds to a request. Each use case is represented as a sequence of
simple steps, beginning with a user's goal and ending when that goal is fulfilled.

57
CLASS DIAGRAM

A class diagram in the Unified Modeling Language (UML) is a type of static


structure diagram that describes the structure of a system by showing the
system's classes, their attributes, operations (or methods), and the relationships
among objects.

ACTIVITY DIAGRAM
An activity diagram is a type of Unified Modeling Language (UML) flowchart
that shows the flow from one activity to another in a system or process. It's
used to describe the different dynamic aspects of a system and is referred to as
a 'behavior diagram' because it describes what should happen in the modeled
system.

58
⮚ SEQUENCE DIAGRAM
Sequence diagram consists of a group of objects that are represented by
lifelines, and the messages that they exchange over time during the interaction.
A sequence diagram shows the sequence of messages passed between objects.
Sequence diagrams can also show the control structures between objects.

● LOGIN

59
 STUDENT LOGIN

● HALL TICKET

60
COLLABORATION DIAGRAM

A collaboration diagram, also known as a communication diagram, is an


illustration of the relationships and interactions among software objects in the
Unified Modeling Language (UML). Developers can use these diagrams to
portray the dynamic behavior of a particular use case and define the role of each
object.

LOGIN

● STUDENT DETAILS

● UPLOADING DETAILS

61
STATE DIAGRAM

State diagrams are used to give an abstract description of the behavior of a system.
This behavior is analyzed and represented by a series of events that can occur in one
or more possible states.

COMPONENT DIAGRAM

A component diagram, also known as a UML component diagram, describes the


organization and wiring of the physical components in a system. Component
diagrams are often drawn to help model implementation details and double-check
that every aspect of the system's required functions is covered by planned
development .

62
PACKAGE DIAGRAM

Package diagrams are structural diagrams used to show the organization and
arrangement of various model elements in the form of packages. A package is a
grouping of related UML elements, such as diagrams, documents, classes, or even
other packages.

63
DEPLOYMENT DIAGRAM
A deployment diagram shows components and artifacts in relation to where they are
used in the deployed system. A component diagram defines the composition of
components and artifacts in the system. Note: Deployment diagrams are distinct
from deployment topologies, a different type of model.

MAPPING DESIGN TO CODE

import
java.util.Vector;
public class Course
List { public Integer
course code; public
String course title;
public Integer date of
reg; public Vector 6;
public Vector belong;

64
public Vector go through;
public void get course list() {
}
public void enter coures info() { }
public void reg course() {
}
}
import
java.util.Vector;
public class course {
public Integer course
code; public String
course title;
public Integer course units;
public Vector get course list;
public Vector belong;
public void get course list() {
}
public void entercourse info() {
}
public void add course() {
}
}
import
java.util.Vector;
public class
Examination { public
Integer course code;
public String course
title;

65
public Integer students userno;
public String student password
;
public String first name; public String last name; public String department;
public Vector take
part in; public Vector
go through;
public void get list of reg and course () {
}
public void participate in exam() {
}
}
import
java.util.Vector;
public class Student {
public String student
username; public Integer
student password; public
Integer first name;
public String
surname; public
Integer phone no;
public String
program; public
String dep;
public String college name;
public Integer
date; public
Vector 8;
public Vector get course list;

66
public Vector take

part in; public void

get student() {
}

public void enter student info() {


}

public void add newstudent() {


}

RESULT:

All the UML diagrams for exam registration were drawn and verified successfully.

67
EX.NO:
CREDIT CARD PROCESSING
DATE:

AIM:

To create a system to perform credit card processing.

PROBLEM STATEMENT:

Credit card processing through offline involves the merchant collecting order
information (including credit card numbers), storing this in a database on your site,
and entering it using them on-site merchant credit card processing system. It takes
time to manually enter credit card information for each order.
This solution creates the following problems:
 Insecure – there is a possibility that a skilled hacker could break into the DB
&steal data.
 There is a higher risk of customer charge backs with no signature
 Higher risk of fraud for using stolen credit cards
 Many discerning online shoppers will not give their credit card to an
“untrusted” online merchant (you may want to consider being part of the Better
Business Bureau or similar organization to add credibility).
 So, there is a need for online and trusted credit card processing.

SOFTWARE REQUIREMENT SPECIFICATION:

INTRODUCTION:

A credit card is a small plastic card issued to users as a system of payment. It allows
its holder to buy goods and services based on the holder's promise to pay for these
goods and services. The issuer of the card creates a revolving account and grants a
line of credit to the consumer (or the user) from which the user can borrow money
for payment to a merchant or as a cash advance to the user.
When a purchase is made the merchant swipes the card. The information goes to a
gateway processor, which either accepts or rejects the transaction. If it is accepted,
the transaction is held until the end of the business day. The merchant then reenters
the transaction via the gateway processor, the data is logged, and the debt is
transferred to the account. The use of an ATM for cash advances is a similar
process.

68
If you are selling to consumers, merchant services will allow you to expand
your customer base and provide a more convenient method of payment than
cash or checks. And if you are interested in selling over the Internet, accepting
credit card processing is a must.
Accepting credit cards allows funds to be transferred to your bank account in
less than a week. The two purchase options for Credit Card Processing facility
are:
• Validation only
• Credit card processing (which secures deposits at the time of booking)

PURPOSE:

When customers complete their shopping cart, their credit card is preauthorized,
and the order is entered into the Sales Order. Credit Card Processing dials out
and obtains a credit card payment. Within five minutes the customer receives an
e-mail receipt.

SCOPE:
 Automatically connects to your financial network for credit card
authorizations and settlements
 Integrates with Sales Order, Accounts Receivable, and e-Business
Manager Support for dial-up (modem) connections or secure Internet
connections through TCP/IP and SSL.
 Compliant with Visa and MasterCard Electronic Commerce Indicator
(ECI) regulations.

DEFINITIONS, ACRONYMS AND THE ABBREVIATIONS:


 Authorization service - The issuer of the card creates a revolving account
and grants a line of credit to the consumer (or the user) from which the user
can borrow money for payment to a merchant or as a cash advance to the
user.
 User- One who wishes to use the credit card.
 CCP - Refers to this Credit Card Processing.
 HTML - Markup Language used for creating web pages.
 J2EE – Java 2 Enterprise Edition is a programming platform java platform
for developing and running distributed java applications.
 HTTP - Hyper Text Transfer Protocol.
 TCP/IP –Transmission Control Protocol/Internet Protocol is the
communication protocol used to connect hosts on the Internet.

69
TECHNOLOGIES TO BE USED:
• HTML
• JSP
• JavaScript
• Java

TOOLS TO BE USED:
• Eclipse IDE (Integrated Development Environment)
• Rational Rose tool (for developing UML Patterns)

PRODUCT PERSPECTIVE:
This solution involves signing up for a free Business Account. Once this is done
and the e-commerce site is properly configured, you can accept payments from
Visa, MasterCard, Amex, and Discover cards payments.

SOFTWARE INTERFACE:
 Front End Client - The applicant and Administrator online interface is built
using JSP and HTML. The Administrators' local interface is built using
Java.
 Web Server - Glassfish application server (SQL Corporation).
 Back End - SQL database.

HARDWARE INTERFACE:
The server is directly connected to the client systems. The client systems have
access to the database on the server.
SYSTEM FUNCTIONS:
1. Accept credit card numbers on the web, store them in a database, then process
them off- line
2. Credit card processing with CCP
3. Credit card processing with a third-party credit card processing company.

USER CHARACTERISTICS:
1) User/Customer - They are the people who desire to purchase the goods using a
credit card.
2) Authorization Service
• Validate the credit card payments to ensure that the card number is valid, and
the card has not expired
• Deposit processing to apply the deposit payment to the card
• Prepare Credit card transaction reports that show authorization codes, amounts,
and error/success messages
70
ASSUMPTIONS AND DEPENDENCIES:
• The Applicant and Administrator must have basic knowledge of computers and
English Language.

(I) USECASE DIAGRAM:

• A use case is a technique used in software and system engineering to


capture, model, and specify the requirements of a system. It describes how a
user interacts with a system or product to achieve a specific goal.

(II) CLASS DIAGRAM:

The class diagram, also referred to as object modeling, is the main static
analysis diagram. The main task of object modeling is to graphically show what

71
each object will do in the problem domain.

72
(III) ACTIVITY DIAGRAM

An activity diagram is a type of UML that is known as a behavior diagram.


This diagram shows the flow of interaction between the system and clients. This
is done by helping them visualize the system’s functionality in various degrees
of detail.

73
(IV) SEQUENCE DIAGRAM:

• A sequence diagram is a type of Unified Modeling Language (UML)


model used to depict interactions and communication between objects or
components in a system.

74
(III) COLLABORATION DIADRAM:
The collaboration diagram is used to show the relationship between the
75
objects in a system. Both the sequence and the collaboration diagrams represent
the same information but differently

76
(IV) COMPONENT DIADRAM:
A component diagram is used to break down a large object-oriented system
into the smaller components, so as to make them more manageable. It models the
physical view of a system such as executables, files, libraries, etc. that resides
within the node.

(V) DEPLOYMENT DIAGRAM:

The deployment diagram visualizes the physical hardware on


which the software will be deployed. It portrays the static deployment view of a
system. It involves the nodes and their relationships.

(VI) PACKAGE DIAGRAM:

Package diagram can show both structure and dependencies between sub-
systems or modules, showing different views of a system, for example, as multi-
77
layered (aka multi-tiered) application - multi-layered application model.

(X) STATECHART DIAGRAM:

The state machine diagram is also called the Statechart or State


Transition diagram, which shows the order of states underwent by an object
within the system. It captures the software system's behavior

78
(XI) MAPPING DESIGN TO CODE

public class Banker {

public Integer bid;

public String bname;

public String bbranch;

public Customer creditor;

public void credit() {


}

public void verify() {


}

public void update() {


}

}
import java.util.Vector;

public class Credit card details {

public String name;

public Integer pinno;


public String duration;
public Vector myCredit card;
public Vector myCredit card;
public Vector aggregates;

public void automate() {


}

79
}
import java.util.Vector;
public class Credit card {

public Integer code;

public String owner;

public Integer date;

public String status;

public Customer manages;


public Vector myCredit card details;
public Vector aggregates;

public void create() {


}

public void update() {


}

public void terminate() {


}

}
public class Customer {

public Integer cid;

public String cname;

public String caddress;

public Integer cardno;

public String cemail;

public Banker creditor;


80
public Retailer consumes;

public Credit card manages;

public void billpayment() {


}

public void purchase() {


}
}

public class Retailer {

public Integer rid;

public String rname;

public Integer rphone;

public String email;

public Customer consumes;

public void validate() {


}

public void billing() {


}
}

RESULT:

All the UML diagrams for credit card processing were drawn and verified
successfully.

81
EX.NO:
STOCK MAINTENANCE SYSTEM
DATE:

AIM:
The aim of the project is to implement the STOCK MAINTENANCE SYSTEM
to manage the entire details of the stock system in an automated way.

PROBLEM STATEMENT:
A problem statement is a concise description of the issue that need to be
addressed by a problem solving team and should be presented to them (or created
by them) before they try to solve the problem. When bringing together a team to
achieve a particular purpose provide them with a problem statement.
The main purpose of the stock maintenance system is to manage the entire
details of the stock system in an automated way. The stocks which are purchased
from the various dealers and suppliers are stored in the store keeper and their
entries are recorded into the database. The software system provides facilities for
adding new item, removing an item, updating the stock , calculating the turn over,
sales amount, total number of stocks. It also involves purchasing of stocks by the
customers.

SOFTWARE REQUIREMENTS SPECIFICATION:

INTRODUCTION:
The Stock Maintenance System (SMS) is a software solution designed to
manage and track inventory levels, transactions, and related activities within a
retail or warehouse environment. This document outlines the functional and non-
functional requirements of the SMS, providing a comprehensive understanding of
its features, capabilities, and constraints.

SCOPE:
The SMS encompasses functionalities related to stock management, including
inventory control, purchase order processing, stock tracking, and reporting. It aims
to provide an efficient and user-friendly platform for inventory managers, stock
clerks, and other personnel involved in inventory management processes.

82
FUNCTIONAL REQUIREMENTS:

USER MANAGEMENT:
 The system shall support multiple user roles such as administrator, manager,
stock clerk, and auditor.
 Administrators shall be able to add, edit, and delete user accounts.

 Users shall be required to authenticate themselves before accessing the system.

INVENTORY MANAGEMENT:
 The system shall maintain a centralized database of all stock items, including
details such as item code, description, quantity on hand, cost, and selling
price.
 Users shall be able to add new items, update existing ones, and
deactivate discontinued items.
 The system shall support categorization and tagging of items for easy
organization and retrieval.

PURCHASE ORDER PROCESSING:

 Users shall be able to create purchase orders for replenishing stock levels.
 Purchase orders shall include details such as supplier information,
item quantities, expected delivery dates, and payment terms.
 The system shall generate purchase order numbers and maintain a history of
all purchase transactions.
STOCK TRACKING:
 The system shall track stock movements, including receipts, transfers,
adjustments, and sales.
 Users shall be able to perform stock inquiries to check the availability
and location of specific items.

 Stock levels shall be updated in real-time to reflect transactions accurately.

SALES MANAGEMENT:

 The system shall support sales transactions, including point-of-sale (POS)


transactions and order fulfillment.

83
 Users shall be able to create sales orders, process payments, and generate
invoices for completed sales.
 Sales records shall include details such as customer information, item
quantities, prices, and payment methods.

REPORTING:
 The system shall provide various reports and analytics related to stock levels,
sales performance, inventory turnover, and profitability.
 Reports shall be customizable and accessible to authorized users based on
their roles and permissions.
 Export options shall be available for exporting reports in formats such as
PDF, CSV, or Excel.

NON-FUNCTIONAL REQUIREMENTS:
PERFORMANCE:
 The system shall be able to handle large volumes of data and concurrent user
 access without significant performance degradation.
 Response times for user interactions shall be within acceptable limits,
even during peak usage periods.

SECURITY:
 User authentication and authorization mechanisms shall be implemented
to ensure secure access to the system.
 Access to sensitive functionalities and data shall be restricted based on user
roles and permissions.
 The system shall encrypt sensitive data such as user credentials and
transaction records to prevent unauthorized access.

RELIABILITY:
 The system shall be highly available and resilient to minimize downtime
and ensure continuous operation.

84
 It shall have mechanisms for data backup and recovery to prevent data
loss in case of system failures or disasters.

USABILITY:
 The user interface shall be intuitive and easy to navigate, requiring
minimal training for users to perform tasks efficiently.

 Accessibility features shall be incorporated to accommodate users


with disabilities.

CONSTRAINTS:
 The system shall be developed using [specific technology stack or
programming languages].
 It shall comply with relevant regulations and standards related to
inventory management and data privacy.

 Compatibility with modern web browsers and mobile devices shall be ensured.

This Software Requirements Specification document serves as a foundation for


the development and implementation of the Stock Maintenance System, ensuring
that the final product meets the needs and expectations of its users and
stakeholders.

UML DIAGRAMS:

USE CASE DIAGRAM:

A use case is a written description of how users will perform tasks on your
website. It outlines, from a user's point of view, a system's behavior as it responds
to a request. Each use case is represented as a sequence of simple steps, beginning
with a user's goal and ending when that goal is fulfilled.

85
CLASS DIAGRAM:

A class diagram in the Unified Modeling Language (UML) is a type of static


structure diagram that describes the structure of a system by showing the system's
classes, their attributes, operations (or methods), and the relationships among
objects.

86
ACTIVITY DIAGRAM:

An activity diagram is a type of Unified Modeling Language (UML) flowchart


that shows the flow from one activity to another in a system or process. It's used
to describe the different dynamic aspects of a system and is referred to as a
'behavior diagram' because it describes what should happen in the modeled
system.

SEQUENCE DIAGRAM:

Sequence diagram consists of a group of objects that are represented by


lifelines, and the messages that they exchange over time during the interaction. A
sequence diagram shows the sequence of messages passed between objects.
Sequence diagrams can also show the control structures between objects.

87
REQUEST PRODUCT:

PAY FOR STOCK:

88
SHIP PRODUCT:

SUPPLY GOODS:

89
COLLABRATION DIAGRAM:

A collaboration diagram, also known as a communication diagram, is an


illustration of the relationships and interactions among software objects in the
Unified Modeling Language (UML). Developers can use these diagrams to
portray the dynamic behavior of a particular use case and define the role of each
object.

REQUEST PRODUCT:

PAY FOR STOCK:

90
SHIP PRODUCT:

SUPPLY GOODS:

STATE CHART DIAGRAM:

State diagrams are used to give an abstract description of the behavior of a


system. This behavior is analyzed and represented by a series of events that can
occur in one or more possible states.

91
PACKAGE DIAGRAM:

Package diagrams are structural diagrams used to show the organization and
arrangement of various model elements in the form of packages. A package is a
grouping of related UML elements, such as diagrams, documents, classes, or even
other packages.

92
COMPONENT DIAGRAM:

A component diagram, also known as a UML component diagram, describes


the organization and wiring of the physical components in a system. Component
diagrams are often drawn to help model implementation details and double-check
that every aspect of the system's required functions is covered by planned
development.

DEPLOYMENT DIAGRAM:

A deployment diagram shows components and artifacts in relation to where


they are used in the deployed system. A component diagram defines the
composition of components and artifacts in the system. Note: Deployment
diagrams are distinct from deployment topologies, a different type of model.

93
MAPPING DESIGN TO CODE:

Shipment.java

import java.util.Vector;

public class shipment

public Integer id;

public string name;

public string details;

public integer date;

public string confirmation;

public Vector maintain;

public Vector ship;

public void update() {

94
}

database.java
import java.util.Vector;
public class database
{
public string name;
public Vector maintain;
public Vector update;
public Vector information;
public Vector check;
public Vector maintain;
public Vector update;
public void store() {
}
}

customer.java
import java.util.Vector;
public class customer
{
public string name;
public Integer id;
public string address;
public Vector update;
public Vector deliver;
public Vector request;

95
public void stock_order() {
}
public void payment)() {
}
public void receive() {
}
}

admin.java
import java.util.Vector;
public class admin
{
public Integer id;
public string username;
public string password;
public Vector information;
public Vector request;
public Vector contact;
public Vector manages;
public void create() {
}
}

product.java
import java.util.Vector;
public class product
{

96
public integer id;
public Integer name;
public string price;
public string detail;
public Vector check;
public Vector ship;
public Vector supply;
public void update() {
}
}

supplier.java
import java.util.Vector;
public class supplier
{
public Integer id;
public Integer name;
public Integer details;
public Vector update;
public Vector deliver;
public Vector supply;
public Vector contact;
public void export() {
}
public void import() {
}
}

97
stocks.java
import java.util.Vector;
public class stocks
{
public integer id;
public string name;
public string details;
public Vector maintain;
public Vector manages;
public void maintain() {
}
public void update() {
}
}

RESULT:
All the UML diagrams for stock maintenance system are drawn and verified
successfully.

98

You might also like