Visual Basic
Visual Basic
COLLEGE
SYSTEM
INFORMATION
ABSTACT:
The technology being used now a day to gather college info is presented
in this case study. The main purpose of inventing this COLLEGE
INFORMATION SYSTM is to help the college students and the faculty
members by providing the information needed.
College information system deals with the information related to students
studying in a particular college, information regarding the fee structure,
availability of seats, number of staff members and their salaries, number of
courses provided and the information regarding the labs and workshop.
In this system, the major role played by the students, staff members and
the administrator.
RUQAYYA AMATULLAH
03085009
Page |2
PROBLEM STATEMENT
RUQAYYA AMATULLAH
03085009
Page |3
PROPOSED SYSTEM
In college information system, we can easily get the information about the
admission, seats and vacancies in a particular course and college through a
single click and also fee can be paid easily.
By this system, it is also easy for a student to find books easily in the
library and also old questions papers.
RUQAYYA AMATULLAH
03085009
Page |4
1.INTRODUCTION
1.1 Purpose:
This SRS describes the software functional and non-functional requirement for
collecting the information about college students, staff and about the official
work. This document is to be used by students, staff and other college team that
will involve in working of college.
1.2 Project Scope and Product Features:
The College Information System will permit process impact gathering
information about students from admission cell and give it to staff. And another
very important impact is taking classes, conducting exams, maintaining fee
details and examination etc., this is some important features of college
information system.
RUQAYYA AMATULLAH
03085009
Page |5
1.4 References:
1. www.processimpact.com/corporate/standards/PI_intranet_dev_std.doc.
2. www.google.com
3. www.wikipedia.com
1.5 Overview:
This case study helps us to understand the functioning of college management,
staff and student to access the data easily.
2 OVERALL DESCRIPTION
2.1 Product Perspective
The College Information System is a new system that can help to maintaining
student and staff information easily and it will maintains the student records and
fee records of student and staff salary details and other important information
related to college management.
2.2 Product Functions:
STUDENT
STAFF
RUQAYYA AMATULLAH
03085009
Page |6
H.O.D
PRINCIPAL
RUQAYYA AMATULLAH
03085009
Page |7
3 SPECIFIC FUNCTIONS
3.1 FUNCTIONAL REQUIREMENTS
3.1.1
Functional requirement1
3.1.1.1 Introduction:
In the college management system the major requirement is the information of
the student, that is provided for proposed system.
3.1.1.2 Input:
All the details like personal and official details are given as input to the
proposed system.
3.1.1.3 Processing:
In the processing of student information in college management system is
extended with the information of attendance and official performances of
student.
3.1.1.4 Output:
The details of student information in college management system can be access
easily by this proposed system.
3.1.2 Functional requirement2
3.1.2.1 Introduction:
In the college management system another major requirement is the information
regarding staff is provided for proposed system.
RUQAYYA AMATULLAH
03085009
Page |8
3.1.2.2. Input:
All the details like personal and official details are given as input to the
proposed system
3.1.1.3 Processing:
In the processing of staff information in college management system is extended
with the information of experience and official performances of staff members.
3.1.1.4 Output:
The details of staff information in college management system can be access
easily by this proposed system.
RUQAYYA AMATULLAH
03085009
Page |9
RUQAYYA AMATULLAH
03085009
P a g e | 10
VISUALIZING:
The UML is more than just a bunch of graphical symbols. In UML each symbol
has well defined semantics. In this manner one developer can write a model in
the UML and another developer or even another tool can interpret the model
unambiguously.
SPECIFYING:
UML is used fro specifying means building models that are precise,
unambiguous and complete.
UML addresses the specification of all the important analysis, design and
implementation decisions that must be made in developing and deploying a
software intensive system.
CONSTRUCTING:
UML is not a visual programming language but its models can be directly
connected to a variety of programming languages.
This means that it is possible to map from a model in the UML to a
programming language such as java, c++ or Visual Basic or even to tables in a
relational database or the persistent store of an object-oriented database.
This mapping permits forward engineering. The generation of code from a
UML model into a programming language.
The reverse engineering is also possible you can reconstruct a model from
an implementation back into the UML.
RUQAYYA AMATULLAH
03085009
P a g e | 11
DOCUMENTING:
UML is a language for Documenting. A software organization produces all sorts
of artifacts in addition to raw executable code. These artifacts include
Requirements, Architecture, Design, Source code, Project plans, Test, Prototype,
and Release.
Such artifacts are not only the deliverables of a project, they are also critical in
controlling, measuring and communicating about a system during its
development and after its deployment.
RUQAYYA AMATULLAH
03085009
P a g e | 12
THINGS:
Things are the most important building blocks of UML. Things can be:
Structural
Behavioral
Grouping
An notational
STRUCTURAL THINGS:
The Structural things define the static part of the model. They represent physical
and conceptual elements. Following are the brief descriptions of the structural
things.
RUQAYYA AMATULLAH
03085009
P a g e | 13
CLASS:
Class represents set of objects having similar responsibilities.
INTERFACE:
Interface defines a set of operations which specify the responsibility of a class.
COLLABORATION:
Collaboration defines interaction between elements.
USE CASE:
Use case represents a set of actions performed by a system for a specific goal.
RUQAYYA AMATULLAH
03085009
P a g e | 14
COMPONENT:
Component describes physical part of a system.
NODE:
A node can be defined as a physical element that exists at run time.
BEHAVIORAL THINGS:
A behavioral thing consists of the dynamic parts of UML models. Following are
the behavioral things:
INTERACTION:
Interaction is defined as a behavior that consists of a group of messages
exchanged among elements to accomplish a specific task.
RUQAYYA AMATULLAH
03085009
P a g e | 15
STATE MACHINE:
State machine is useful when the state of an object in its life cycle is important.
It defines the sequence of states an object goes through in response to events.
Events are external factors responsible for state change.
GROUPING THINGS:
Grouping things can be defined as a mechanism to group elements of a UML
model together. There is only one grouping thing available.
PACKAGE:
Package is the only one grouping thing available for gathering structural and
behavioral things.
RUQAYYA AMATULLAH
03085009
P a g e | 16
ANNOTATIONAL THINGS:
Annotational things can be defined as a mechanism to capture remarks,
descriptions, and comments of UML model elements. Note is the only one
Annotational thing available.
Note:
A note is used to render comments, constraints etc of an UML element.
RELATIONSHIP IN UML
Relationship is another most important building block of UML. It shows how
elements are associated with each other and this association describes the
functionality of an application.
There are four kinds of relationships available.
DEPENDENCY:
Dependency is a relationship between two things in which change in one
element also affects the other one.
RUQAYYA AMATULLAH
03085009
P a g e | 17
ASSOCIATION:
Association is basically a set of links that connects elements of an UML model.
It also describes how many objects are taking part in that relationship.
GENERALIZATION:
Generalization can be defined as a relationship which connects a specialized
element with a generalized element. It basically describes inheritance
relationship in the world of objects.
REALIZATION:
Realization can be defined as a relationship in which two elements are
connected. One element describes some responsibility which is not implemented
and the other one implements them. This relationship exists in case of interfaces.
RUQAYYA AMATULLAH
03085009
P a g e | 18
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 a complete one.
UML includes the following nine diagrams and the details are described in the
following chapters.
Class diagram
Object diagram
Use case diagram
Sequence diagram
Collaboration diagram
Activity diagram
State chart diagram
Deployment diagram
Component diagram
RUQAYYA AMATULLAH
03085009
P a g e | 19
CLASS DIAGRAM
OVERVIEW:
RUQAYYA AMATULLAH
03085009
P a g e | 20
PURPOSE:
The purpose of the class diagram is to model the static view of an application.
The class diagrams are the only diagrams which can be directly mapped with
object oriented languages and thus widely used at the time of construction.
The UML diagrams like activity diagram, sequence diagram can only give the
sequence flow of the application but class diagram is a bit different. So it is the
most popular UML diagram in the coder community.
So the purpose of the class diagram can be summarized as:
Analysis and design of the static view of an application.
Describe responsibilities of a system.
Base for component and deployment diagrams.
Forward and reverse engineering.
RUQAYYA AMATULLAH
03085009
P a g e | 21
RUQAYYA AMATULLAH
03085009
P a g e | 22
First of all Order and Customer are identified as the two elements of the system
and they have a one to many relationship because a customer can have multiple
orders.
We would keep Order class is an abstract class and it has two concrete classes
(inheritance relationship) SpecialOrder and NormalOrder.
The two inherited classes have all the properties as the Order class. In addition
they have additional functions like dispatch () and receive ().
So the following class diagram has been drawn considering all the points
mentioned above:
RUQAYYA AMATULLAH
03085009
P a g e | 23
OBJECT DIAGRAM:
Object diagram shows a set of objects and there
relationships.Object diagram represents static snapshot of
instances of the things found in class diagram.
These diagrams addresses static design view or static process
view of a system.
RUQAYYA AMATULLAH
03085009
P a g e | 24
OVERVIEW:
To model a system the most important aspect is to capture the dynamic
behaviour. To clarify a bit in details, dynamic behaviour means the behaviour of
the system when it is running /operating.
So only static behaviour is not sufficient to model a system rather dynamic
behaviour is more important than static behaviour. In UML there are five
diagrams available to model dynamic nature and use case diagram is one of
them. Now as we have to discuss that the use case diagram is dynamic in nature
there should be some internal or external factors for making the interaction.
These internal and external agents are known as actors. So use case diagrams are
consists of actors, use cases and their relationships. The diagram is used to
model the system/subsystem of an application. A single use case diagram
captures a particular functionality of a system.
So to model the entire system numbers of use case diagrams are used.
PURPOSE:
The purpose of use case diagram is to capture the dynamic aspect of a system.
But this definition is too generic to describe the purpose.
Because other four diagrams (activity, sequence, collaboration and Statechart)
are also having the same purpose. So we will look into some specific purpose
which will distinguish it from other four diagrams.
RUQAYYA AMATULLAH
03085009
P a g e | 25
Use case diagrams are used to gather the requirements of a system including
internal and external influences. These requirements are mostly design
requirements. So when a system is analyzed to gather its functionalities use
cases are prepared and actors are identified.
Now when the initial task is complete use case diagrams are modelled to present
the outside view.
So in brief, the purposes of use case diagrams can be as follows:
Used to gather requirements of a system.
Used to get an outside view of a system.
Identify external and internal factors influencing the system.
Show the interacting among the requirements are actors.
RUQAYYA AMATULLAH
03085009
P a g e | 26
RUQAYYA AMATULLAH
03085009
P a g e | 27
RUQAYYA AMATULLAH
03085009
P a g e | 28
INTERACTION DIAGRAM
We have two types of interaction diagrams in UML. One is sequence diagram
and the other is a collaboration diagram. The sequence diagram captures the
time sequence of message flow from one object to another and the collaboration
diagram describes the organization of objects in a system taking part in the
message flow.
So the following things are to identified clearly before drawing the interaction
diagram:
Objects taking part in the interaction.
Message flows among the objects.
The sequence in which the messages are flowing.
Object organization.
Following are two interaction diagrams modeling order management system.
The first diagram is a sequence diagram and the second is a collaboration
diagram.
RUQAYYA AMATULLAH
03085009
P a g e | 29
RUQAYYA AMATULLAH
03085009
P a g e | 30
RUQAYYA AMATULLAH
03085009
P a g e | 31
RUQAYYA AMATULLAH
03085009
P a g e | 32
PURPOSE:
Statechart diagram is one of the five UML diagrams used to model dynamic
nature of a system. They define different states of an object during its lifetime.
And these states are changed by events. So Statechart diagrams are useful to
model reactive systems. Reactive systems can be defined as a system that
responds to external or internal events.
Statechart diagram describes the flow of control from one state to another state.
States are defined as a condition in which an object exists and it changes when
some event is triggered. So the most important purpose of Statechart diagram is
to model life time of an object from creation to termination.
Statechart diagrams are also used for forward and reverse engineering of a
system. But the main purpose is to model reactive system.
RUQAYYA AMATULLAH
03085009
P a g e | 33
RUQAYYA AMATULLAH
03085009
P a g e | 34
During the life cycle of an object (here order object) it goes through the
following states and there may be some abnormal exists also. This abnormal exit
may occur due to some problem in the system. When the entire life cycle is
complete it is considered as the complete transaction as mentioned below.
The initial and final state of an object is also shown below.
RUQAYYA AMATULLAH
03085009
P a g e | 35
RUQAYYA AMATULLAH
03085009
P a g e | 36
ACTIVITY DIAGRAM
OVERVIEW:
Activity diagram is another important diagram in UML to describe dynamic
aspects of the system.
Activity diagram is basically a flow chart to represent the flow form one activity
to another activity. The activity can be described as an operation of the system.
So the control flow is drawn from one operation to another. This flow can be
sequential, branched or concurrent. Activity diagrams deals with all type of flow
control by using different elements like fork, join etc.
PURPOSE:
The basic purposes of activity diagrams are similar to other four diagrams. It
captures the dynamic behaviour of the system. Other four diagrams are used to
show the message flow from one object to another but activity diagram is used
to show message flow from one activity to another.
Activity is a particular operation of the system. Activity diagrams are not only
used for visualizing dynamic nature of a system but they are also used to
construct the executable system by using forward and reverse engineering
techniques. The only missing thing in activity diagram is the message part.
It does not show any message flow from one activity to another. Activity
diagram is some time considered as the flow chart. Although the diagrams looks
like a flow chart but it is not. It shows different flow like parallel, branched,
concurrent and single.
So the purposes can be described as:
RUQAYYA AMATULLAH
03085009
P a g e | 37
RUQAYYA AMATULLAH
03085009
P a g e | 38
diagram cannot be exactly matched with the code. The activity diagram is made
to understand the flow of activities and mainly used by the business users.
The following diagram is drawn with the four main activities:
Send order by the customer
Receipt of the order
Confirm order
Dispatch order
After receiving the order request condition checks are performed to check if it is
normal or special order. After the type of order is identified dispatch activity is
performed and that is marked as the termination of the process.
RUQAYYA AMATULLAH
03085009
P a g e | 39
RUQAYYA AMATULLAH
03085009
P a g e | 40
COMPONENT DIAGRAM
OVERVIEW:
Component diagrams are different in terms of nature and behaviour. Component
diagrams are used to model physical aspects of a system.
Now the question is what are these physical aspects? Physical aspects are the
elements like executables, libraries, files, documents etc which resides in a node.
So component diagrams are used to visualize the organization and relationships
among components in a system. These diagrams are also used to make
executable systems.
PURPOSE:
Component diagram is a special kind of diagram in UML. The purpose is also
different from all other diagrams discussed so far. It does not describe the
functionality of the system but it describes the components used to make those
functionalities.
So from that point component diagrams are used to visualize the physical
components in a system. These components are libraries, packages, files etc.
Component diagrams can also be described as a static implementation view of a
system. Static implementation represents the organization of the components at a
particular moment.
A single component diagram cannot represent the entire system but a collection
of diagrams are used to represent the whole.
So the purpose of the component diagram can be summarized as:
Visualize the components of a system.
RUQAYYA AMATULLAH
03085009
P a g e | 41
RUQAYYA AMATULLAH
03085009
P a g e | 42
RUQAYYA AMATULLAH
03085009
P a g e | 43
RUQAYYA AMATULLAH
03085009
P a g e | 44
DEPLOYMENT DIAGRAM
OVERVIEW:
Deployment diagrams are used to visualize the topology of the physical
components of a system where the software components are deployed.
So deployment diagrams are used to describe the static deployment view of a
system. Deployment diagrams consist of nodes and their relationships.
PURPOSE:
The name Deployment itself describes the purpose of the diagram. Deployment
diagrams are used for describing the hardware components where software
components are deployed. Component diagrams and deployment diagrams are
closely related.
Component diagrams are used to describe the components and deployment
diagrams shows how they are deployed in hardware.
UML is mainly designed to focus on software artifacts of a system. But these
two diagrams are special diagrams used to focus on software components and
hardware components.
So most of the UML diagrams are used to handle logical components but
deployment diagrams are made to focus on hardware topology of a system.
Deployment diagrams are used by the system engineers.
The purpose of deployment diagrams can be described as:
Visualize hardware topology of a system.
Describe the hardware components used to deploy software components.
Describe runtime processing nodes.
RUQAYYA AMATULLAH
03085009
P a g e | 45
RUQAYYA AMATULLAH
03085009
P a g e | 46
connecting to the application using internet. The control is flowing from the
caching server to the clustered environment.
So the following deployment diagram has been drawn considering all the points
mentioned above:
RUQAYYA AMATULLAH
03085009
P a g e | 47
RUQAYYA AMATULLAH
03085009
P a g e | 48
UML NOTATIONS
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.
So learning notations should be emphasized from the very beginning. Different
notations are available for things and relationships. And the 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 the UML Basic Notations in more details. This is just an
extension to the UML buildling block section I have discussed in previous
chapter.
STRUCTURAL THINGS:
Graphical notations used in structural things are the most widely used in UML.
These are considered as the nouns of UML models. Following are the list of
structural things.
Classes
Interface
Collaboration
Use case
Active classes
Components
Nodes
Class Notation:
RUQAYYA AMATULLAH
03085009
P a g e | 49
Classes are used to represent objects. Objects can be anything having properties
and responsibility.
RUQAYYA AMATULLAH
03085009
P a g e | 50
OBJECT NOTATION:
The object is represented in the same way as the class. The only difference is the
name which is underlined as shown below.
INTERFACE NOTATION:
Interface is represented by a circle as shown below. It has a name which is
generally written below the circle.
RUQAYYA AMATULLAH
03085009
P a g e | 51
RUQAYYA AMATULLAH
03085009
P a g e | 52
ACTOR NOTATION:
An actor can be defined as some internal or external entity that interacts with the
system.
Actor is used in a use case diagram to describe the internal or external entities.
Initial State Notation:
Initial state is defined show the start of a process. This notation is used in almost
all diagrams.
RUQAYYA AMATULLAH
03085009
P a g e | 53
The usage of Initial State Notation is to show the starting point of a process.
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 concurrent behaviour of a system.
RUQAYYA AMATULLAH
03085009
P a g e | 54
COMPONENT NOTATION:
A component in UML is shown as below 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 below with a name. A
node represents a physical component of the system.
Node is used to represent physical part of a system like server, network etc.
RUQAYYA AMATULLAH
03085009
P a g e | 55
BEHAVIOURAL 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 message exchange between two UML components. The
following diagram represents different notations used in an interaction.
Interaction is used to represent 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.
RUQAYYA AMATULLAH
03085009
P a g e | 56
GROUPING THINGS:
Organizing the UML models are one of the most important aspects of the design.
In UML there is only one element available for grouping and that is package.
PACKAGE NOTATION:
RUQAYYA AMATULLAH
03085009
P a g e | 57
Package notation is shown below and this is used to wrap the components of a
system.
ANNOTATIONAL THINGS:
In any diagram explanation of different elements and their functionalities are
very important. So UML has notes notation to support this requirement.
Note Notation:
This notation is shown below and they are used to provide necessary
information of a system.
RELATIONSHIPS:
RUQAYYA AMATULLAH
03085009
P a g e | 58
A model is not complete unless the relationships between elements are described
properly. The Relationship gives a proper meaning to an 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 below. The arrow head
represents the independent element and the other end the dependent element.
RUQAYYA AMATULLAH
03085009
P a g e | 59
RUQAYYA AMATULLAH
03085009
P a g e | 60
RUQAYYA AMATULLAH
03085009
P a g e | 61
ABSTRACTION RELATIONSHIP
An abstraction relationship is a dependency between model elements that
represents the same concept at different levels of abstraction or from different
viewpoints. You can add abstraction relationships to a model in several
diagrams, including use-case, class, and component diagrams.
ACTIVITY EDGES:
In activity diagrams, an activity edge is a relationship between two activity
nodes that you can use to represent the control flow or object flow in an activity
diagram.
AGGREGATION RELATIONSHIPS:
An aggregation relationship depicts a classifier as a part of, or as subordinate to,
another classifier.
ASSOCIATION RELATIONSHIPS:
In UML models, an association is a relationship between two classifiers, such as
classes or use cases, that describes the reasons for the relationship and the rules
that govern the relationship.
BINDING RELATIONSHIPS:
In UML models, a binding relationship is a relationship that assigns values to
template parameters and generates a new model element from the template.
RUQAYYA AMATULLAH
03085009
P a g e | 62
COMMUNICATION PATHS:
In UML modeling, a communication path is a type of association between nodes
in a deployment diagram that shows how the nodes exchange messages and
signals.
COMPOSITION RELATIONSHIPS:
A composition relationship, which was named composition association
relationship in UML 1.4, represents wholepart relationships and is a form of
aggregation. A composition relationship specifies that the lifetime of the part
classifier is dependent on the lifetime of the whole classifier.
DEPENDENCY RELATIONSHIPS:
In UML modeling, a dependency relationship is a relationship in which changes
to one model element (the supplier) impact another model element (the client).
You can use dependency relationships in class diagrams, component diagrams,
deployment diagrams, and use case diagrams.
DEPLOYMENT RELATIONSHIPS:
In UML modeling, deployment relationships specify that a particular node type
supports the deployment of an artifact type.
RUQAYYA AMATULLAH
03085009
P a g e | 63
GENERALIZATION RELATIONSHIPS:
In UML modeling, a generalization relationship is a relationship in which one
model element (the child) is based on another model element (the parent).
Generalization relationships are used in class, component, deployment, and use
case diagrams.
IMPLEMENTATION RELATIONSHIPS:
In UML modeling, an implementation relationship is a specialized type of
realization relationship between a classifier and a provided interface. The
implementation relationship specifies that the realizing classifier must conform
to the contract that the provided interface specifies.
INCLUDE RELATIONSHIPS:
In UML modeling, an include relationship is a relationship in which one use
case (the base use case) includes the functionality of another use case (the
inclusion use case). The include relationship supports the reuse of functionality
in a use case model.
MANIFESTATION RELATIONSHIPS:
In UML modeling, a manifestation relationship shows which model elements,
such as components or classes, are manifested in an artifact. The artifact
manifests, or includes, a specific implementation for, the features of one or
several physical software components.
RUQAYYA AMATULLAH
03085009
P a g e | 64
REALIZATION RELATIONSHIPS:
In UML modeling, a realization relationship is a relationship between two model
elements, in which one model element (the client) realizes the behavior that the
other model element (the supplier) specifies. Several clients can realize the
behavior of a single supplier. You can use realization relationships in class
diagrams and component diagrams.
USAGE RELATIONSHIPS:
In UML modeling, a usage relationship is a type of dependency relationship in
which one model element (the client) requires another model element (the
supplier) for full implementation or operation.
RUQAYYA AMATULLAH
03085009
P a g e | 65
Adornments
elements in UML - unique graphical notation
adornments - added information about class
Common Divisions
general property vs. specific instance
class vs. object
use case vs. use case instance
UML syntax: underline name of instance
separation of interface & implementation
interface - contract
implementation - concrete realization of contract
RUQAYYA AMATULLAH
03085009
P a g e | 66
Extensibility Mechanisms
stereotype
allows creation of new kinds of building blocks from existing ones
tagged value
allows creation of new information in specification
constraint
allows addition of new rules & modification of existing rules
RUQAYYA AMATULLAH
03085009
P a g e | 67
\Rules Of UML
specify what model should look like
semantic rules for
names
scope
visibility
integrity
execution
Common properties of models
elided - hide some elements for simplicity
incomplete
inconsistent
rules of UML make it easier to address these problems
RUQAYYA AMATULLAH
03085009
P a g e | 68
ARCHITECTURE OF UML
Any real world system is used by different users. The users can be developers,
testers, business people, analysts and many more. So before designing a system
the architecture is made with different perspectives in mind. The most important
part is to visualize the system from different viewer.s perspective. The better we
understand the better we make the system.
UML plays an important role in defining different perspectives of a system.
These perspectives are:
Design
Implementation
Process
Deployment
And the centre is the Use Case view which connects all these four. A Use case
represents the functionality of the system. So the other perspectives are
connected with use case.
RUQAYYA AMATULLAH
03085009
P a g e | 69
Process defines the flow of the system. So the same elements as used in
Design are also used to support this perspective.
Deployment represents the physical nodes of the system that forms the
hardware. UML deployment diagram is used to support this perspective.
RUQAYYA AMATULLAH
03085009
P a g e | 70
STRUCTURE DIAGRAMS
Structure diagrams emphasize what things must be in the system
being modeled:
Class diagram: the class diagrams describes the structure of a system by
showing the system's classes, their attributes, and the relationships among the
classes.
Component diagram: depicts how a software system is split up into
components and shows the dependencies among these components.
Composite structure diagram: describes the internal structure of a class and
the collaborations that this structure makes possible.
Deployment diagram: serves to model the hardware used in system
implementations, and the execution environments and artifacts deployed on
the hardware.
Object diagram: shows a complete or partial view of the structure of a
modeled system at a specific time.
Package diagram: depicts how a system is split up into logical groupings by
showing the dependencies among these groupings.
Profile diagram: operates at the metamodel level to show stereotypes as
classes with the <<stereotype>> stereotype, and profiles as packages with the
<<profile>> stereotype. The extension relation (solid line with closed, filled
arrowhead) indicate what metamodel element a given stereotype is
extending.
Since structure diagrams represent the structure they are used extensively in
documenting the architecture of software systems.
BEHAVIOR DIAGRAMS
RUQAYYA AMATULLAH
03085009
P a g e | 71
Behavior diagrams emphasize what must happen in the system being modeled:
Activity diagram: represents the business and operational step-by-step
workflows of components in a system. An activity diagram shows the
overall flow of control.
State machine diagram: standardized notation to describe many systems,
from computer
CLASS DIAGRAM
RUQAYYA AMATULLAH
03085009
P a g e | 72
The class diagram describes the attributes and operations of a class and also the
constraints imposed on the system. The class diagrams are widely used in the
modelling of object oriented systems because they are the only UML diagrams
which can be mapped directly with object oriented languages.
The class diagram shows a collection of classes, interfaces, associations,
collaborations and constraints. It is also known as a structural diagram.
CONTENTS:
Class diagrams commonly contain the following things
Classes
Interfaces
Collaborations
Dependency,generation and association relationships
RUQAYYA AMATULLAH
03085009
P a g e | 73
3.1.1.1
PRINCIPAL
name : string
qualification : string
experience : integer
past record : integer
contact no : integer
managing college()
provide info abt placements()
hiring staff members()
keepng a track of a studnt()
manage fee details()
HOD
name : string
qualification : string
experience : int
name of dept : string
contact no : integer
displaying the notice()
displaying the attednce()
displaying marks()
issuing halltickets()
issuing memos()
conducting seminars()
STAFF
name : string
id : integer
qualification : string
courses : string
experience : integer
past record : intger
address : integer
taking classes()
evaluatng papers()
condutng xams()
giving assgnmnts()
conducting labs()
BRANCHES
name : string
branch id : integer
code : string
no of students : integer
STUDENT
name : string
roll no : integer
branch : string
address : string
ph no : integer
read()
write()
attending exam()
submtng assgnmt()
attndng classes()
doing projects()
ADDMISSION CELL
name : string
branch name : string
college name : string
university name : string
vacancies of seats : int
no of branches : int
type of addmission : string
seat allotment()
provides fee details()
tally certificates()
RUQAYYA AMATULLAH
03085009
P a g e | 74
RUQAYYA AMATULLAH
03085009
P a g e | 75
<<extend>>
evaluating papers
<<include>>
conducting exams
*-
taking classes
giving assignments
study
<<extend>>
STAFF
submitting assignments
updates
attendence updates
STUDENT
attending classes
conducting labs
doing projects
<<extend>>
generate results
exams
conducting xams
CONTROLLER OF XAM
declaring exam dates
issuing hallticket
Fig: Use Case Diagram between student, staff and controller of exam.
RUQAYYA AMATULLAH
03085009
P a g e | 76
displaying notice
hiring staff
conducting seminars
HO.D
PRINCIPAL
distributing halltickets
<<extend>>
distributing memos
RUQAYYA AMATULLAH
03085009
P a g e | 77
INTERACTION DIAGRAM
That is why sequence and collaboration diagrams are used to capture dynamic
nature but from a different angle.
So the purposes of interaction diagram can be describes as:
To capture dynamic behavior of a system.
To describe the message flow in the system.
To describe structural organization of the objects.
To describe interaction among objects.
Fig:Sequence Diagram
RUQAYYA AMATULLAH
03085009
P a g e | 78
RUQAYYA AMATULLAH
03085009
P a g e | 79
STUDENT
ADMISSION
CELL
STAFF
request conformation
payment of fee
receipt
RUQAYYA AMATULLAH
03085009
P a g e | 80
STUDENT
STAFF
H.O.D
conducting classes
attending classes
giving assignments
submitting assignmnts
conducting tests
attending tests
giving info andattecdence record
RUQAYYA AMATULLAH
03085009
P a g e | 81
CONTROLLER
OF EXAMS
STUDENT
attending xams
declaring results
RUQAYYA AMATULLAH
03085009
P a g e | 82
ADMISSIO
N CELL
3: request conformation
6: receipt
STAFF
RUQAYYA AMATULLAH
03085009
P a g e | 83
STUDEN
T
2: attending classes
4: submitting assignmnts
6: attending tests
1: conducting classes
3: giving assignments
5: conducting tests
STAFF
H.O.D
CONTROLLER
OF EXAMS
1: declaring exam dates and fee
3: issuinf halltickets and conducting xams
5: declaring results
RUQAYYA AMATULLAH
03085009
P a g e | 84
ACTIVITY DIAGRAM
Activity diagram is another important diagram in UML to describe dynamic
aspects of the system.
Activity diagram is basically a flow chart to represent the flow form one activity
to another activity. The activity can be described as an operation of the system.
So the control flow is drawn from one operation to another. This flow can be
sequential, branched or concurrent. Activity diagrams deals with all type of flow
control by using different elements like fork, join etc.
STAFF
staff
H.O.D
managing staff
collecting info
issuing
hallticket
conducting
xams
view status of
class
isuuing
memos
conducting
seminars
RUQAYYA AMATULLAH
03085009
P a g e | 85
principal
managing the
colg
if staff<50
hiring staff
distributing
salaries
view status
RUQAYYA AMATULLAH
03085009
P a g e | 86
STUDENT
ADMISSION CELL
student
collecting
applications
submitt appln
view status
verifying
certificates
...
allotment of
seats
...
fork
eligible for
seats
attend classes
...
collecting fees
join
BRANCHING
RUQAYYA AMATULLAH
03085009
P a g e | 87
Join
A join represents the synchronization of two or more concurrent flows of control.
A join may have two or more incoming transition and one outgoing transition.
Above the join the activities associated with each of these paths continues in parallel.
Swimlane:
Swimlanes are useful when we model workflows of business processes to partition the
activity states on an activity diagram into groups.
Each group representing the business organization responsible for those activities,these
groups are called swimlanes.
RUQAYYA AMATULLAH
03085009
P a g e | 88
Submission the
Application
incorrect
Verify
correct
Form Accepted
Login
fork
View the
Academic info
Download the
study material
join
logout
RUQAYYA AMATULLAH
03085009
P a g e | 89
Submission the
Exam Form
verify
correct
View the Hall
ticket
Verify
Pass
fork
RUQAYYA AMATULLAH
03085009
P a g e | 90
CONTENTS
State chart diagrams commonly contain
Simply state and composite states
Transitions, including events and actions
COMMON USE
They are use to model the dynamic aspects of a system.
Event ordered behavior of any kind of objects, to model reactive objects.
RUQAYYA AMATULLAH
03085009
P a g e | 91
ACTIVE
idle
Issuing
Notification
user input
processing
admission
conducting class
and exams
generation
of results
scheduling of
time table
RUQAYYA AMATULLAH
03085009
P a g e | 92
COMPONENT DIAGRAM
Component diagrams are different in terms of nature and behaviour. Component
diagrams are used to model physical aspects of a system.
Now the question is what are these physical aspects? Physical aspects are the
elements like executables, libraries, files, documents etc which resides in a node.
So component diagrams are used to visualize the organization and relationships
among components in a system. These diagrams are also used to make
executable systems.
RUQAYYA AMATULLAH
03085009
P a g e | 93
college information
system .exe
issuing
notification
NewMainSubprog1
processing
addmission
conducting classes
and exams
NewSubprogSpec3
NewSubprogSpec2 NewMainSubprog3
NewSubprogSpec1 NewMainSubprog2
RUQAYYA AMATULLAH
03085009
P a g e | 94
DEPLOYMENT DIAGRAM
Deployment diagrams are used to visualize the topology of the physical
components of a system where the software components are deployed.
So deployment diagrams are used to describe the static deployment view of a
system. Deployment diagrams consist of nodes and their relationships.
Purpose:
The name Deployment itself describes the purpose of the diagram. Deployment
diagrams are used for describing the hardware components where software
components are deployed. Component diagrams and deployment diagrams are
closely related.
Component diagrams are used to describe the components and deployment
diagrams shows how they are deployed in hardware.
RUQAYYA AMATULLAH
03085009
P a g e | 95
COLLE
...
STUDE
NT
STAFF
H.O.D
PRINCI
PAL
RUQAYYA AMATULLAH
03085009
P a g e | 96
CONCLUSION
That's it! You have successfully completed the online orientation for college
information system. You've learned about quite a few different services available
to you here at college information system and undoubtedly you'll want to
explore them further at your leisure.
RUQAYYA AMATULLAH
03085009