Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTRODUCTION TO UML
UML is the international standard notation for object-oriented analysis and design.
The heart of object-oriented problem solving is the construction of a model. The model
abstracts the essential details of the underlying problem from its usually complicated real
world. The Unified Modelling Language (UML) is a standard language for writing software
blueprints.
The 1990s was the era of development of object-oriented languages such as C++.
These object-oriented languages were used to create complex but compelling systems.
It was invented by software engineers Grady Booch , Ivar Jacobson, and James
Rumbaugh of Rational software during 1994 and 1995. It was under development until
1996.Each of UML inventors, viz, Grady Booch , Ivar Jacobson, and James Rumbaugh had a
fantastic idea for designing a language which will reduce the complexity.
Booch’s method was very flexible to work with during the design and construction of
objects.
Jacobson’s method provided a great way to work around use-cases. It also has a
powerful approach for high-level design.
Rumbaugh’s method turned out to be very useful while handling sensitive systems.
UML stands for Unified Modelling Language. It is a standard which is mainly used
for creating object-oriented, meaningful documentation models for any software system
present in the real world. It provides us a way to develop rich models that describe the
working of any software/hardware systems.
1
1.1.2 CHARACTERISTICS OF UML:
1.1.3 ADVANTAGES :
1.2.1 STARUML :
Features:
2
1.2.2 UMBRELLO:
Umbrello is a UML modelling tool. It runs under KDE and Linux. The tool also
supports code generation as well as reverse engineering for C++ and Java.
Features:
It allows you to create diagrams of software and another system in a standard format
It helps you to check the screenshot to see umbrello in action.
Offers handbook to give instruction to umbrello and UML modelling.
UML Designer tool offers a set of common diagrams to work with UML 2.5 models.
The tool provides an easy method for the transition from UML to domain-specific modelling.
Features:
Allows user to re-use provided representations and work in total transparency on both
DSL and UML models
Helps you to create a Class diagram, Component Diagram, and composite structure
Diagram
Allows you to use legacy UML models and start working with DSL.
1.2.4 ALTOVA:
AltovaU Model is another useful UML tool which makes visual software design
practical for any project. Visually design application models in UML which can be generated
using Java, C++, C#, or Visual Basic.
3
Features:
1.2.5 UMPLE:
Features:
Visual Paradigm is a software design tool which is tailored for engine software
projects. This UML tool helps the software development team to a model business
information system and development processes.
Features:
4
1.2.7 WHITESTARUML:
WhiteStar UML is another important Universal modelling tool which offers all the
feature which can be adapted to the modern environment like the support of Unicode strings.
Features:
1.2.8 DRAW.IO:
Draw.IO is a free online UML tool. It allows users to create and manage the drawing
easily these tools. A lot of the wide and early share available with this tool.
Features:
1.2.9 GENMYMODEL:
5
GenMy Model began as a UML tool but, today It is expanded to cover also business
modelling with Archimate and BPMN support. It offers a centralized model repository which
allows easy and simultaneously models collaboration.
Features:
1.2.10 UMLETINO:
It is accessible to the user as an open source UML tool for developing UML diagrams.
It can directly run in your browser, and it does not need any installations.
Features:
UML stands for unified modelling language which revolves around various blocks to
generate a single model. Building blocks are the things required to develop one full UML
model diagram. It is an essential part of every UML diagram.
1. Things
2. Relationships
3. Diagrams
6
1.3.1 THINGS:
A thing can be described as any real-world entity or an object. Things are divided into
various categories in UML as follows,
Structural things
Behavioral things
Grouping things
Annotational things
A structural thing is used to describe the static part of a model. It is used to represent
the things that are visible to human eyes. Structural things are all about the physical part of a
system. It is the noun of a UML model, such as a class, object, interface, collaboration, use
case, component, and a node.
CLASS:
A class is used to represent various objects. It is used to define the properties and
operations of an object. In UML, we can also represent an abstract class. A class whose
functionalities are not defined is called an abstract class. Any UML class notation is generally
expressed as follows,
7
The notation of any object in UML is given below.
INTERFACE:
COLLABORATION:
USE-CASE:
Use-cases are one of the core concepts of object-oriented modelling. They are used to
represent high-level functionalities and how the user will handle the system.
8
UML Use Case
ACTOR:
It is used inside use case diagrams. The actor is an entity that interacts with the
system. A user is the best example of an actor. The actor notation in UML is given below.
UML Actor
COMPONENT:
UML Component
Node:
A node is used to describe the physical part of a system. A node can be used to
represent a network, server, routers, etc. Its notation is given below.
9
UML Node
DEPLOYMENT DIAGRAM:
1. A node
2. A component
3. An artifact
4. An interface
Deployment Diagram
They are the verbs of a UML model, such as interactions, activities and state
machines. Behavioral things are used to represent the behavior of a system. Behavioral things
consist of:
STATE MACHINE:
10
State Machine
ACTIVITY DIAGRAM:
Activity diagram mainly contains initial state, final state, a decision box, and an action
notation.
Activity Diagram
11
INTERACTION DIAGRAM:
Interaction diagrams are used to visualize the message flow between various
components of a system.
Interaction Diagram
It is the package which is used to group semantically related modelling elements into
a single cohesive unit. The package is the only grouping thing available in the UML.
12
1.3.1.4 ANNOTATIONAL THINGS:
It is like a note, which may be written to the model to capture some vital information.
It is similar to the yellow sticky note.
1.3.2 RELATIONSHIPS:
The relationship allows you to show on a model how two or more things relate to each
other. The relationship in UML will enable you to capture meaningful connections between
things. It shows how each element is associated with each other and how this association
describes the functionality of an application.
Association relationship
Dependency relationship
Generalization relationship
Realization relationship
It is a set of links that connect elements of the UML model. It also defines how many
objects are taking part in that relation. It illustrates how many elements are participating in a
particular interaction.
It is denoted as a dotted line with arrowheads on both sides. Both the sides contain an
element which describes the relationship. A new term multiplicity is introduced that tells us
how many objects of a particular element are associated.
13
1.3.2.2 DEPENDENCY RELATIONSHIP:
In this kind of a relationship, the source element is dependent upon the target element
and may be affected by changes to it. It is one of the most important notations of UML. It
defines the direction of a dependency from one object to another.It is denoted by a dotted line
with an arrow at one side.
In this, one element describes some responsibility which is not implemented and the
other elements implement the functionality mentioned by the first element. Realization
relationship is widely used while denoting interfaces.It is denoted as a dotted line with a
hollow arrowhead at one end.
1.3.3 DIAGRAMS:
UML diagrams are divided into three different categories such as,
1. Structural diagram
2. Behavioral diagram
3. Interaction diagram
Structural diagrams are used to represent a static view of a system. It represents a part
of a system that makes up the structure of a system. A structural diagram shows various
objects within the system.
14
Following are the various structural diagrams in UML:
Class diagram
Object diagram
Package diagram
Component diagram
Deployment diagram
CLASS DIAGRAM:
Class Diagram
Any real-world system can be represented in either a static form or a dynamic form. A
system is said to be complete if it is expressed in both the static and dynamic ways. The
behavioral diagram represents the functioning of a system.
UML diagrams that deals with the static part of a system are called structural
diagrams. UML diagrams that deals with the moving or dynamic parts of the system are
called behavioral diagrams.
Activity diagram
Use case diagram
State machine diagram
15
ACTIVITY DIAGRAM:
Activity Diagram
Use Case diagrams are defined as diagrams that capture the system's functionality and
requirements in UML. Use-cases are the core concepts of Unified Modelling language
modelling.
State machine diagrams are also called as state chart diagrams. State machine
diagrams are used to capture the behavior of a software system. UML State machine
diagrams can be used to model the behavior of a class, a subsystem, a package, or even an
entire system. It is also called a State chart or State Transition diagram.
16
State Machine diagram
Timing diagram
Sequence diagram
Collaboration diagram
SEQUENCE DIAGRAM:
17
Sequence Diagram
COLLABORATION DIAGRAM:
Collaboration Diagram
18
CHAPTER 2
COURSE MANAGEMENT SYSTEM
2.1 PREFACE:
Back in mid-1990s, we were trying hard just to get HTML pages to display properly.
The only dynamic pages were e-commerce sites. By the late 1990s, other languages better
suited to the web were coming out, like PHP. People started writing content-management
systems(CMSs). This allowed people to upload photos, write stories, and made pages much
more interesting. People started commercializing their CMSs and building businesses that
sold and supported CMSs. Several of the web -based CMSs outgrowths of another category
of software.
2.2 INTRODUCTION:
A Course Management System (CMS) is a collection of software tools providing an
online environment for course interactions. A CMS typically includes a variety of online
tools and environments, such as:
• An area for faculty posting of class materials such as course syllabus and handouts
• An area for student posting of papers and other assignments
• A gradebook where faculty can record grades and each student can view his or her
grades
• An integrated email tool allowing participants to send announcement email messages
to the entire class or to a subset of the entire class
• A chat tool allowing synchronous communication among class participants
• A threaded discussion board allowing asynchronous communication among
participants
The decision to use a CMS in a traditional face-to-face course has implications for
course design that often go unnoticed by instructors in their initial use of such systems. This
module lists technical and pedagogical tips that instructors should consider as they place
materials into a CMS.
19
2.2.1 PURPOSE:
Course management systems have become an integral part of the higher education
system. They make teaching and course management easier by providing a framework and
set of tools for instructors. The administrative aspects of such systems may include class
rosters and the ability to record students’ grades.
With respect to the teaching aspects, however, it could include learning objects, class
exercises, quizzes and tests. The CMS may also include tools for real-time chat, or
asynchronous bulletin board type communications. The CMS tool also focuses on all aspects
of teaching, learning and teacher-student interaction.
2.3 SCOPE:
CMS provides useful and efficient services to the university and schools. The CMS
will be an online academic portal for any university wishing to manage their academic needs
online. More specifically to design and develop a simple and intuitive system which shall cater
the academic needs of any institute.
The system shall provide features to the user of an educational institute to be part of
different types of groups, share data and documents amongst different users, have discussion
threads, instant notifications via email/message, assignment submissions, blogs, share old
papers, availability of books and other useful stuff (buy/sell), online survey etc.
2.4 GLOSSARY:
CMS: Course Management System
UI: User Interface
UML: Unified Modelling Language
DFD: Data Flow Diagram
NFR: Non-functional Requirements
20
Functional Requirements are also called Functional Specification.
Example:-
1. COURSE REGISTRATION:
Description: To enter into the site user has to register himself first. Requirements of
registration are first name, last name, username, email, password etc.
Input: User Details.
Output: Filled registration details, processing user details are checked with database.
2. USER LOGIN:
Product Requirements
Organizational Requirements
External Requirements
PRODUCT REQUIREMENTS: These specify the constraints that effect the behavior of
the system. (How fast it must execute, how much memory it needs).
EXTERNAL REQUIREMENTS: These are derived from factors external to the system and
development process.(Interoperability requirements, legislative requirements).
21
Examples:
Performance Requirements:
The system need to be reliable.
If unable to process the request then appropriate error message will be given.
Web pages are loaded with in few seconds.
Safety Requirements:
The details need to be maintained properly.
User must be authenticated.
The database must be kept backed up.
Security Requirements:
The details of the user must be safe and private.
Content Presentation
Easy Navigation
Simple Interface
Responsive
Consistent UI Elements
Feedback Mechanism
User Centric Approach
Group Based View Settings
Operating System: Windows 10 64/32 Bit, Windows 8.1 32/64 Bit, Windows 7
Ultimate 64/32 Bit.
Platform: Java
22
2.6 SYSTEM MODELS
System models are abstract descriptions of systems whose requirements are being
analyzed. Types of system models:
1. Context models
2. Behavioral models
3. Data models
4. Object models
5. Structured models
CONTEXT MODELS:
BEHAVIORAL MODELS:
23
Disadvantage
Number of possible states increases rapidly for large system models
DATA MODELS:
OBJECT MODELS
INHERITANCE MODELS
OBJECT AGGREGATION:
Some objects are grouping of other objects. An aggregate of a set of other objects.
The classes representing these objects may be modelled using an object aggregation model.
OBJECT-BEHAVIORAL MODEL:
24
In this context, a “system” is something being developed or operated, such as a
website. The “actors” are people or entities operating under defined roles within the system.
25
Fig: 2.6.2 Sequence Diagram For CMS.
26
Fig:2.6.3 Class Diagram For CMS.
27
Fig: 2.6.4 Activity Diagram For CMS.
28
Fig: 2.6.5 Data Flow Diagram For CMS.
29
CHAPTER 3
EASY LEAVE
30