Documente Academic
Documente Profesional
Documente Cultură
TABLE OF CONTENTS
Chapters
1
3
4
5
6
Contents
Introduction
1.1 Applications
1.2 Analysis
1.3 Objectives
List of UML Diagrams
2.1 Class Diagram
2.2 Object Diagram
2.3 Use Case Diagram
2.4 Sequence Diagram
2.5 Collaboration Diagram
2.6 Activity Diagram
2.7 State Chart Diagram
2.8 Deployment Diagram
2.9 Component Diagram
Data Bases Used in Library Management
Forward and Reverse Approach
Future Scope
Conclusion
Page No.
02
03
03
04-09
09-11
11-14
14-17
18-20
21-24
25-28
29-30
31-33
34-35
36-38
40
40
TABLE OF CONTENTS
Chapters
1
Contents
Introduction
1.1 Purpose
Modules
2.1 Admin
2.2 Company
2.3Job Seeker
Databases Used in Job Portal
List of UML Diagrams
4.1 Class Diagram
4.2 Object Diagram
4.3 Use Case Diagram
4.4 Sequence Diagram
4.5 Collaboration Diagram
4.6 Activity Diagram
4.7 State Chart Diagram
4.8 Deployment Diagram
4.9 Component Diagram
3
4
Page No.
42
42
43
43
44
INTRODUCTION
Unified Library Application System emphasizes on the online reservation, issue
and return of books. This system globalizes the present library system. Using this
application the member can reserve any book from anywhere in the world. Library
management system is a project which aims in developing a computerized system to maintain
all the daily work of library .This project has many features which are generally not available
2
in normal library management systems like facility of user login and a facility of teachers
login .It also has a facility of admin login through which the admin can monitor the whole
system. It has also a facility where student after logging in their accounts can see list of books
issued and its issue date and return date and also the students can request the librarian to add
new books by filling the book request form. The librarian after logging into his account i.e.
admin account can generate various reports such as student report, issue teacher and book
report.
TEXTUAL ANALYSIS
(a) ACTORS
i. Librarian
ii. Borrower
(b) VERBS
i. Borrower:
1. Logs into the system
2. Browses/searches for books or magazines
3. Makes/removes reservation
3
4. Views results and reports from the unified library application system
ii. Librarian:
1. Manages and validates members
2. View reports from the system
3. Issues books
4. Calculates dues
5. Takes books
6. Maintains list of books and magazine
1.
2.
3.
4.
5.
6.
7.
8.
9.
Class Diagram
Object Diagram
Use case Diagram
Sequence Diagram
Collaboration Diagram
Activity Diagram
State chart Diagram
Deployment Diagram
component Diagram
CLASS DIAGRAM:
Class diagrams is the main building block of any object oriented solution. It shows the
classes in a system, attributes and operations of each class and the relationship between
each class. In most modeling tools a class has three parts, name at the top, attributes in the
middle and operations or methods at the bottom. In large systems with many related
classes, classes are grouped together to create class diagrams. Different relationships
between classes are shown by different types of arrows. Class diagrams are the most
common diagram found in modeling object-oriented systems. A class diagram shows a set
of classes, interfaces, and collaborations and their relationships. You use class diagrams to
model the static design view of a system. For the most part, this involves modeling the
vocabulary of the system, modeling collaborations, or modeling schemas.
Class diagrams are also the foundation for a couple of related diagrams: component
diagrams & deployment diagrams. Class diagrams are important not only for visualizing,
specifying, and documenting structural models, but also for constructing executable
systems through forward and reverse engineering.
The components are:
a) Class
b) Relationship:
The forms of relationship are:
1. Association
2. Generalization
3. Dependency
1. Association
Role
Multiplicity
Aggregation.
2.
Generalization
Generalizations are "is-a-kind-of" relationship. It connect generalized classes to morespecialized ones in what is known as subclass/super class or child/parent relationships.
A child inherits the properties of its parents, their attributes and operations. Often, the
child has attributes and operations in addition to those found in its parents.
3. Dependency
Dependencies are using relationships.
Dependencies are used to show that one class uses another class as an argument in the
signature of an operation.
Dependencies are very much a using relationship - if the used class changes, the
operation of the other class may be affected, because the used class may now present
a different interface or behavior.
6
Types of Relationships:
1.
2.
3.
4.
Drawing Classes
Classes define the attribute values carried by each symbol instance and the operations that
each symbol performs or undergoes. When representing a class, you:
VISIBILITY
To specify the visibility of a class member (i.e., any attribute or method), these notations
must be placed before the member's name
+
Public
Private
Protected
Notation
Description
Derived
(can be combined with
one of the
others)
Class name
Package
A class is a classifier which describes a set of objects that
share the same
Class name
Attributes
Operations
Librarian: To maintain and update the records and also to cater the needs of the users
Reader: Need books to read and also places various requests to the librarian.
Vendor: To provide and meet the requirement of the prescribed books.
Classes identified:
1. Library
2. Librarian
3. Books Database
4. User
5. Vendor
OBJECT DIAGRAM:
Object Diagrams, sometimes referred as Instance diagrams are very similar to class diagrams.
As class diagrams they also show the relationship between objects but they use real world
examples. They are used to show how a system will look like at a given time. Because there
9
is data available in the objects they are often used to explain complex relationships between
objects. Object diagrams model the instances of things contained in class diagrams. An object
Diagram shows a set of objects and their relationships at a point in time. You use object
diagrams to model the static design view or static process view of a System. This involves
modelling a snapshot of the system at a moment in time and rendering a set of objects, their
state, and their relationships. Object diagrams are not only important for visualizing,
specifying, and documenting structural models, but also for constructing the static aspects of
systems through forward and reverse engineering.
Object diagrams commonly contain
Objects
Links
Object name:
Manages
Librarian
Lib_name=ABC
Search=10
Manage
B1: Book
F: Search
B_name=
Searching=
Booked=
Issue/return book
ID=
Manages
B2: Book
S1: Student
B_name=
Student_name=
Booked=
Issue/return
Student_id=
10
Use case diagrams gives a graphic overview of the actors involved in a system,
different functions needed by those actors and how these different functions are
interacted. Use case diagram comprises of use cases and actors such that there
would be various kinds of relationships among the use cases and the actors. A use
case diagram shows all the actions that a particular actor needs to perform
11
throughout the system at every and any point of time. There would be only one use
case diagram per each system. A use case specifies the behaviour of a system or a
part of a system
Use case is a description of a set of sequences of actions and variants that a system
performs to yield an observable result of value to an actor.
Use cases
Actors
Packages, which are used to group elements of the model into larger chunks.
Description
12
13
14
SEQUENCE DIAGRAM
This diagram, as the name suggests, contains the sequence of flow of actions that are
processed through a system and the life lines of the entities, when and how are they accessed.
It also contains the security features like which entity can process which entity and which one
is visible, etc. There can be many number of sequence diagrams per each activity being done.
15
Actor
Object
Messages
Lifeline
Focus of Control
Objects/classes
Messages
Sequence
Conditional
Repetition
Messages to self
Description
Execution
16
Delete message .
17
Register
Login
Search a book
Request for issue book
View history
Request to the Librarian
Unregister
COLLABORATION DIAGRAM
18
This diagram is a polymorphic form of the sequence diagram in which the representation is
different but application is the same. If we are able to create one sequence diagram, then its
very simple to create its collaboration diagram with a single key click that varies from
software to software. There can be many number of collaboration diagrams per each activity
being done because there can be many number of sequence diagrams. Collaboration diagram
displays object interactions organized around objects and their links to one another.
Multi object
Title:
Conditional messages
- Conditional messages mean that under certain conditions the message will be sent
and under other conditions it wont
- The message is sent when the condition in the square brackets is true
Repetitive messages
- The message repeats while the condition in the square brackets is true
Notation
Objects/classes
Messages
Sequence
Conditional
Repetition
Messages to self
Symbol
Object:
The objects interacting with each other in the system. Depicted
by a rectangle with the name of the object in it, preceded by a
colon and underlined.
Relation/Association:
A link connecting the associated objects. Qualifiers can be
placed on either end of the association to depict cardinality.
Messages:
An arrow pointing from the commencing object to the
destination object shows the interaction between the objects.
The number represents the order/sequence of this interaction.
20
21
ACTIVITY DIAGRAM:
This diagram denotes the structural flow of the activities in the form of flow chart with
decision boxes enhanced and hence is also used for troubleshooting like raising exceptions
when a particular action is done and the alternative to be done when something abnormal is
done. There can be only one activity diagram for the entire system including all the activities
that a system can perform.
Activity diagrams represent workflows in an graphical way. They can be used to describe
business workflow or the operational workflow of any component in a system. Sometimes
activity diagrams are used as an alternative to State machine diagrams. Check out this wiki
article to learn about symbols and usage of activity diagrams. Activity diagram shows the
flow of events within our system.
Start State
End State
Transition
Decision Box
Synchronization Bar
Swim Lane
The start symbol represents the beginning of a process or workflow in an activity diagram. It
can be used by itself or with a note symbol that explains the starting point.
The activity symbol is the main component of an activity diagram. These shapes indicate the
activities that make up a modeled process.
22
The connector symbol is represented by arrowed lines that show the directional flow, or
control flow, of the activity. An incoming arrow starts a step of an activity; once the step is
completed, the flow continues with the outgoing arrow
The join symbol, or synchronization bar, is a thick vertical or horizontal line. It combines two
concurrent activities and re-introduces them to a flow where only one activity occurs at a
time.
activity
A fork is symbolized with multiple arrowed lines from a join. It splits a single
flow into two concurrent activities.
The decision symbol is a diamond shape; it represents the branching or merging of various
flows with the symbol acting as a frame or container.
The note symbol allows the diagram creators or collaborators to communicate additional
messages that don't fit within the diagram itself.
The receive signal symbol demonstrates the acceptance of an event. After the event is
received, the flow that comes from this action is completed.
The send signal symbol means that a signal is being sent to a receiving activity, as seen
above.
The shallow history pseudostate symbol represents a transition that invokes the last active
state.
The option loop symbol allows the creator to model a repetitive sequence within the option
loop symbol.
The flow final symbol shows the ending point of a process' flow. While a flow final symbol
marks the end of a process in a single flow, an end symbol represents the completion of all
flows in an activity.
The end symbol represents the completion of a process or workflow.
23
Issue Book
Return Book
24
State machine diagrams are similar to activity diagrams although notations and usage
changes a bit. They are sometime known as state diagrams or start chart diagrams as well.
These are very useful to describe the behavior of objects that act different according to the
state they are at the moment. Below State machine diagram show the basic states and actions.
State chart diagram show a life cycle of a single class. The state is a condition where the
object may be in. States are represented by rectangles with rounded corners. Each state is
labelled with a state name. States may also be labelled with an activity.
The components are:
a) Start state
b) End state
c) State
d) Transition
* Idle
26
3. Entry point
4. Exit point
27
6.
7. Source states to the bar. A transition string may be shown near the bar.
8. Final state.
28
29
DEPLOYMENT DIAGRAM
A deployment diagrams shows the hardware of your system and the software in
those hardware. Deployment diagrams are useful when your software solution is
deployed across multiple machines with each having a unique configuration.
Below is an example deployment diagram. Deployment diagram is employed when
we need to deploy the application we developed. A single deployment diagram is
possible for a single system. A deployment diagram shows the configuration of
run-time processing nodes and the components that live on them.
They are related to component diagrams in that a node typically encloses one or
more components.
30
Notation
Description
An artifact is a classifier that represents some
physical entity,
A communication path
Deployed artifacts
31
COMPONENT DIAGRAM
A component diagram displays the structural relationship of components of a software
system. These are mostly used when working with complex systems that has many
components. Components communicate with each other using interfaces. The interfaces
are linked using connectors. Below images shows a component diagram.Component
diagram represents the components in which the particular application needs to be
32
installed or implemented on. It also shows the type of relation that exists among the
various components that are represented. Hence, only a single component diagram
representing all the components and their relations is needed for the entire system.
4. Interface
33
5. Required Interface
7. Delegation connector from the delegating port to the simple port of Search
Engine
34
35
Book
Field Name
Book_code
Book_name
Author
Price
Book_available
No_of_Pages
Books_issues
Shelf_number
DataType
CharField
CharField
CharField
IntegerField
IntegerField
IntegerField
IntegerField
IntegerField
Description
Primary key
-
DataType
CharField
CharField
CharField
TextField
Date/TimeField
Date/TimeField
TextField
Description
Primary key
Members
Field Name
Member_Id
Member_Name
Department
Address
Date_of_issue
Date of Expiry
Status
Librarian
36
Field Name
Librarian_id
Librarian_name
Password
DataType
IntegerField
CharField
CharField
Description
Primary key
-
DataType
CharField
CharField
CharField
Date/TimeField
IntegerField
IntegerField
IntegerField
Description
Primary key
-
DataType
CharField
CharField
CharField
Date/TimeField
Date/TimeField
Description
Primary key
-
Add Books
Field Name
Book_code
Book_name
Author
Date_of_arrival
Price
No_of_books
Subject_code
Issue Book
Field Name
Book_code
Book_name
Author
Date_of_issue
Due_date
37
Each use case in a use case diagram specifies a flow of events (and variants of those
flows), and these flows specify how the element is expected to behave.
A well-structured use case will even specify pre- and post conditions that can be used
to define a test's initial state and its success criteria.
For each use case in a use case diagram, you can create a test case that you can run every
time you release a new version of that element, thereby confirming that it works as required
before other elements rely on it.
To forward engineer a class diagram,
Identify the rules for mapping to your implementation language or languages of choice.
This is something you'll want to do for your project or your organization as a whole.
Depending on the semantics of the languages you choose, you may want to constrain your
use of certain UML features.
For example, the UML permits you to model multiple inheritance, but Smalltalk permits only
single inheritance. We can choose to prohibit developers from modeling with multiple
inheritance (which makes your models language-dependent), or you can develop idioms that
transform these richer features into the implementation language (which makes the mapping
more complex).
Use tagged values to guide implementation choices in your target language. You can do this
at the level of individual classes if you need precise control. You can also do so at a higher
level, such as with collaborations or packages.
Use tools to generate code.
Reverse engineering
Reverse engineering is the process of transforming code into a model through a mapping
From a specific implementation language. Reverse engineering results in a flood of
information, some of which is at a lower level of detail than you'll need to build useful
models. At the same time, reverse engineering is incomplete. There is a loss of information
when forward engineering models into code, and so you can't completely recreate a model
from code unless your tools encode information in the source comments that goes beyond the
semantics of the implementation language.
39
Automatically reverse engineering a use case diagram is pretty much beyond the state
of the art, simply because there is a loss of information when moving from a
specification of how an element behaves to how it is implemented.
However, we can study an existing system and discern its intended behavior by hand,
which we can then put in the form of a use case diagram.
The UML's use case diagrams simply give us a standard and expressive language in
which to state what we discover.
Identify the rules for mapping from your implementation language or languages of
choice. This is something you'll want to do for your project or your organization as a
whole.
Using a tool, point to the code you'd like to reverse engineer. Use your tool to
generate a new model or modify an existing one that was previously forward
engineered. It is unreasonable to expect to reverse engineer a single concise model
from a large body of code. You need to select portion of the code and build the model
from the bottom.
Using your tool, create a class diagram by querying the model. For example, you
might start with one or more classes, then expand the diagram by following specific
relationships or other neighboring classes. Expose or hide details of the contents of
this class diagram as necessary to communicate your intent.
Manually add design information to the model to express the intent of the design that
is missing or hidden in the code.
Although this is true of most typical object diagram (which contain instances of
classes), it is not true of object diagrams containing instances of components and of
nodes. Both of these are special cases of component diagrams and deployment
diagrams, respectively.
40
object diagram can be useful. In fact, while you are debugging your system, this is
something that you or your tools will do all the time. For example, if you are chasing
down a dangling link, you'll want to literally or mentally draw an object diagram of the
affected objects to see where, at a given moment in time, an object's state or its
relationship to other objects is broken.
To reverse engineer an object diagram,
Chose the target you want to reverse engineer. Typically, you'll set your context inside
an operation or relative to an instance of one particular class.
Using a tool or simply walking through a scenario, stop execution at a certain moment
in time.
Identify the set of interesting objects that collaborate in that context and render them in
an object diagram.
As necessary to understand their semantics, expose these object's states.
As necessary to understand their semantics, identify the links that exist among these
objects.
If your diagram ends up overly complicated, prune it by eliminating objects that are not
germane to the questions about the scenario you need answered. If your diagram is too
41
This application can be easily implemented under various situations.We can add new
features as and when we require. Reusability is possible as and when require in this
application. There is flexibility in all the modules.
SOFTWARE SCOPE:
Extensibility: This software is extendable in ways that its original developers may not
expect. The following principles enhances extensibility like hide data structure, avoid
traversing multiple links or methods, avoid case statements on object type and distinguish
public and private operations.
Reusability: Reusability is possible as and when require in this application. We can update
it next version. Reusable software reduces design, coding and testing cost by amortizing
effort over several designs. Reducing the amount of code also simplifies understanding,
which increases the likelihood that the code is correct. We follow up both types of reusability
Understandability: A method is understandable if someone other than the creator of the
method can understand the code (as well as the creator after a time lapse). We use the
method, which small and coherent helps to accomplish this.
Cost-effectiveness: Its cost is under the budget and make within given time period. It is
desirable to aim for a system with a minimum cost subject to the condition that it must satisfy
the entire requirement.
CONCLUSION
From a proper analysis of positive points and constraints on the component, it can be safely
concluded that the product is a highly efficient GUI based component. This application is
working properly and meeting to all user requirements. This component can be easily
plugged in many other systems.
42
Introduction:
Viewing available jobs, or applying for the job at the agency can be done for which job
seekers has to go to the agency and check the available jobs at the agency. Job seekers check
the list of jobs available and apply the job. Then the agency will show available jobs for the
job seeker for his qualifications and then updates the jobs database.
Purpose:
The purpose of designing the online job portal is to give the job seekers a platform for finding
a right and a satisfactory job according to their qualification. It also connects the job seekers
with the major agencies.
Scope:
The Online job Portal System that is to be developed provides the members with jobs
information, online applying for jobs and many other facilities. The basic scope of the project
is given as under
Administrator's panel
Application
Application will provide the separate user account which are used to upload resume,
MODULES AVIALABLE:
1. Admin
2. Company
3. Job Seeker
43
ADMIN MODULE:
COMPANY MODULE:
JOBSEEKER MODULE:
44
DataType
CharField
CharField
CharField
CharField
Description
Primary key
-
DataType
CharField
CharField
CharField
CharField
EmailField
Description
Primary key
-
DataType
CharField
CharField
CharField
Description
Primary key
-
Company:
Field Name
Company_code
Company_name
Place
Email
Web site
Admin:
Field Name
User_Name
Password
Email
45
46