You are on page 1of 75

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 : Mr.Sandeep Bhale
Contact No : 9822976583

Signature of Internal Guide

1
Table of Contents

• Project Synopsis 3

• Feasibility Study Report 8

• Project Plan 14

• System Requirement Specification 18

• Use Case Diagrams 25

• Sequence Diagrams 30

• State-Chart Diagrams 37

• Activity Diagrams 40

• System Design 42

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 Date


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

3
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 .....................................................................................................................21
10. GOALS AND SCOPE .......................................................................................................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 Date


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

Department of Computer Engineering

10
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 .....................................................................................................................21
10. GOALS AND SCOPE .......................................................................................................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 Method Used


For
Implementation
Retrieve values of critical parameter MonitoringThrea
d
Comparison of critical parameter StringCompare
Create report create report
Send report/alerts to Server 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 Date


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

Department of Computer Engineering

18
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 .....................................................................................................................21
10. GOALS AND SCOPE .......................................................................................................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
flexibility to select parameters, .
<functional goal #2> 1 To design and implement component which will
maintain database of the monitored parameters
values
<functional goal #3> 2 To design a component which report to
Administrator and provide statically data and
pictorial representation.
<functional goal #4> 3 To develop interactive and user friendly interfaces.
Quality Goals: 2
<quality goal #1> To provide a system that gives more flexibility to
Administrator empower for monitoring particular
system.
<quality goal #2> 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 25-09-2008
Understand the Research on the domain to
requirements and define clearly identify the
project goals and scope. requirements. Project
synopsis and SRS delivered
M1 Start Planning 17-10-2008
Objectives and strategy Implementation language,
defined and feasibility standards and protocols to be
studied. followed are decided.

23
Milestones Description Milestone Criteria Planned
Date
M2 Start Execution 01-12-2008
Complete project plan User interface libraries
defined and reusable defined and project plan
modules identified. reviewed.

M3 Confirm Execution 20-01-2009


First version completed All basic functionalities tested
and verified.
M4 Start Introduction 30-01-2009
First version of product Coding of new functionality
ready to be delivered. finished,
Draft documentation
M5 Release Product 31-03-2009
Final version completed Product system tested,
with enhancements. documentation reviewed
M6 Close Project 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 Date


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

Department of Computer Engineering

25
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 .....................................................................................................................21
10. GOALS AND SCOPE .......................................................................................................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 Definition


AMS Application Monitoring System
JVM 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 stakeholders affected by the problem).
The impact of which is (what is the impact of the problem).
A successful solution 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 System Analysts


Who Involved in analyzing or marinating the client server link.
The Application is a Monitoring
Monitoring
System
That Helps businesses to ensure high availability and
performance for their business applications.
Our product • Monitor the performance of various com-
ponents 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 fur-
ther 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 Characteristic Rank
1 Correctness 1
2 Efficiency 3
3 Reliability 2
4 Security 4

32
Vishwakarma Institute of Technology, Pune-37.

Application monitoring system


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

Approvals Signature Block

Project Responsibility Signature Date


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

33
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 .....................................................................................................................21
10. GOALS AND SCOPE .......................................................................................................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 Monitoring
Purpose To Retrieve parameter values of JVM and compare values with
benchmark n forward result to Administrator
Preconditions JVM running
Success Condition Retrieve values of parameter
Failed Condition Unable in accessing JVM parameter
Postconditions Alert is send to Administrator
Primary Actors 1. Application
2. System Administrator
Trigger When Application wants to Monitor JVM
DESCRIPTION Step Basic Course of Action
1 Retrieve values of JVM parameter
2 Compare retrieved parameter with benchmark
3 Send report to Administrator
DESCRIPTION Step Alternate Course of Action
1 Send error report to Administrator
DESCRIPTION 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 Monitoring
Purpose To Retrieve parameter values of tomcat and compare values with
benchmark n forward result to Administrator
Preconditions Tomcat running
Success Condition Retrieve values of parameter
Failed Condition Unable in accessing Tomcat parameter
Postconditions Alert is send to Administrator
Primary Actors 2. Application
2. System Administrator
Trigger When Application wants to Monitor Tomcat
DESCRIPTION Step Basic Course of Action
1 Retrieve values of Tomcat parameter
2 Compare retrieved parameter with benchmark
3 Send report to Administrator
DESCRIPTION Step Alternate Course of Action
1 Send error report to Administrator
DESCRIPTION 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 Date


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

Department of Computer Engineering

41
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 .....................................................................................................................21
10. GOALS AND SCOPE .......................................................................................................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 Date


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

49
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 .....................................................................................................................21
10. GOALS AND SCOPE .......................................................................................................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 Date


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

Department of Computer Engineering

54
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 Date


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

Department of Computer Engineering

56
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 .....................................................................................................................21
10. GOALS AND SCOPE .......................................................................................................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 User


Class Type Entity
Characteristic To handle user accounts
Super Class None
Sub Class Administrator, Client.
Variables None
Services CreateUser(),DeleteUser(),ChangeName()
,ChangePassword()
Responsibilities Collaboration
To authenticate user and handle user Exception
accounts,
To provide security.

Class Name Applications


Class Type Entity
Characteristic Specifies Applications to be monitored
Super Class None
Sub Class None
Variables Name
Services addApplication(),removeApplication(),
Responsibilities Collaboration
To provide set of applications for Benchmark, Report, Contact.
monitoring

Class Name Exception


Class Type Entity
Characteristic To handle exception
Super Class None
Sub Class None
Variables None
Services SetHandler(), FirstHandler(), LastHandler()
Responsibilities Collaboration
To handle an exception None

59
Class Name Benchmark
Class Type Entity
Characteristic To set benchmarks for defining health of
system.
Super Class Application
Sub Class Default, UserDefined
Variables Name,ParameterList[][],
Services AddParameter(), RemoveParameter(),
SetValue(),
Responsibilities Collaboration
To perform the following operations on an SystemState, Exception.
image
view, zoom, rotate, scroll an image

Class Name Contact


Class Type Entity
Characteristic To report the feedback and special event
Super Class None
Sub Class None
Variables Email-Id, Mobile No.
Services AddContact(), EditContact()
Responsibilities Collaboration
It provide essential information to report User, Application
event to administrator

Class Name Report


Class Type Entity
Characteristic To provide report information in structured
manner to administrator.
Super Class None
Sub Class None
Variables ReportNo, Date, User
Services GenerateReport(),SendReport(),
DeleteReport()
Responsibilities Collaboration

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 Type

66
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 third-
party 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

You might also like