Bansilal Ramnath Agarwal Charitable Trust’s

Vishwakarma Institute Of Technology, Pune-37
Department Of Computer Engineering

Project Synopsis
Group No

: I-08

Group Members:
Roll Name

Class Contact No

Email-ID

No
07

Swapnil Bhala

B.E.-J

9850335176

swapnil.bhala@gmail.com

39

Kailash Vetal

B.E.-J

02026991665

Kailash.vetal47@gmail.com

40

Sagar Shintre

B.E.-J

9970290528

sagarshintre_003@rediffmail.com

Academic Year

: 2008-09

Project Title

: Application Monitoring System

Project Area

: Computer Networks/ Real Time Systems

Sponsor Company
: Cognizant Technology Solution India Pvt. Ltd
Company Address : Plot No. 26/27, Pune IT Park, MIDC, Hinjewadi, Pune,
Maharashtra 411027
Internal Guide

: Mr.J.B.Karande

Name of the
External Guide
Contact No

: Mr.Sandeep Bhale
: 9822976583

Signature of Internal Guide

1

Table of Contents

Project Synopsis

Feasibility Study Report

Project Plan

14

System Requirement Specification

18

Use Case Diagrams

25

Sequence Diagrams

30

State-Chart Diagrams

37

Activity Diagrams

40

System Design

42

3
8

2

Vishwakarma Institute of Technology, Pune-37.

Application Monitoring System

Bansilal Ramnath Agarwal Charitable
Trust’s
09/24/2008

Approvals Signature Block
Project Responsibility

Signature

Project Guide (Internal)
Project Guide (External)
Documentation Leader

3

Date

Department of Computer Engineering

Table of Contents
1. CONTEXT

..............................................................................................................................6

2. PROBLEM

.............................................................................................................................7

3. SOLUTION.................................................................................................................................................8
4. BENEFITS...................................................................................................................................................9
5. INTRODUCTION

............................................................................................................13

5.1 PURPOSE......................................................................................................................................................13
5.2 METHODOLOGY.............................................................................................................................................14
5.3 REFERENCES.................................................................................................................................................14
6. GENERAL INFORMATION..................................................................................................................14
6.1 CURRENT SYSTEMS AND PROCESSES ...............................................................................................................14
6.2 SYSTEM OBJECTIVES......................................................................................................................................14
6.3 ISSUES.........................................................................................................................................................16
6.4 ASSUMPTIONS AND CONSTRAINTS....................................................................................................................16
7. ALTERNATIVES......................................................................................................................................16
7.1 COMPARISONS OF ALTERNATIVES ....................................................................................................................16
8. RECOMMENDATIONS AND CONCLUSION....................................................................................17
9. OVERVIEW
10. GOALS AND SCOPE

.....................................................................................................................21
.......................................................................................................22

10.1 PROJECT GOALS..........................................................................................................................................22
10.2 PROJECT SCOPE.........................................................................................................................................22
10.2.1 Included.......................................................................................................................................23
10.2.2 Excluded......................................................................................................................................23
11. SCHEDULE AND MILESTONES........................................................................................................23
12. INTRODUCTION

..........................................................................................................28

12.1 PURPOSE....................................................................................................................................................28
12.2 SCOPE.......................................................................................................................................................28
12.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................................................28
12.4 REFERENCES...............................................................................................................................................29
12.5 OVERVIEW.................................................................................................................................................29
13. OVERALL DESCRIPTION..................................................................................................................29
PROBLEM STATEMENT.........................................................................................................................................29
13.1 PRODUCT PERSPECTIVE................................................................................................................................30
PRODUCT POSITION STATEMENT............................................................................................................................30
13.1.1 System Interfaces........................................................................................................................30
13.1.2 User Interfaces............................................................................................................................30

4

13.1.3 Hardware Interfaces....................................................................................................................31
13.2 PRODUCT FUNCTIONS...................................................................................................................................31
13.3 ASSUMPTIONS AND DEPENDENCIES.................................................................................................................31
14. SPECIFIC REQUIREMENTS..............................................................................................................31
14.1 FUNCTIONS.................................................................................................................................................31
14.2 LOGICAL DATABASE REQUIREMENTS..............................................................................................................31
14.3 SOFTWARE SYSTEM ATTRIBUTES....................................................................................................................31
14.3.1 Reliability....................................................................................................................................31
14.3.2 Security.......................................................................................................................................32
14.3.3 Portability....................................................................................................................................32
14.3.4 Efficiency....................................................................................................................................32
15. USE CASE TEMPLATE........................................................................................................................37
USE CASE # 1..............................................................................................................................................39
USE CASE # 2..............................................................................................................................................40
16. SEQUENCE DIAGRAM OVERVIEW

...................................................................................44

16.1 SCENARIO DESCRIPTION...............................................................................................................................44
17. MESSAGE DESCRIPTION..................................................................................................................44
18. SEQUENCE DIAGRAM OVERVIEW

...................................................................................46

18.1 SCENARIO DESCRIPTION...............................................................................................................................47
19. MESSAGE DESCRIPTION..................................................................................................................47
20. STATE CHART DIAGRAM OVERVIEW

.............................................................................52

20.1 STATES DESCRIPTION..................................................................................................................................52
21. CLASS DIAGRAM DESCRIPTION....................................................................................................59
21.1 CRC TEMPLATE.........................................................................................................................................59
21.2 CRC CARDS OVERVIEW..............................................................................................................................61
Responsibility........................................................................................................................................61
Collaborator..........................................................................................................................................62
Domain Users (3-5 people)...................................................................................................................62
OO Design Analyst (1-2 people)...........................................................................................................62
Facilitator (1 person).............................................................................................................................63
Scribe (1-2 people)................................................................................................................................63
Observers (0-N people).........................................................................................................................63
The CRC Technique..............................................................................................................................64
Selecting a Scenario..............................................................................................................................64
Creating Initial CRC Card(s)................................................................................................................64
Arranging the CRC Cards.....................................................................................................................65
The CRC Interview...............................................................................................................................65
Finding Classes.....................................................................................................................................65
Finding Collaborators...........................................................................................................................66
21.2.1 General Guidelines......................................................................................................................67
21.2.2 Class Style Guidelines................................................................................................................68
21.2.3 Interfaces.....................................................................................................................................70
21.2.4 Relationship Guidelines..............................................................................................................71
21.2.5 Inheritance Guidelines................................................................................................................73
21.2.6 Aggregation and Composition Guidelines..................................................................................73
21.3 CLASS DIAGRAM.........................................................................................................................................75

5

1.CONTEXT
In large, complicated systems, which depend on various applications for their
smooth functioning, application monitoring plays a vital role by helping to detect the
problems and act on them before they become critical. But unfortunately much
attention is not paid to develop the effective application monitoring system till now.
The available systems monitor client–side systems health rather than monitoring
applications which may lead to inaccurate results. Also these systems are heavy on
client side and have poor error reporting capabilities which creates need of the new
effective, efficient, light-weight Application monitoring system.

6

In proposed application monitoring system applications are monitored constantly in
order to address any issue before it becomes a serious issue using Health Monitoring
system. Health monitoring is a simple arrangement in which a snapshot of system &
application parameters is compared with the standard benchmarks for finding health
of the system.
The monitoring process is continued to execute multiple number of times by
deciding the polling interval depending upon the criticality of the applications.
Depending upon the criticality of the applications, the monitoring can be performed
at frequent intervals as required. The process of deployment and working of the
application monitoring system can be shown as:
STEP 1: Application Monitoring Program is installed locally on a Client that has
applications that need to be monitored.
STEP 2: Application Monitoring Program starts one or more programs that admin
specify.
STEP 3: Configure your network monitoring tool* to monitor the appropriate TCP/IP
port where Application Monitoring System resides.
The project helps a great deal in resolving problems on the client side
thus reducing the load on the administrator. Precise error reporting & event logging
in the system will help administrator to great extend while diagnosis of the problem.
The monitoring of system for efficient utilization of resources increases performance
of applications at client side. In this way the project serves as an important
application for business firm and software industry.

2.PROBLEM
The system should find applications which are vital for business process and
decides performance of the business firm. This application must be embedded
directly into the monitoring system for monitoring values of crucial parameters.
The system should set benchmark for every client before monitoring. The system
must check the crucial parameter values of client side application for detecting its
health.

7

Application monitoring system must generate event log data and alert report as
an output for the debugging of the error and automated or manual error correction.
The monitoring system requires few network resources as well as memory for
sending the parameters value to administrator.

3.SOLUTION
In order to enable the administrator to perform well and to enable the correction of
minor errors at the client-side, we will implement the Application Monitoring Wizard
which will takes care of the client side applications and reports to the administrator in
case of any discrepancy.
This project will mainly extends to the monitoring of system specific important
applications to check for the occurrence of errors through use of certain control
parameters and generate reports and alerts. The monitoring process will continue to
execute multiple numbers of times by deciding the polling interval depending upon
the criticality of the applications. Thus we will get a complete overview of the
performance of the various applications in our system after specific time intervals.
Depending upon the

criticality of the applications, the monitoring will perform at

frequent intervals as require.
The project extends to the development of the wizard, which monitors the
embedded applications and generates reports and alert messages. Also a database
is maintained, which will has records of all the errors encountered till date.

8

4.BENEFITS

Proactive Monitoring :
You can prevent failures in your applications even before your users notice them.

This proactive monitoring can be done by setting thresholds for application variables.
When thresholds are crossed, you can opt to get notified through standard
mechanisms.

Integrated Applications, Servers, and Systems Monitoring :
Applications Manager is an integrated solution that provides you insight into your

diverse applications. You do not have to rely on multiple monitoring tools for each of
your IT resource. Applications Manager provides a single view of your entire business
infrastructure.

An Affordable Solution :
With its low price and ease of deployment, Applications Manager enables a very

affordable alternative to manage complex applications and servers. Applications
Manager requires standard hardware, supports multiple operating systems, and can
be used without extensive training.

9

Vishwakarma Institute of Technology, Pune-37.

Application monitoring system

Bansilal Ramnath Agarwal Charitable
Trust’s
10/ 11 /2008

Approvals Signature Block
Project Responsibility

Signature

Project Guide (Internal)
Project Guide (External)
Documentation Leader

Department of Computer Engineering

10

Date

Table of Contents
1. CONTEXT

..............................................................................................................................6

2. PROBLEM

.............................................................................................................................7

3. SOLUTION.................................................................................................................................................8
4. BENEFITS...................................................................................................................................................9
5. INTRODUCTION

............................................................................................................13

5.1 PURPOSE......................................................................................................................................................13
5.2 METHODOLOGY.............................................................................................................................................14
5.3 REFERENCES.................................................................................................................................................14
6. GENERAL INFORMATION..................................................................................................................14
6.1 CURRENT SYSTEMS AND PROCESSES ...............................................................................................................14
6.2 SYSTEM OBJECTIVES......................................................................................................................................14
6.3 ISSUES.........................................................................................................................................................16
6.4 ASSUMPTIONS AND CONSTRAINTS....................................................................................................................16
7. ALTERNATIVES......................................................................................................................................16
7.1 COMPARISONS OF ALTERNATIVES ....................................................................................................................16
8. RECOMMENDATIONS AND CONCLUSION....................................................................................17
9. OVERVIEW
10. GOALS AND SCOPE

.....................................................................................................................21
.......................................................................................................22

10.1 PROJECT GOALS..........................................................................................................................................22
10.2 PROJECT SCOPE.........................................................................................................................................22
10.2.1 Included.......................................................................................................................................23
10.2.2 Excluded......................................................................................................................................23
11. SCHEDULE AND MILESTONES........................................................................................................23
12. INTRODUCTION

..........................................................................................................28

12.1 PURPOSE....................................................................................................................................................28
12.2 SCOPE.......................................................................................................................................................28
12.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................................................28
12.4 REFERENCES...............................................................................................................................................29
12.5 OVERVIEW.................................................................................................................................................29
13. OVERALL DESCRIPTION..................................................................................................................29
PROBLEM STATEMENT.........................................................................................................................................29
13.1 PRODUCT PERSPECTIVE................................................................................................................................30
PRODUCT POSITION STATEMENT............................................................................................................................30
13.1.1 System Interfaces........................................................................................................................30
13.1.2 User Interfaces............................................................................................................................30
13.1.3 Hardware Interfaces....................................................................................................................31
13.2 PRODUCT FUNCTIONS...................................................................................................................................31
13.3 ASSUMPTIONS AND DEPENDENCIES.................................................................................................................31
14. SPECIFIC REQUIREMENTS..............................................................................................................31
14.1 FUNCTIONS.................................................................................................................................................31

11

14.2 LOGICAL DATABASE REQUIREMENTS ..............................................................................................................31
14.3 SOFTWARE SYSTEM ATTRIBUTES....................................................................................................................31
14.3.1 Reliability....................................................................................................................................31
14.3.2 Security.......................................................................................................................................32
14.3.3 Portability....................................................................................................................................32
14.3.4 Efficiency....................................................................................................................................32
15. USE CASE TEMPLATE........................................................................................................................37
USE CASE # 1..............................................................................................................................................39
USE CASE # 2..............................................................................................................................................40
16. SEQUENCE DIAGRAM OVERVIEW

...................................................................................44

16.1 SCENARIO DESCRIPTION...............................................................................................................................44
17. MESSAGE DESCRIPTION..................................................................................................................44
18. SEQUENCE DIAGRAM OVERVIEW

...................................................................................46

18.1 SCENARIO DESCRIPTION...............................................................................................................................47
19. MESSAGE DESCRIPTION..................................................................................................................47
20. STATE CHART DIAGRAM OVERVIEW

.............................................................................52

20.1 STATES DESCRIPTION..................................................................................................................................52
21. CLASS DIAGRAM DESCRIPTION....................................................................................................59
21.1 CRC TEMPLATE.........................................................................................................................................59
21.2 CRC CARDS OVERVIEW..............................................................................................................................61
Responsibility........................................................................................................................................61
Collaborator..........................................................................................................................................62
Domain Users (3-5 people)...................................................................................................................62
OO Design Analyst (1-2 people)...........................................................................................................62
Facilitator (1 person).............................................................................................................................63
Scribe (1-2 people)................................................................................................................................63
Observers (0-N people).........................................................................................................................63
The CRC Technique..............................................................................................................................64
Selecting a Scenario..............................................................................................................................64
Creating Initial CRC Card(s)................................................................................................................64
Arranging the CRC Cards.....................................................................................................................65
The CRC Interview...............................................................................................................................65
Finding Classes.....................................................................................................................................65
Finding Collaborators...........................................................................................................................66
21.2.1 General Guidelines......................................................................................................................67
21.2.2 Class Style Guidelines................................................................................................................68
21.2.3 Interfaces.....................................................................................................................................70
21.2.4 Relationship Guidelines..............................................................................................................71
21.2.5 Inheritance Guidelines................................................................................................................73
21.2.6 Aggregation and Composition Guidelines..................................................................................73
21.3 CLASS DIAGRAM.........................................................................................................................................75

12

5.INTRODUCTION
This document provides the purpose of the feasibility study, the background of the
proposed project, the methodology used for performing the study, and any reference
materials used in conducting the feasibility study.
In complicated systems used these days, there is lot of overhead on the
administrator of the system so as to keep track of the clients. This may lead to low
performance by the administrator and may also lead to low performance by the system.
So in order to enable the administrator to perform well and to enable the correction of
minor errors at the client-side, we implement the Application Monitoring Wizard which
takes

care

of

the

client

side

applications

and

reports

to

the administrator in case of any discrepancy.

5.1PURPOSE
The purpose of feasibility study is to analyze the existing Application Monitoring
System and new features that can help to increase the accuracy. This document studies
whether the proposed system is realizable or not. Also, it includes whether the problem

13

exists and solution to be implemented would be able to solve the problem or not. It is
also useful for deciding the constraints on the system and assumptions to be made while
implementing the solution.
The feasibility study takes into account the following factors:

Technology

Hardware Characteristics

Resources

5.2METHODOLOGY
Following techniques are used to understand the feasibility of the system to be
created.
Surveying:
This part of studying feasibility consists of exactly studying the proposed system by
collecting information through different sources like finding information about the similar
line products etc.

5.3REFERENCES
1.www.monitools.com
2.www.ibm.com
3.www.java.sun.com
4.IEEE paper on "Parameter passing for the JVM" by Gough, K. J,Computer Science
Conference, 2000, ACSC 2000, 23rd Australasian
5. "NetRexx Programming for the JVM" by Rick Hightower

6.GENERAL INFORMATION
6.1CURRENT SYSTEMS AND PROCESSES
Some currently implemented monitoring Application monitor one application only.

6.2SYSTEM OBJECTIVES

14

General Description of Proposed System:
The aim of the project is to enable the constant monitoring of software
applications to check for the occurrence of errors through use of certain control
parameters and generate reports and alerts.
Major Performance objectives:
a. Whether the System will be automated?
The generation of alerts and reports will be automated by the Client side
application. The user only needs to enter verification id to view this reports.
b. Functionalities:
Application Monitoring System provides safe way to monitor crucial Application. It
provides the following functionalities:
1. Check the values of critical parameters of embedded application.
2. Determine the health status of application.
3. Determine and keep track of errors.

Processes and Operations Required
Process
Retrieve values of critical parameter
Comparison of critical parameter
Create report
Send report/alerts to Server

Method Used
For
Implementation
MonitoringThrea
d
StringCompare
create report
SOCKET

System End Product
The end product is an Application Monitoring Tool implemented using NetBeans
IDE 6.1 for client and server side(optional)
Client
o Install Application:
o

Retrieve values of critical parameter

o

Create Report

o

Notification: It notifies server about values of parameter and health status.

15

Server
o View reports.
o

Take proper step to increase performance.

6.3ISSUES
1. User may get frustrated by getting notifications.

6.4ASSUMPTIONS AND CONSTRAINTS
INSTALLATION
The Application that our Application will monitor must install first.
INTERACTION WITH APPLICATION
To check values of critical parameters, we can make use of thread concept to
make it more effective. Also it makes use of URL from browser so Internet Explorer
comes into picture.
FINANCIAL CONSIDERATIONS FOR DEVELOPMENT AND OPERATIONAL COSTS
The final product if revised with special services, they can increase the cost of the
system.

7.ALTERNATIVES
Software Alternatives
This category consists of all software alternatives and the effect it will have on the
overall proposed system.
1. Database Management Systems
Instead of using NetBeans, other software like eclipse may be used.

7.1COMPARISONS OF ALTERNATIVES
Alternative

Reliability

Efficiency

Integrity

Flexibility

Maintainability

Reusability

Software Alternative(DBMS)
NetBeans

High

High

High

High

High

Medium

Eclipse

Medium

High

High

High

Low

High

16

8.RECOMMENDATIONS AND CONCLUSION
In today's world, we see multiple complicated systems which have multiple clients
working together in co-ordination. These clients have many applications installed which
form a part of the system. If any of these applications face any problem, it affects the
smooth working of the entire system. Thus to avoid the error occurring in the applications
at the clients side, we use the application monitoring Wizard which will help solve the
problems before they reach a critical state.

Vishwakarma Institute of Technology, Pune-37.

Application monitoring system

Bansilal Ramnath Agarwal Charitable
Trust’s
10/ 11 /2008

17

Approvals Signature Block
Project Responsibility

Signature

Project Guide (Internal)
Project Guide (External)
Documentation Leader

Department of Computer Engineering

18

Date

Table of Contents
1. CONTEXT

..............................................................................................................................6

2. PROBLEM

.............................................................................................................................7

3. SOLUTION.................................................................................................................................................8
4. BENEFITS...................................................................................................................................................9
5. INTRODUCTION

............................................................................................................13

5.1 PURPOSE......................................................................................................................................................13
5.2 METHODOLOGY.............................................................................................................................................14
5.3 REFERENCES.................................................................................................................................................14
6. GENERAL INFORMATION..................................................................................................................14
6.1 CURRENT SYSTEMS AND PROCESSES ...............................................................................................................14
6.2 SYSTEM OBJECTIVES......................................................................................................................................14
6.3 ISSUES.........................................................................................................................................................16
6.4 ASSUMPTIONS AND CONSTRAINTS....................................................................................................................16
7. ALTERNATIVES......................................................................................................................................16
7.1 COMPARISONS OF ALTERNATIVES ....................................................................................................................16
8. RECOMMENDATIONS AND CONCLUSION....................................................................................17
9. OVERVIEW
10. GOALS AND SCOPE

.....................................................................................................................21
.......................................................................................................22

10.1 PROJECT GOALS..........................................................................................................................................22
10.2 PROJECT SCOPE.........................................................................................................................................22
10.2.1 Included.......................................................................................................................................23
10.2.2 Excluded......................................................................................................................................23
11. SCHEDULE AND MILESTONES........................................................................................................23
12. INTRODUCTION

..........................................................................................................28

12.1 PURPOSE....................................................................................................................................................28
12.2 SCOPE.......................................................................................................................................................28
12.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................................................28
12.4 REFERENCES...............................................................................................................................................29
12.5 OVERVIEW.................................................................................................................................................29
13. OVERALL DESCRIPTION..................................................................................................................29
PROBLEM STATEMENT.........................................................................................................................................29
13.1 PRODUCT PERSPECTIVE................................................................................................................................30
PRODUCT POSITION STATEMENT............................................................................................................................30
13.1.1 System Interfaces........................................................................................................................30
13.1.2 User Interfaces............................................................................................................................30
13.1.3 Hardware Interfaces....................................................................................................................31
13.2 PRODUCT FUNCTIONS...................................................................................................................................31
13.3 ASSUMPTIONS AND DEPENDENCIES.................................................................................................................31
14. SPECIFIC REQUIREMENTS..............................................................................................................31
14.1 FUNCTIONS.................................................................................................................................................31
14.2 LOGICAL DATABASE REQUIREMENTS..............................................................................................................31
14.3 SOFTWARE SYSTEM ATTRIBUTES....................................................................................................................31

19

14.3.1 Reliability....................................................................................................................................31
14.3.2 Security.......................................................................................................................................32
14.3.3 Portability....................................................................................................................................32
14.3.4 Efficiency....................................................................................................................................32
15. USE CASE TEMPLATE........................................................................................................................37
USE CASE # 1..............................................................................................................................................39
USE CASE # 2..............................................................................................................................................40
16. SEQUENCE DIAGRAM OVERVIEW

...................................................................................44

16.1 SCENARIO DESCRIPTION...............................................................................................................................44
17. MESSAGE DESCRIPTION..................................................................................................................44
18. SEQUENCE DIAGRAM OVERVIEW

...................................................................................46

18.1 SCENARIO DESCRIPTION...............................................................................................................................47
19. MESSAGE DESCRIPTION..................................................................................................................47
20. STATE CHART DIAGRAM OVERVIEW

.............................................................................52

20.1 STATES DESCRIPTION..................................................................................................................................52
21. CLASS DIAGRAM DESCRIPTION....................................................................................................59
21.1 CRC TEMPLATE.........................................................................................................................................59
21.2 CRC CARDS OVERVIEW..............................................................................................................................61
Responsibility........................................................................................................................................61
Collaborator..........................................................................................................................................62
Domain Users (3-5 people)...................................................................................................................62
OO Design Analyst (1-2 people)...........................................................................................................62
Facilitator (1 person).............................................................................................................................63
Scribe (1-2 people)................................................................................................................................63
Observers (0-N people).........................................................................................................................63
The CRC Technique..............................................................................................................................64
Selecting a Scenario..............................................................................................................................64
Creating Initial CRC Card(s)................................................................................................................64
Arranging the CRC Cards.....................................................................................................................65
The CRC Interview...............................................................................................................................65
Finding Classes.....................................................................................................................................65
Finding Collaborators...........................................................................................................................66
21.2.1 General Guidelines......................................................................................................................67
21.2.2 Class Style Guidelines................................................................................................................68
21.2.3 Interfaces.....................................................................................................................................70
21.2.4 Relationship Guidelines..............................................................................................................71
21.2.5 Inheritance Guidelines................................................................................................................73
21.2.6 Aggregation and Composition Guidelines..................................................................................73
21.3 CLASS DIAGRAM.........................................................................................................................................75

20

9.OVERVIEW

The motivation for this project is the need to implement an Monitoring Tool 
using Thread Concept which will help the users to recognize the errors in 
working of crucial application.

 The customer is any user who was dealing with Complex System 

 The project will deliver an executable program for monitoring of control 
parameter for client side another executable for administrator side to view 
reports and alerts.installation guide to help user to install the program and 
user guide to solve the problems of the user.

The first fully functional version will be released around 31st Feb, 
2009.Future Versions and bug fixes would be released in the future.

21

The organizations involved are Vishwakarma Institute of Technology (VIT), 
Cognizant Technology Solution India Pvt. Ltd. 

10.GOALS AND SCOPE
10.1PROJECT GOALS
Project Goal

Priority Comment/Description/Reference

Functional Goals:
<functional goal #1>

1

To design and implement a component for
embedding the user application into to system with

<functional goal #2>

1

flexibility to select parameters, .
To design and implement component which will
maintain database of the monitored parameters

<functional goal #3>

2

values
To design a component which report to
Administrator and provide statically data and

<functional goal #4>
Quality Goals:
<quality goal #1>

3
2

pictorial representation.
To develop interactive and user friendly interfaces.
To provide a system that gives more flexibility to
Administrator empower for monitoring particular

<quality goal #2>

system.
To create a system with minimum resource
requirement at client-side

Constraints:
<Flexibility>

The system is not supposed to take any preventing
action when problem is detected.

10.2 PROJECT SCOPE

The proposed system will deliver report to Administrator about 
performance of monitoring application.

22

The proposed system will not deliver correction of error.

10.2.1Included

The project will deliver an executable program for Monitoring  Application 
like JVM, Tomcat, Websites and  another executable for server to view 
reports, installation guide to help user to install the program and user 
guide to solve the problems of the user.
The receivers of this project would be Vishwakarma Institute of
Technology (VIT), Cognizant Technology Solution India Pvt. Ltd.

10.2.2Excluded
This project will exclude…..

Training to end users.

11.SCHEDULE AND MILESTONES

Milestones

Description

Milestone Criteria

Planned
Date

M0

Start Project

Budget Release

Understand the

Research on the domain to

requirements and define

clearly identify the

project goals and scope.

requirements. Project

25-09-2008

synopsis and SRS delivered
M1

Start Planning
Objectives and strategy

17-10-2008
Implementation language,

defined and feasibility

standards and protocols to be

studied.

followed are decided.

23

Milestones

Description

Milestone Criteria

Planned
Date

M2

M3

Start Execution
Complete project plan

User interface libraries

defined and reusable

defined and project plan

modules identified.

reviewed.

Confirm Execution
First version completed

01-12-2008

20-01-2009
All basic functionalities tested
and verified.

M4

Start Introduction
First version of product

30-01-2009
Coding of new functionality

ready to be delivered.

finished,
Draft documentation

M5

M6

Release Product
Final version completed
with enhancements.
Close Project

31-03-2009
Product system tested,
documentation reviewed
10-04-2009

Vishwakarma Institute of Technology, Pune-37.

Application monitoring system

Bansilal Ramnath Agarwal Charitable
Trust’s
10/ 18 /2008

24

Approvals Signature Block
Project Responsibility

Signature

Project Guide (Internal)
Project Guide (External)
Documentation Leader

Department of Computer Engineering

25

Date

Table of Contents
1. CONTEXT

..............................................................................................................................6

2. PROBLEM

.............................................................................................................................7

3. SOLUTION.................................................................................................................................................8
4. BENEFITS...................................................................................................................................................9
5. INTRODUCTION

............................................................................................................13

5.1 PURPOSE......................................................................................................................................................13
5.2 METHODOLOGY.............................................................................................................................................14
5.3 REFERENCES.................................................................................................................................................14
6. GENERAL INFORMATION..................................................................................................................14
6.1 CURRENT SYSTEMS AND PROCESSES ...............................................................................................................14
6.2 SYSTEM OBJECTIVES......................................................................................................................................14
6.3 ISSUES.........................................................................................................................................................16
6.4 ASSUMPTIONS AND CONSTRAINTS....................................................................................................................16
7. ALTERNATIVES......................................................................................................................................16
7.1 COMPARISONS OF ALTERNATIVES ....................................................................................................................16
8. RECOMMENDATIONS AND CONCLUSION....................................................................................17
9. OVERVIEW
10. GOALS AND SCOPE

.....................................................................................................................21
.......................................................................................................22

10.1 PROJECT GOALS..........................................................................................................................................22
10.2 PROJECT SCOPE.........................................................................................................................................22
10.2.1 Included.......................................................................................................................................23
10.2.2 Excluded......................................................................................................................................23
11. SCHEDULE AND MILESTONES........................................................................................................23
12. INTRODUCTION

..........................................................................................................28

12.1 PURPOSE....................................................................................................................................................28
12.2 SCOPE.......................................................................................................................................................28
12.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................................................28
12.4 REFERENCES...............................................................................................................................................29
12.5 OVERVIEW.................................................................................................................................................29
13. OVERALL DESCRIPTION..................................................................................................................29
PROBLEM STATEMENT.........................................................................................................................................29
13.1 PRODUCT PERSPECTIVE................................................................................................................................30
PRODUCT POSITION STATEMENT............................................................................................................................30
13.1.1 System Interfaces........................................................................................................................30
13.1.2 User Interfaces............................................................................................................................30
13.1.3 Hardware Interfaces....................................................................................................................31
13.2 PRODUCT FUNCTIONS...................................................................................................................................31
13.3 ASSUMPTIONS AND DEPENDENCIES.................................................................................................................31
14. SPECIFIC REQUIREMENTS..............................................................................................................31
14.1 FUNCTIONS.................................................................................................................................................31
14.2 LOGICAL DATABASE REQUIREMENTS..............................................................................................................31
14.3 SOFTWARE SYSTEM ATTRIBUTES....................................................................................................................31

26

14.3.1 Reliability....................................................................................................................................31
14.3.2 Security.......................................................................................................................................32
14.3.3 Portability....................................................................................................................................32
14.3.4 Efficiency....................................................................................................................................32
15. USE CASE TEMPLATE........................................................................................................................37
USE CASE # 1..............................................................................................................................................39
USE CASE # 2..............................................................................................................................................40
16. SEQUENCE DIAGRAM OVERVIEW

...................................................................................44

16.1 SCENARIO DESCRIPTION...............................................................................................................................44
17. MESSAGE DESCRIPTION..................................................................................................................44
18. SEQUENCE DIAGRAM OVERVIEW

...................................................................................46

18.1 SCENARIO DESCRIPTION...............................................................................................................................47
19. MESSAGE DESCRIPTION..................................................................................................................47
20. STATE CHART DIAGRAM OVERVIEW

.............................................................................52

20.1 STATES DESCRIPTION..................................................................................................................................52
21. CLASS DIAGRAM DESCRIPTION....................................................................................................59
21.1 CRC TEMPLATE.........................................................................................................................................59
21.2 CRC CARDS OVERVIEW..............................................................................................................................61
Responsibility........................................................................................................................................61
Collaborator..........................................................................................................................................62
Domain Users (3-5 people)...................................................................................................................62
OO Design Analyst (1-2 people)...........................................................................................................62
Facilitator (1 person).............................................................................................................................63
Scribe (1-2 people)................................................................................................................................63
Observers (0-N people).........................................................................................................................63
The CRC Technique..............................................................................................................................64
Selecting a Scenario..............................................................................................................................64
Creating Initial CRC Card(s)................................................................................................................64
Arranging the CRC Cards.....................................................................................................................65
The CRC Interview...............................................................................................................................65
Finding Classes.....................................................................................................................................65
Finding Collaborators...........................................................................................................................66
21.2.1 General Guidelines......................................................................................................................67
21.2.2 Class Style Guidelines................................................................................................................68
21.2.3 Interfaces.....................................................................................................................................70
21.2.4 Relationship Guidelines..............................................................................................................71
21.2.5 Inheritance Guidelines................................................................................................................73
21.2.6 Aggregation and Composition Guidelines..................................................................................73
21.3 CLASS DIAGRAM.........................................................................................................................................75

27

12.INTRODUCTION
This document is the Software Requirement Specification for ‘Application
Monitoring System’. This document details out the purpose of the system being
developed, its overall description and its specific requirements.

12.1PURPOSE
The purpose of this document is to collect, analyze and define high-level needs
and features of the Application Monitoring. It focuses on the capabilities needed by the
stakeholders, and the target users, and why these needs exist. This document will also
introduce all the functionalities that the system can perform and its effect on the users
and the stakeholders. The intended audiences for this SRS are system developers,
system analysts.

12.2SCOPE
This project mainly extends to the monitoring of system specific important
applications to check for the occurrence of errors through use of certain control
parameters and generate reports and alerts. The monitoring process is continued to
execute multiple number of times by deciding the polling interval depending upon the
criticality of the applications. Thus we get a complete overview of the performance of the
various applications in our system after specific time intervals. Depending upon the
criticality of the applications, the monitoring can be performed at frequent intervals as
required.
The project extends to the development of the wizard, which monitors the
embedded applications and generates reports and alert messages. Also a database is
maintained, which has records of all the errors encountered till date. Applications used
for monitoring include:

· JVM
· Tomcat server
12.3DEFINITIONS, ACRONYMS, AND ABBREVIATIONS
Term or Acronym
AMS
JVM

Definition
Application Monitoring System
Java Virtual Machine

28

12.4REFERENCES
1. www.ibm.com
2. www.java.sun.com
3. IEEE paper on "Parameter passing for the JVM" by Gough, K. J,
Computer Science Conference, 2000, ACSC 2000, 23rd Australasian
4. "NetRexx Programming for the JVM" by Rick Hightower

12.5OVERVIEW
The document is divided into three Sections.
Section 1 introduces you to the system as a whole, its capabilities and how it is
different from other tools. It describes the scope of the system being developed and the
references that were needed to give a shape to this system.
Section 2 describes you to the history for the project under consideration. It
compares the existing system with the proposed system.
Section 3 Describes the Product’s Perspective, the various Interfaces of the system,
its functions, user characteristics, constraints, assumptions and dependencies and also
describes external interfaces to the system, performance requirements, design
constraints, system attributes and system specific requirements.

13.OVERALL DESCRIPTION
In complicated systems used these days, there is lot of overhead on the
administrator of the system so as to keep track of the clients. This may lead to low
performance by the administrator and may also lead to low performance by the system.
So in order to enable the administrator to perform well and to enable the correction of
minor errors at the client-side, we implement the Application Monitoring Wizard which
takes care of the client side applications and reports to
the administrator in case of any discrepancy.

PROBLEM STATEMENT
The problem of
Affects
The impact of which is
A successful solution

(the stakeholders affected by the problem).
(what is the impact of the problem).
The constant monitoring of software

29

would

applications to check for the occurrence of
errors through use of certain control
parameters and Generate reports and alerts
before before it becomes a serious issue.

13.1PRODUCT PERSPECTIVE
PRODUCT POSITION STATEMENT
For
Who
The Application
Monitoring
System
That
Our product

System Analysts
Involved in analyzing or marinating the client server link.
is a Monitoring
Helps businesses to ensure high availability and
performance for their business applications.
• Monitor the performance of various components of an application and helps
troubleshooting production issues quickly.
This helps reduce finger pointing and poor
quality of service to end users.
• Additionally with our product identifying
root cause of performance issues becomes
quicker.
• Also provides you with a business centric
view to monitoring IT resources. This further helps aligning your IT resources to
the needs of the business.

13.1.1System Interfaces
Our system interacts with the system in order to retrieve the values of required
parameters under consideration.

13.1.2User Interfaces
The wizard allows for user login. Once the user gets access to the software, he can start
monitoring of the applications depending upon his choice.

30

13.1.3Hardware Interfaces
User side device will be desktop PC or a Laptop having internet connection.

13.2PRODUCT FUNCTIONS


Retrieve parameter from embedded application
Compare that value with benchmark
Send alert repot to administrator and update log file

13.3ASSUMPTIONS AND DEPENDENCIES


User is having windows environment 2000 or later.
He is having Internet Connection.
Monitoring Application already install

14.SPECIFIC REQUIREMENTS
14.1FUNCTIONS
The system will perform the following functions:
• Retrieve value of critical parameter of monitoring application
• Compare that value with benchmark
• Write into Log File
• Generate Report by analyzing the Log file.

14.2LOGICAL DATABASE REQUIREMENTS


The information that needs to be maintained by the system is mainly the
performance log
The system also needs to maintain authentication information.
Frequency of use is frequent

14.3SOFTWARE SYSTEM ATTRIBUTES
14.3.1Reliability
Threading Concept is the standard mechanisms for handling multiple task which are
considered to be highly reliable. Our system also compares the above mechanisms
under different scenarios.

31

14.3.2Security

Only valid users are allowed to access the system, proper authentication
mechanisms are used for the same.
Communication is one side

14.3.3Portability

The system is designed in such a way that it will have applicability over various
domains.
The client is portable to any Windows (NT) operating system.

14.3.4Efficiency
The efficiency of the system depends on the time that is needed to process the query.
The efficiency of the system depends on the rate at which the requests are served by the
server.
ID
1
2
3
4

Characteristic
Correctness
Efficiency
Reliability
Security

32

Rank
1
3
2
4

Vishwakarma Institute of Technology, Pune-37.

Application monitoring system

Bansilal Ramnath Agarwal Charitable
Trust’s
10/18/2008

Approvals Signature Block
Project Responsibility

Signature

Project Guide (Internal)
Project Guide (External)
Documentation Leader

33

Date

Department of Computer Engineering

34

Table of Contents
1. CONTEXT

..............................................................................................................................6

2. PROBLEM

.............................................................................................................................7

3. SOLUTION.................................................................................................................................................8
4. BENEFITS...................................................................................................................................................9
5. INTRODUCTION

............................................................................................................13

5.1 PURPOSE......................................................................................................................................................13
5.2 METHODOLOGY.............................................................................................................................................14
5.3 REFERENCES.................................................................................................................................................14
6. GENERAL INFORMATION..................................................................................................................14
6.1 CURRENT SYSTEMS AND PROCESSES ...............................................................................................................14
6.2 SYSTEM OBJECTIVES......................................................................................................................................14
6.3 ISSUES.........................................................................................................................................................16
6.4 ASSUMPTIONS AND CONSTRAINTS....................................................................................................................16
7. ALTERNATIVES......................................................................................................................................16
7.1 COMPARISONS OF ALTERNATIVES ....................................................................................................................16
8. RECOMMENDATIONS AND CONCLUSION....................................................................................17
9. OVERVIEW
10. GOALS AND SCOPE

.....................................................................................................................21
.......................................................................................................22

10.1 PROJECT GOALS..........................................................................................................................................22
10.2 PROJECT SCOPE.........................................................................................................................................22
10.2.1 Included.......................................................................................................................................23
10.2.2 Excluded......................................................................................................................................23
11. SCHEDULE AND MILESTONES........................................................................................................23
12. INTRODUCTION

..........................................................................................................28

12.1 PURPOSE....................................................................................................................................................28
12.2 SCOPE.......................................................................................................................................................28
12.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................................................28
12.4 REFERENCES...............................................................................................................................................29
12.5 OVERVIEW.................................................................................................................................................29
13. OVERALL DESCRIPTION..................................................................................................................29
PROBLEM STATEMENT.........................................................................................................................................29
13.1 PRODUCT PERSPECTIVE................................................................................................................................30
PRODUCT POSITION STATEMENT............................................................................................................................30
13.1.1 System Interfaces........................................................................................................................30
13.1.2 User Interfaces............................................................................................................................30
13.1.3 Hardware Interfaces....................................................................................................................31
13.2 PRODUCT FUNCTIONS...................................................................................................................................31
13.3 ASSUMPTIONS AND DEPENDENCIES.................................................................................................................31
14. SPECIFIC REQUIREMENTS..............................................................................................................31
14.1 FUNCTIONS.................................................................................................................................................31
14.2 LOGICAL DATABASE REQUIREMENTS..............................................................................................................31

35

14.3 SOFTWARE SYSTEM ATTRIBUTES....................................................................................................................31
14.3.1 Reliability....................................................................................................................................31
14.3.2 Security.......................................................................................................................................32
14.3.3 Portability....................................................................................................................................32
14.3.4 Efficiency....................................................................................................................................32
15. USE CASE TEMPLATE........................................................................................................................37
USE CASE # 1..............................................................................................................................................39
USE CASE # 2..............................................................................................................................................40
16. SEQUENCE DIAGRAM OVERVIEW

...................................................................................44

16.1 SCENARIO DESCRIPTION...............................................................................................................................44
17. MESSAGE DESCRIPTION..................................................................................................................44
18. SEQUENCE DIAGRAM OVERVIEW

...................................................................................46

18.1 SCENARIO DESCRIPTION...............................................................................................................................47
19. MESSAGE DESCRIPTION..................................................................................................................47
20. STATE CHART DIAGRAM OVERVIEW

.............................................................................52

20.1 STATES DESCRIPTION..................................................................................................................................52
21. CLASS DIAGRAM DESCRIPTION....................................................................................................59
21.1 CRC TEMPLATE.........................................................................................................................................59
21.2 CRC CARDS OVERVIEW..............................................................................................................................61
Responsibility........................................................................................................................................61
Collaborator..........................................................................................................................................62
Domain Users (3-5 people)...................................................................................................................62
OO Design Analyst (1-2 people)...........................................................................................................62
Facilitator (1 person).............................................................................................................................63
Scribe (1-2 people)................................................................................................................................63
Observers (0-N people).........................................................................................................................63
The CRC Technique..............................................................................................................................64
Selecting a Scenario..............................................................................................................................64
Creating Initial CRC Card(s)................................................................................................................64
Arranging the CRC Cards.....................................................................................................................65
The CRC Interview...............................................................................................................................65
Finding Classes.....................................................................................................................................65
Finding Collaborators...........................................................................................................................66
21.2.1 General Guidelines......................................................................................................................67
21.2.2 Class Style Guidelines................................................................................................................68
21.2.3 Interfaces.....................................................................................................................................70
21.2.4 Relationship Guidelines..............................................................................................................71
21.2.5 Inheritance Guidelines................................................................................................................73
21.2.6 Aggregation and Composition Guidelines..................................................................................73
21.3 CLASS DIAGRAM.........................................................................................................................................75
USE CASE 2..................................................................................................................................................30

36

15.USE CASE TEMPLATE

37

Fig 6.1: System Context Diagram for Application Monitoring

38

Fig 6.2: Use Case Diagram for JVM Monitoring

JVM Monitoring

USE CASE # 1
Goal
Purpose
Preconditions
Success Condition
Failed Condition
Postconditions
Primary Actors

Monitoring
To Retrieve parameter values of JVM and compare values with
benchmark n forward result to Administrator
JVM running
Retrieve values of parameter
Unable in accessing JVM parameter
Alert is send to Administrator
1. Application
2. System Administrator

Trigger
DESCRIPTION

DESCRIPTION

DESCRIPTION

When Application wants to Monitor JVM
Step
Basic Course of Action
1
Retrieve values of JVM parameter
2
Compare retrieved parameter with benchmark
3
Send report to Administrator
Step
Alternate Course of Action
1
Send error report to Administrator
Step
Error Scenario
1
System is unable in retrieving critical parameters values

39

Fig 6.3: Use Case Diagram for Tomcat Monitoring
Tomcat Monitoring

USE CASE # 2
Goal
Purpose
Preconditions
Success Condition
Failed Condition
Postconditions
Primary Actors

Monitoring
To Retrieve parameter values of tomcat and compare values with
benchmark n forward result to Administrator
Tomcat running
Retrieve values of parameter
Unable in accessing Tomcat parameter
Alert is send to Administrator
2. Application
2. System Administrator

Trigger
DESCRIPTION

DESCRIPTION

DESCRIPTION

When Application wants to Monitor Tomcat
Step
Basic Course of Action
1
Retrieve values of Tomcat parameter
2
Compare retrieved parameter with benchmark
3
Send report to Administrator
Step
Alternate Course of Action
1
Send error report to Administrator
Step
Error Scenario
1
System is unable in retrieving critical parameters values

40

Vishwakarma Institute of Technology, Pune-37.

Application monitoring system

Bansilal Ramnath Agarwal Charitable
Trust’s
10/18/2008

Approvals Signature Block
Project Responsibility

Signature

Project Guide (Internal)
Project Guide (External)
Documentation Leader

Department of Computer Engineering

41

Date

Table of Contents
1. CONTEXT

..............................................................................................................................6

2. PROBLEM

.............................................................................................................................7

3. SOLUTION.................................................................................................................................................8
4. BENEFITS...................................................................................................................................................9
5. INTRODUCTION

............................................................................................................13

5.1 PURPOSE......................................................................................................................................................13
5.2 METHODOLOGY.............................................................................................................................................14
5.3 REFERENCES.................................................................................................................................................14
6. GENERAL INFORMATION..................................................................................................................14
6.1 CURRENT SYSTEMS AND PROCESSES ...............................................................................................................14
6.2 SYSTEM OBJECTIVES......................................................................................................................................14
6.3 ISSUES.........................................................................................................................................................16
6.4 ASSUMPTIONS AND CONSTRAINTS....................................................................................................................16
7. ALTERNATIVES......................................................................................................................................16
7.1 COMPARISONS OF ALTERNATIVES ....................................................................................................................16
8. RECOMMENDATIONS AND CONCLUSION....................................................................................17
9. OVERVIEW
10. GOALS AND SCOPE

.....................................................................................................................21
.......................................................................................................22

10.1 PROJECT GOALS..........................................................................................................................................22
10.2 PROJECT SCOPE.........................................................................................................................................22
10.2.1 Included.......................................................................................................................................23
10.2.2 Excluded......................................................................................................................................23
11. SCHEDULE AND MILESTONES........................................................................................................23
12. INTRODUCTION

..........................................................................................................28

12.1 PURPOSE....................................................................................................................................................28
12.2 SCOPE.......................................................................................................................................................28
12.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................................................28
12.4 REFERENCES...............................................................................................................................................29
12.5 OVERVIEW.................................................................................................................................................29
13. OVERALL DESCRIPTION..................................................................................................................29
PROBLEM STATEMENT.........................................................................................................................................29
13.1 PRODUCT PERSPECTIVE................................................................................................................................30
PRODUCT POSITION STATEMENT............................................................................................................................30
13.1.1 System Interfaces........................................................................................................................30
13.1.2 User Interfaces............................................................................................................................30
13.1.3 Hardware Interfaces....................................................................................................................31
13.2 PRODUCT FUNCTIONS...................................................................................................................................31
13.3 ASSUMPTIONS AND DEPENDENCIES.................................................................................................................31
14. SPECIFIC REQUIREMENTS..............................................................................................................31
14.1 FUNCTIONS.................................................................................................................................................31

42

14.2 LOGICAL DATABASE REQUIREMENTS..............................................................................................................31
14.3 SOFTWARE SYSTEM ATTRIBUTES....................................................................................................................31
14.3.1 Reliability....................................................................................................................................31
14.3.2 Security.......................................................................................................................................32
14.3.3 Portability....................................................................................................................................32
14.3.4 Efficiency....................................................................................................................................32
15. USE CASE TEMPLATE........................................................................................................................37
USE CASE # 1..............................................................................................................................................39
USE CASE # 2..............................................................................................................................................40
16. SEQUENCE DIAGRAM OVERVIEW

...................................................................................44

16.1 SCENARIO DESCRIPTION...............................................................................................................................44
17. MESSAGE DESCRIPTION..................................................................................................................44
18. SEQUENCE DIAGRAM OVERVIEW

...................................................................................46

18.1 SCENARIO DESCRIPTION...............................................................................................................................47
19. MESSAGE DESCRIPTION..................................................................................................................47
20. STATE CHART DIAGRAM OVERVIEW

.............................................................................52

20.1 STATES DESCRIPTION..................................................................................................................................52
21. CLASS DIAGRAM DESCRIPTION....................................................................................................59
21.1 CRC TEMPLATE.........................................................................................................................................59
21.2 CRC CARDS OVERVIEW..............................................................................................................................61
Responsibility........................................................................................................................................61
Collaborator..........................................................................................................................................62
Domain Users (3-5 people)...................................................................................................................62
OO Design Analyst (1-2 people)...........................................................................................................62
Facilitator (1 person).............................................................................................................................63
Scribe (1-2 people)................................................................................................................................63
Observers (0-N people).........................................................................................................................63
The CRC Technique..............................................................................................................................64
Selecting a Scenario..............................................................................................................................64
Creating Initial CRC Card(s)................................................................................................................64
Arranging the CRC Cards.....................................................................................................................65
The CRC Interview...............................................................................................................................65
Finding Classes.....................................................................................................................................65
Finding Collaborators...........................................................................................................................66
21.2.1 General Guidelines......................................................................................................................67
21.2.2 Class Style Guidelines................................................................................................................68
21.2.3 Interfaces.....................................................................................................................................70
21.2.4 Relationship Guidelines..............................................................................................................71
21.2.5 Inheritance Guidelines................................................................................................................73
21.2.6 Aggregation and Composition Guidelines..................................................................................73
21.3 CLASS DIAGRAM.........................................................................................................................................75

43

16.SEQUENCE DIAGRAM OVERVIEW

16.1SCENARIO DESCRIPTION
Informational Item

Information

Use Case

Application Monitoring

Scenario Name

When System start monitoring

Steps

1.Administrator login first and select application to be monitor
2.According to selection respective application will be monitor

17.MESSAGE DESCRIPTION

44

Message

Type

From Object

To Object

Login

Signal

Ad

MS

Access Granted

Response

MS

Ad

Select JVM

Signal

Ad

MS

JVM Monitoring

Signal

MS

JM

Send parameters value Response

JM

MS

Send result

Response

MS

Ad

Select Tomcat

Signal

Ad

MS

Tomcat monitoring

Signal

MS

TM

Monitoring

Self

TM

TM

45

18.SEQUENCE DIAGRAM OVERVIEW

46

18.1SCENARIO DESCRIPTION
Use Case

Maintain Log

Scenario Name

When System maintain Log

Steps

1. System sends a message to create a log file
2. Log manager will create a log
3. Each time System send error it sends signal to Log Manager
4. Log Manager then process log file and add new entries in it

19.MESSAGE DESCRIPTION
Message

Type

From Object

To Object

Create Log

Signal

System administrator

Log Manager

Create Log file

Signal

Log Manger

Log db

Generate Log_file

Self

Log db

Log db

Return status

Response

Log db

Log Manager

Request Transaction Signal

System Administrator

AMS

Record log

Signal

AMS

Log Manager

Manipulate Log

Self

Log db

Log db

47

48

Vishwakarma Institute of Technology, Pune-37.

Application monitoring system

Bansilal Ramnath Agarwal Charitable
Trust’s
10/22/2008

Approvals Signature Block
Project Responsibility

Signature

Project Guide (Internal)
Project Guide (External)
Documentation Leader

49

Date

Department of Computer Engineering

Table of Contents
1. CONTEXT

..............................................................................................................................6

2. PROBLEM

.............................................................................................................................7

3. SOLUTION.................................................................................................................................................8
4. BENEFITS...................................................................................................................................................9
5. INTRODUCTION

............................................................................................................13

5.1 PURPOSE......................................................................................................................................................13
5.2 METHODOLOGY.............................................................................................................................................14
5.3 REFERENCES.................................................................................................................................................14
6. GENERAL INFORMATION..................................................................................................................14
6.1 CURRENT SYSTEMS AND PROCESSES ...............................................................................................................14
6.2 SYSTEM OBJECTIVES......................................................................................................................................14
6.3 ISSUES.........................................................................................................................................................16
6.4 ASSUMPTIONS AND CONSTRAINTS....................................................................................................................16
7. ALTERNATIVES......................................................................................................................................16
7.1 COMPARISONS OF ALTERNATIVES ....................................................................................................................16
8. RECOMMENDATIONS AND CONCLUSION....................................................................................17
9. OVERVIEW
10. GOALS AND SCOPE

.....................................................................................................................21
.......................................................................................................22

10.1 PROJECT GOALS..........................................................................................................................................22
10.2 PROJECT SCOPE.........................................................................................................................................22
10.2.1 Included.......................................................................................................................................23
10.2.2 Excluded......................................................................................................................................23
11. SCHEDULE AND MILESTONES........................................................................................................23
12. INTRODUCTION

..........................................................................................................28

12.1 PURPOSE....................................................................................................................................................28
12.2 SCOPE.......................................................................................................................................................28
12.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................................................28
12.4 REFERENCES...............................................................................................................................................29
12.5 OVERVIEW.................................................................................................................................................29
13. OVERALL DESCRIPTION..................................................................................................................29
PROBLEM STATEMENT.........................................................................................................................................29
13.1 PRODUCT PERSPECTIVE................................................................................................................................30
PRODUCT POSITION STATEMENT............................................................................................................................30
13.1.1 System Interfaces........................................................................................................................30
13.1.2 User Interfaces............................................................................................................................30
13.1.3 Hardware Interfaces....................................................................................................................31
13.2 PRODUCT FUNCTIONS...................................................................................................................................31
13.3 ASSUMPTIONS AND DEPENDENCIES.................................................................................................................31
14. SPECIFIC REQUIREMENTS..............................................................................................................31
14.1 FUNCTIONS.................................................................................................................................................31
14.2 LOGICAL DATABASE REQUIREMENTS..............................................................................................................31

50

14.3 SOFTWARE SYSTEM ATTRIBUTES....................................................................................................................31
14.3.1 Reliability....................................................................................................................................31
14.3.2 Security.......................................................................................................................................32
14.3.3 Portability....................................................................................................................................32
14.3.4 Efficiency....................................................................................................................................32
15. USE CASE TEMPLATE........................................................................................................................37
USE CASE # 1..............................................................................................................................................39
USE CASE # 2..............................................................................................................................................40
16. SEQUENCE DIAGRAM OVERVIEW

...................................................................................44

16.1 SCENARIO DESCRIPTION...............................................................................................................................44
17. MESSAGE DESCRIPTION..................................................................................................................44
18. SEQUENCE DIAGRAM OVERVIEW

...................................................................................46

18.1 SCENARIO DESCRIPTION...............................................................................................................................47
19. MESSAGE DESCRIPTION..................................................................................................................47
20. STATE CHART DIAGRAM OVERVIEW

.............................................................................52

20.1 STATES DESCRIPTION..................................................................................................................................52
21. CLASS DIAGRAM DESCRIPTION....................................................................................................59
21.1 CRC TEMPLATE.........................................................................................................................................59
21.2 CRC CARDS OVERVIEW..............................................................................................................................61
Responsibility........................................................................................................................................61
Collaborator..........................................................................................................................................62
Domain Users (3-5 people)...................................................................................................................62
OO Design Analyst (1-2 people)...........................................................................................................62
Facilitator (1 person).............................................................................................................................63
Scribe (1-2 people)................................................................................................................................63
Observers (0-N people).........................................................................................................................63
The CRC Technique..............................................................................................................................64
Selecting a Scenario..............................................................................................................................64
Creating Initial CRC Card(s)................................................................................................................64
Arranging the CRC Cards.....................................................................................................................65
The CRC Interview...............................................................................................................................65
Finding Classes.....................................................................................................................................65
Finding Collaborators...........................................................................................................................66
21.2.1 General Guidelines......................................................................................................................67
21.2.2 Class Style Guidelines................................................................................................................68
21.2.3 Interfaces.....................................................................................................................................70
21.2.4 Relationship Guidelines..............................................................................................................71
21.2.5 Inheritance Guidelines................................................................................................................73
21.2.6 Aggregation and Composition Guidelines..................................................................................73
21.3 CLASS DIAGRAM.........................................................................................................................................75

51

20.STATE CHART DIAGRAM OVERVIEW
20.1STATES DESCRIPTION

State Name

Type

Action Set

Idle

Listen for request for access from application

Login

To authenticate user

Select Application

Select applications to be monitor

52

Set Benchmark

Set user defined / Default benchmark

Send Report

Send monitor report to Administrator

Log History

Add Event details to History

Vishwakarma Institute of Technology, Pune-37.

Application Monitoring System

Bansilal Ramnath Agarwal Charitable
Trust’s
10-22-2008

53

Approvals Signature Block
Project Responsibility

Signature

Project Guide (Internal)
Project Guide (External)
Documentation Leader

Department of Computer Engineering

54

Date

55

Vishwakarma Institute of Technology, Pune-37.

Application monitoring system

Bansilal Ramnath Agarwal Charitable
Trust’s
10/22/2008

Approvals Signature Block
Project Responsibility

Signature

Project Guide (Internal)
Project Guide (External)
Documentation Leader

Department of Computer Engineering

56

Date

Table of Contents
1. CONTEXT

..............................................................................................................................6

2. PROBLEM

.............................................................................................................................7

3. SOLUTION.................................................................................................................................................8
4. BENEFITS...................................................................................................................................................9
5. INTRODUCTION

............................................................................................................13

5.1 PURPOSE......................................................................................................................................................13
5.2 METHODOLOGY.............................................................................................................................................14
5.3 REFERENCES.................................................................................................................................................14
6. GENERAL INFORMATION..................................................................................................................14
6.1 CURRENT SYSTEMS AND PROCESSES ...............................................................................................................14
6.2 SYSTEM OBJECTIVES......................................................................................................................................14
6.3 ISSUES.........................................................................................................................................................16
6.4 ASSUMPTIONS AND CONSTRAINTS....................................................................................................................16
7. ALTERNATIVES......................................................................................................................................16
7.1 COMPARISONS OF ALTERNATIVES ....................................................................................................................16
8. RECOMMENDATIONS AND CONCLUSION....................................................................................17
9. OVERVIEW
10. GOALS AND SCOPE

.....................................................................................................................21
.......................................................................................................22

10.1 PROJECT GOALS..........................................................................................................................................22
10.2 PROJECT SCOPE.........................................................................................................................................22
10.2.1 Included.......................................................................................................................................23
10.2.2 Excluded......................................................................................................................................23
11. SCHEDULE AND MILESTONES........................................................................................................23
12. INTRODUCTION

..........................................................................................................28

12.1 PURPOSE....................................................................................................................................................28
12.2 SCOPE.......................................................................................................................................................28
12.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS................................................................................................28
12.4 REFERENCES...............................................................................................................................................29
12.5 OVERVIEW.................................................................................................................................................29
13. OVERALL DESCRIPTION..................................................................................................................29
PROBLEM STATEMENT.........................................................................................................................................29
13.1 PRODUCT PERSPECTIVE................................................................................................................................30
PRODUCT POSITION STATEMENT............................................................................................................................30
13.1.1 System Interfaces........................................................................................................................30
13.1.2 User Interfaces............................................................................................................................30
13.1.3 Hardware Interfaces....................................................................................................................31
13.2 PRODUCT FUNCTIONS...................................................................................................................................31
13.3 ASSUMPTIONS AND DEPENDENCIES.................................................................................................................31
14. SPECIFIC REQUIREMENTS..............................................................................................................31
14.1 FUNCTIONS.................................................................................................................................................31
14.2 LOGICAL DATABASE REQUIREMENTS..............................................................................................................31
14.3 SOFTWARE SYSTEM ATTRIBUTES....................................................................................................................31
14.3.1 Reliability....................................................................................................................................31

57

14.3.2 Security.......................................................................................................................................32
14.3.3 Portability....................................................................................................................................32
14.3.4 Efficiency....................................................................................................................................32
15. USE CASE TEMPLATE........................................................................................................................37
USE CASE # 1..............................................................................................................................................39
USE CASE # 2..............................................................................................................................................40
16. SEQUENCE DIAGRAM OVERVIEW

...................................................................................44

16.1 SCENARIO DESCRIPTION...............................................................................................................................44
17. MESSAGE DESCRIPTION..................................................................................................................44
18. SEQUENCE DIAGRAM OVERVIEW

...................................................................................46

18.1 SCENARIO DESCRIPTION...............................................................................................................................47
19. MESSAGE DESCRIPTION..................................................................................................................47
20. STATE CHART DIAGRAM OVERVIEW

.............................................................................52

20.1 STATES DESCRIPTION..................................................................................................................................52
21. CLASS DIAGRAM DESCRIPTION....................................................................................................59
21.1 CRC TEMPLATE.........................................................................................................................................59
21.2 CRC CARDS OVERVIEW..............................................................................................................................61
Responsibility........................................................................................................................................61
Collaborator..........................................................................................................................................62
Domain Users (3-5 people)...................................................................................................................62
OO Design Analyst (1-2 people)...........................................................................................................62
Facilitator (1 person).............................................................................................................................63
Scribe (1-2 people)................................................................................................................................63
Observers (0-N people).........................................................................................................................63
The CRC Technique..............................................................................................................................64
Selecting a Scenario..............................................................................................................................64
Creating Initial CRC Card(s)................................................................................................................64
Arranging the CRC Cards.....................................................................................................................65
The CRC Interview...............................................................................................................................65
Finding Classes.....................................................................................................................................65
Finding Collaborators...........................................................................................................................66
21.2.1 General Guidelines......................................................................................................................67
21.2.2 Class Style Guidelines................................................................................................................68
21.2.3 Interfaces.....................................................................................................................................70
21.2.4 Relationship Guidelines..............................................................................................................71
21.2.5 Inheritance Guidelines................................................................................................................73
21.2.6 Aggregation and Composition Guidelines..................................................................................73
21.3 CLASS DIAGRAM.........................................................................................................................................75

58

21.CLASS DIAGRAM DESCRIPTION
21.1CRC TEMPLATE

Class Name
Class Type
Characteristic
Super Class
Sub Class
Variables
Services
Responsibilities
To authenticate user and handle user
accounts,
To provide security.

User
Entity
To handle user accounts
None
Administrator, Client.
None
CreateUser(),DeleteUser(),ChangeName()
,ChangePassword()
Collaboration
Exception

Class Name
Class Type
Characteristic
Super Class
Sub Class
Variables
Services
Responsibilities
To provide set of applications for
monitoring

Applications
Entity
Specifies Applications to be monitored
None
None
Name
addApplication(),removeApplication(),
Collaboration
Benchmark, Report, Contact.

Class Name
Class Type
Characteristic
Super Class
Sub Class
Variables
Services
Responsibilities
To handle an exception

Exception
Entity
To handle exception
None
None
None
SetHandler(), FirstHandler(), LastHandler()
Collaboration
None
59

Class Name
Class Type
Characteristic
Super Class
Sub Class
Variables
Services
Responsibilities
To perform the following operations on an
image
view, zoom, rotate, scroll an image

Benchmark
Entity
To set benchmarks for defining health of
system.
Application
Default, UserDefined
Name,ParameterList[][],
AddParameter(), RemoveParameter(),
SetValue(),
Collaboration
SystemState, Exception.

Class Name
Class Type
Characteristic
Super Class
Sub Class
Variables
Services
Responsibilities
It provide essential information to report
event to administrator

Contact
Entity
To report the feedback and special event
None
None
Email-Id, Mobile No.
AddContact(), EditContact()
Collaboration
User, Application

Class Name
Class Type
Characteristic

Report
Entity
To provide report information in structured
manner to administrator.
None
None
ReportNo, Date, User
GenerateReport(),SendReport(),
DeleteReport()
Collaboration

Super Class
Sub Class
Variables
Services
Responsibilities

60

To create report for notification

Application, Benchmark , Contact

21.2CRC CARDS OVERVIEW
CRC (Class-Responsibility-Collaborator) Card Modeling is a simple yet powerful
object-oriented analysis technique. CRC modeling often includes the users, analysts, and
developers in a modeling and design process, bringing together the entire development
team to form a common understanding of an OO development project. It is one of many
tools that should be used in the collaborative design of a system.
A CRC Model is a collection of cards (usually standard index cards or larger) that
are divided into three sections.
1.Class
2.Responsibility
3.Collaborator
Class
A Class represents a collection of similar objects. Objects are things of interest in
the system being modeled. They can be a person, place, thing, or any other concept
important to the system at hand. The Class name appears across the top of the CRC
card.
Responsibility
A Responsibility is anything that the class knows or does. These responsibilities
are things that the class has knowledge about itself, or things the class can do with the
knowledge it has.
For example, a person class might have knowledge (and responsibility) for its
name, address, and phone number. In another example an automobile class might have
knowledge of its size, its number of doors, or it might be able to do things like stop and
go. The Responsibilities of a class appear along the left side of the CRC card.

61

Collaborator
A Collaborator is another class that is used to get information for, or perform
actions for the class at hand. It often works with a particular class to complete a step (or
steps) in a scenario. The Collaborators of a class appear along the right side of the CRC
card. The CRC team is comprised of different types of people involved in the project. The
overall size of the CRC team is important, and active participants should be limited to 6.
Interaction between active participants grows experientially with the number candidates.
There are generally three types of skill sets for active participants in the CRC
session.
Domain Users
OO Design Analyst
Facilitator
Additional non-active participants can include a scribe and observers.
Domain Users (3-5 people)
These members of the CRC team are the users of the system being designed. They
should have a good amount of business domain knowledge for which the system is being
modeled.
Good domain users also have the following characteristics:

Know the business being modeled.

Think logically.

Good communication skills.

Are willing to invest the time in systems designs.

OO Design Analyst (1-2 people)
These members of the CRC team are analysts or developers familiar with OO
methodologies and techniques. Generally the design analysts have responsibilities on
the project well beyond the CRC modeling sessions.
These may include fleshing out the CRC cards to create a formal object model, and
interpreting the CRC collaborators to document the OID’s (Object Interaction Diagrams).
Good Design analyst have the following characteristics:

Understand the CRC modeling process and methodology.

62

Understand the OO modeling process and methodology.

Experience developing OO systems.

Facilitator (1 person)
This is the member who runs the CRC session. This person is perhaps the most
important member of the team. It is the facilitator’s responsibility to keep the CRC
session progressing forward.
This may include acting as an intermediary when collaboration debates occur, and
generally making sure that the session is on track with regards to the agenda.
Good facilitators have the following characteristics:

Good meeting skills.

Understand the CRC modeling process and methodology.

Understand the OO modeling process and methodology.

Scribe (1-2 people)
This is the member responsible for documenting any business logic and discussion that
isn’t captured on the CRC Cards themselves. Often analysis logic on why a process is
the way it is discovered within a CRC session, and should be captured and documented.
This documentation is often rolled back into the requirements and business case
documents, as well as used by the design analysts to further the systems object model.
Good scribes have the following characteristics:

Listen extremely well.

Good written communications skills

Can identify business logic

Observers (0-N people)
These are members who aren’t directly participating in the CRC session. They are
generally other users of the system, or other project team members. It is important that
the facilitator ensure that these people are not active during the CRC session.
Good observers have the following characteristics:

Know how to contain opinions during the modeling session, i.e. shut-up.

63

The CRC Technique
The facilitator should begin by explaining the purpose of the CRC session. Remember
that scenario execution is at the heart of the CRC session. An explanation of the CRC
cards, as well as some sample CRC cards themselves can be created.
The concept of role playing techniques should be covered. Role-playing involves acting
out what a class does in order to facilitate the scenario execution. A person who owns a
particular card should 'become' that class when control of the scenario is passed to them.
This is often done by holding the card in the air while the class has control of the
execution. This way, a card is an object while being held in the air, and a card is a class
while resting on the table.
Selecting a Scenario
One scenario should be selected to begin the CRC session. Often an initial brainstorming
time can be set aside at the beginning of the session to discuss and identify an
appropriate scenario.
The scenario chosen should be well documented and very specific. Any related
scenario's should be modeled separately. Often it is desirable to choose an easy
scenario to begin with.
If there are already use-case’s diagrams or descriptions for the problem domain, a good
scenario is any 'normal coarse' through one of these 'use cases'. Using just the ‘normal
coarse’ ensures that the session focuses on one particular scenario, and not the entire
use case.
Creating Initial CRC Card(s)
Initial CRC cards can be created for any class identified during the scenario selection.
CRC cards are also created for existing classes in the system. Often these classes are
the result of an existing legacy system.
Further brainstorming is an option depending on the experience level of the CRC session
participants.).

64

Arranging the CRC Cards
As CRC cards are created, they are often placed on a centralized table for all
participants to see. Once collaborations are established between classes, the
arrangement of the classes can be moved so that collaborating classes are in close
proximity to each other. The more that two classes collaborate throughout the session,
the closer they should be placed to each other.
In the initial stages of the CRC session, you can expect that the location of the
classes on the table move quite frequently. This is typical of card placement, and will
settle down after collaboration become more established.
It is often helpful to put the busy cards towards the center of the table, and those
less busy cards around the outside perimeter. While the importance of card placement is
subtle, beware of just choosing a card location because there is empty space on the
table.
If the table fills up quickly during a scenario execution, the quite possibly the scenario
chosen is overly complicated, or is not the primary coarse through a 'use case'.

The CRC Interview
It is often useful to start the session using the interview technique, or new employee
technique. The interview technique involves identifying a scenario, then identifying a user
that asks a ‘starting’ class to perform the scenario. The class in turns asks questions
(interviews) the requester (user) to get enough information to perform the task.
The user can respond with the information, or respond that the class should know that
information. The class can create a responsibility, or collaborate with other classes to get
the information it requires.
Finding Classes
A Class represents a collection of similar objects. Objects are things of interest in the
system being modeled. They can be a person, place, thing, or any other concept
important to the system at hand. There are many ways to identify classes. One of the
easiest to start with is noun extraction. Noun extraction identifies all of the Nouns in a
problem statement and/or use-case scenario. The nouns extracted make excellent
candidate classes the ways to identify classes are to look for items that interact with the

65

system, or things that are part of the system. Ask if there is a customer of the system,
and identify what the customer interacts with.

Finding Responsibilities
A Responsibility is anything that the class knows or does. These responsibilities are
things that the class has knowledge about itself, or things the class can do with the
knowledge it has.
To compliment the 'Noun Extraction' technique above is verb extraction. Verb extraction
identifies all of the verbs in a problem statement and/or use-case scenario. These are
usually good indicators of actions that must be performed by the classes of the system.
Other techniques included asking what the class knows, and what information must be
stored about the class to make it unique. Ask what the class does, and then flesh out
how the class might do it.
Finding Collaborators
Collaboration occurs when a class needs information that it doesn’t have. Classes know
specific things about themselves. Very often to perform a task a class needs information
that it doesn't have.
Often it's necessary to get this information from another class, in the form of
collaboration.
Collaboration can also occur if a class needs to modify information that it doesn’t have.
One property of information that a class knows about itself is the ability to update the
information. Often a class will want to update information that it doesn't have. When this
happens, the class will often ask another class, in the form of a collaboration, to update
the information for it.
Generally for a collaboration to occur, one class is the initiator. In other words, there has
to be a starting point for collaboration. Often times the initiating class is doing very little
work beyond initialing the collaboration itself.

Class Description
66

Type

A class that is never instantiated into an object.
Abstract Class
An interesting property of a class. Usually in the form of a value.
Attribute
A representation of a collection of similar objects. Classes are
Class
often objects, representing a person, place, or thing.
A class that provides information or performs an action for another
Collaborator
class.
An instance of a particular class. While a class may represent
Object
people, an object represents one particular person.
Anything a class knows or does.
Responsibility
A class that may become a permanent class in the system after
Candidate Class
further analysis.

21.2.1General Guidelines
Because class diagrams are used for a variety of purposes – from understanding
requirements to describing your detailed design – you will need to apply a different style
in each circumstance.

This section describes style guidelines pertaining to different

types of class diagrams.

Figure 1. Analysis and design versions of a class.

67

Figure 2. Modeling association classes.
1. Identify Responsibilities on Domain Class Diagrams.
2. Indicate Visibility Only On Design Models.
3. Indicate Language-Dependent Visibility With Property Strings.
4. Indicate Types Only On Design Models.
5. Indicate Types On Analysis Models Only When The Type is an Actual
Requirement.
6. Design Class Diagrams Should Reflect Language Naming Conventions.
7. Model Association Classes On Analysis Diagrams.
8. Do Not Name Associations That Have Association Classes.
9. Center The Dashed Line of an Association Class.

21.2.2Class Style Guidelines
A class is effectively a template from which objects are created (instantiated). Although
in the real world Doug, Wayne, John, and Bill are all student objects we would model the
class Student instead. Classes define attributes, information that is pertinent to their
instances, and operations, functionality that the objects support. Classes will also realize
interfaces (more on this later). Note that you may need to soften some of the naming
guidelines to reflect your implementation language or software purchased from a thirdparty vendor.

68

Figure 3. The OrderItem class with and without scaffolding code.

1. Use Common Terminology for Names
2. Prefer Complete Singular Nouns for Class Names
3. Name Operations with a Strong Verb
4. Name Attributes With a Domain-Based Noun
5. Do Not Model Scaffolding Code. Scaffolding code refers to the attributes and
operations required to implement basic functionality within your classes, such as
the code required to implement relationships with other classes.
6. Never Show Classes With Just Two Compartments
7. Label Uncommon Class Compartments
8. Include an Ellipsis ( … ) At The End of Incomplete Lists
9. List Static Operations/Attributes Before Instance Operations/Attributes
10. List Operations/Attributes in Decreasing Visibility
11. For Parameters That Are Objects, Only List Their Type
12. Develop Consistent Method Signatures
13. Avoid Stereotypes Implied By Language Naming Conventions
14. Indicate Exceptions In An Operation’s Property String.

69

21.2.3Interfaces
An interface is a collection of operation signature and/or attribute definitions that ideally
defines a cohesive set of behaviors.

Interfaces are implemented, “realized” in UML

parlance, by classes and components – to realize an interface a class or component
must implement the operations and attributes defined by the interface. Any given class
or component may implement zero or more interfaces and one or more classes or
components can implement the same interface.

Figure 5. Interfaces on UML class diagrams.
1. Interface Definitions Must Reflect Implementation Language Constraints.
2. Name Interfaces According To Language Naming Conventions
3. Apply “Lollipop” Notation To Indicate That A Class Realizes an Interface
4. Define Interfaces Separately From Your Classes
5. Do Not Model the Operations and Attributes of an Interface in Your Classes.
6. Consider an Interface to Be a Contract

70

21.2.4Relationship Guidelines
For ease of discussion the term relationships shall include all UML concepts such as
associations, aggregation, composition, dependencies, inheritance, and realizations – in
other words, if it’s a line on a UML class diagram we’ll consider it a relationship.

Figure 6. Shipping an order.

Figure 7. Modeling an order.

Figure 8. Professors and seminars.

71

Figure 9. Modeling people at a university.
1. Model Relationships Horizontally
2. Collaboration Indicates Need for a Relationship
3. Model a Dependency When The Relationship is Transitory
4. Depict Similar Relationships Involving A Common Class As A Tree.
5. Always Indicate the Multiplicity
6. Avoid a Multiplicity of “*”
7. Replace Relationships By Indicating Attribute Types.
8. Do Not Model Implied Relationships
9. Do Not Model Every Single Dependency
10. Center Names on Associations
11. Write Concise Association Names In Active Voice
12. Indicate Directionality To Clarify An Association Name
13. Name Unidirectional Associations In The Same Direction
14. Word Association Names Left-To-Right
15. Indicate Role Names When Multiple Associations Between Two Classes Exist
16. Indicate Role Names on Recursive Associations
17. Make Associations Bi-Directional Only When Collaboration Occurs In Both
Directions.
18. Redraw Inherited Associations Only When Something Changes
19. Question Multiplicities Involving Minimums And Maximums

72

21.2.5Inheritance Guidelines
Inheritance models “is a” and “is like” relationships, enabling you to easily reuse
existing data and code. When “A” inherits from “B” we say that “A” is the subclass of “B”
and that “B” is the superclass of “A.”

Furthermore, we say that we have “pure

inheritance” when “A” inherits all of the attributes and methods of “B.” The UML modeling
notation for inheritance is a line with a closed arrowhead pointing from the subclass to
the superclass.
1. Apply the Sentence Rule For Inheritance
2. Place Subclasses Below Superclasses
3. Beware of Data-Based Inheritance
4. A Subclass Should Inherit Everything

21.2.6Aggregation and Composition Guidelines
Sometimes an object is made up of other objects. For example, an airplane is
made up of a fuselage, wings, engines, landing gear, flaps, and so on. A delivery
shipment contains one or more packages. A team consists of two or more employees.
These are all examples of the concept of aggregation, which represents “is part of”
relationships.

Aggregation is a specialization of association, specifying a whole-part

relationship between two objects. Composition is a stronger form of aggregation where
the whole and parts have coincident lifetimes, and it is very common for the whole to
manage the lifecycle of its parts.

73

Figure 10. Examples of aggregation and composition.

1. Apply the Sentence Rule for Aggregation
2. You Should Be Interested In Both The Whole And The Part
3. Depict the Whole to the Left of the Part
4. Apply Composition to Aggregates of Physical Items
5. Apply Composition When the Parts Share The Persistence Lifecycle With the
Whole
6. Don’t Worry About Getting the Diamonds Right

74

21.3CLASS DIAGRAM

75