+ All Categories
Home > Documents > Computer Monitoring System for EE Faculty

Computer Monitoring System for EE Faculty

Date post: 11-Feb-2016
Category:
Upload: mea
View: 41 times
Download: 0 times
Share this document with a friend
Description:
Computer Monitoring System for EE Faculty. By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov. Presentation contents. General System Design Website Monitor service Design patterns Possible improvements and questions. Project Goals. To create computer monitoring system. - PowerPoint PPT Presentation
Popular Tags:
36
Computer Monitoring Computer Monitoring System System for for EE Faculty EE Faculty By By Yaroslav Ross Yaroslav Ross And And Denis Zakrevsky Denis Zakrevsky Supervisor: Viktor Kulikov Supervisor: Viktor Kulikov
Transcript
Page 1: Computer Monitoring System  for EE Faculty

Computer Monitoring System Computer Monitoring System forfor

EE FacultyEE FacultyByBy

Yaroslav RossYaroslav RossAndAnd

Denis ZakrevskyDenis Zakrevsky

Supervisor: Viktor KulikovSupervisor: Viktor Kulikov

Page 2: Computer Monitoring System  for EE Faculty

Presentation contentsPresentation contents

GeneralGeneralSystem DesignSystem DesignWebsite Website Monitor serviceMonitor serviceDesign patternsDesign patternsPossible improvements and questionsPossible improvements and questions

Page 3: Computer Monitoring System  for EE Faculty

Project GoalsProject Goals

To create computer monitoring system.To create computer monitoring system.To use different web and windows OS To use different web and windows OS technologies.technologies. To experience in software systems and To experience in software systems and database design. database design.

Page 4: Computer Monitoring System  for EE Faculty

Technologies UsedTechnologies Used

MS .NET 2.0MS .NET 2.0ASP.NET 2.0ASP.NET 2.0ADO.NET 2.0ADO.NET 2.0MS SQL 2005MS SQL 2005HTMLHTMLJava ScriptJava Script

Page 5: Computer Monitoring System  for EE Faculty

CMS CMS (Computers Monitor System) (Computers Monitor System)

General.General.

The purpose of the system is to avoid PCs The purpose of the system is to avoid PCs "disappearing" on EE faculty. "disappearing" on EE faculty. It gives possibility to insert and store It gives possibility to insert and store information about faculty computers, information about faculty computers, system users and other management system users and other management information and checks computers state information and checks computers state ( monitoring ) every period of time.( monitoring ) every period of time.

Page 6: Computer Monitoring System  for EE Faculty

CMS CMS (Computers Monitor System) (Computers Monitor System)

General.General.

The CMS contains three major sub systems:The CMS contains three major sub systems:1)     Web Site.1)     Web Site.2)     Service.2)     Service. 3)     Data Base.3)     Data Base.

Page 7: Computer Monitoring System  for EE Faculty

System DesignSystem Design

DB

Faculty PC Faculty PC Faculty PC Faculty PC

Windows Server Service

User

Web Site Server

Administrator

End Station

Page 8: Computer Monitoring System  for EE Faculty

Use CasesUse Cases

A A use case use case defines a goal-oriented set of defines a goal-oriented set of interactions between external actors and interactions between external actors and the system under consideration.the system under consideration.Actors Actors are parties outside the system that are parties outside the system that interact with the system.interact with the system.An actor may be a class of users, roles An actor may be a class of users, roles users can play, or other systems users can play, or other systems

Page 9: Computer Monitoring System  for EE Faculty

Use CasesUse Cases

User Administrator

EE Monitoring System

Check ComputerStatus

Login

Add -Update-Delete user

Update Database

Add -Update-Delete computer

Add -Update-Delete Building

Add -Update-Delete Room

Change Password

Change systemsettings

Change computerstatus

Monitor

«uses»

Page 10: Computer Monitoring System  for EE Faculty

Web siteWeb site

All user interface (settings, data changes All user interface (settings, data changes and data view) of CMS is done using the and data view) of CMS is done using the web site. web site.

The web site consists of three layers:The web site consists of three layers:- Presentation layer.Presentation layer.- Business logic layer.Business logic layer.- Data access layer. Data access layer.

Page 11: Computer Monitoring System  for EE Faculty

Web site layersWeb site layers

Page 12: Computer Monitoring System  for EE Faculty

Web site layersWeb site layers

Presentation Layer (User Interface): Presentation Layer (User Interface): - Web controls ( reuse ), all logic implemented in Web controls ( reuse ), all logic implemented in

C# classes, which inherits from C# classes, which inherits from System.Web.UI.UserControl .Net class.System.Web.UI.UserControl .Net class.

- Web pages (master page based, CSS used to Web pages (master page based, CSS used to avoid duplication, Java script used for custom avoid duplication, Java script used for custom controls), all logic implemented in C# classes, controls), all logic implemented in C# classes, which inherits from System.Web.UI.Page .Net which inherits from System.Web.UI.Page .Net class.class.

Page 13: Computer Monitoring System  for EE Faculty

Web site layersWeb site layers

PresentationLayers BLL

Page 14: Computer Monitoring System  for EE Faculty

Web site layersWeb site layersBusiness logic layer-Business logic layer-

Business Logic Layer (BLL) serves as an intermediary for Business Logic Layer (BLL) serves as an intermediary for data exchange between the presentation layer and the data exchange between the presentation layer and the DAL. In "real world" application this layer can contain DAL. In "real world" application this layer can contain large functionality like: security constraints for data large functionality like: security constraints for data based on user permissions, data operations and other based on user permissions, data operations and other business logic. In CMS the main functionality of BLL is to business logic. In CMS the main functionality of BLL is to transfer data from Presentation Layer to DAL. Small transfer data from Presentation Layer to DAL. Small amount of logic and some minor data operations. This amount of logic and some minor data operations. This layer created mostly as contribution to right design of layer created mostly as contribution to right design of such application and it makes easier future application such application and it makes easier future application development and improvement. The number of classes development and improvement. The number of classes in BLL is as a number of logic entities in the system. in BLL is as a number of logic entities in the system. These classes are presented in figure.These classes are presented in figure.

Page 15: Computer Monitoring System  for EE Faculty

Web site layersWeb site layers

Business Logic Layer (BLL)

BuildingsBLL

ComputersBLL

Configuration BLL

PC StatusBLL

RoomsBLL

Settings BLL

PermissionsBLL

UsersBLL

Page 16: Computer Monitoring System  for EE Faculty

Web site layersWeb site layers

Data Access Layer

PresentationLayers BLL

Page 17: Computer Monitoring System  for EE Faculty

Web site layersWeb site layersData Access Layer -Data Access Layer -

The MS recommended approach, for right software The MS recommended approach, for right software architecture of Websites is to separate the data access architecture of Websites is to separate the data access logic from the presentation layer. All code that is related logic from the presentation layer. All code that is related to data source – such as creating a connection to the to data source – such as creating a connection to the database, issuing SELECT , INSERT, UPDATE, and database, issuing SELECT , INSERT, UPDATE, and DELETE commands, and so on – is located in the DAL. DELETE commands, and so on – is located in the DAL. The presentation layer should not contain any references The presentation layer should not contain any references to such data access code, but should instead make calls to such data access code, but should instead make calls into the DAL (via BLL in our case) for all data requests. into the DAL (via BLL in our case) for all data requests. Data Access Layers contains methods for accessing the Data Access Layers contains methods for accessing the database data. The DAL is written at C# language and database data. The DAL is written at C# language and strongly uses ADO.NET (2.0).  strongly uses ADO.NET (2.0).  

Page 18: Computer Monitoring System  for EE Faculty

Web site layersWeb site layers

Page 19: Computer Monitoring System  for EE Faculty

BLL&DAL class diagramBLL&DAL class diagram

Page 20: Computer Monitoring System  for EE Faculty

Web site layersWeb site layers

DatabaseData Access

LayerPresentation

Layers BLL

Page 21: Computer Monitoring System  for EE Faculty

Data baseData base

Data base implemented on transact SQL Data base implemented on transact SQL using MS SQL server 2005.using MS SQL server 2005.For each table there is a set of stored For each table there is a set of stored procedures (SELECT, UPDATE, INSERT, procedures (SELECT, UPDATE, INSERT, DELETE). DELETE). The DB is normalized, all tables contain The DB is normalized, all tables contain primary keys that used if necessary as primary keys that used if necessary as secondary key in other tables to prevent secondary key in other tables to prevent data duplicating.data duplicating.

Page 22: Computer Monitoring System  for EE Faculty

Data baseData baseThe data base consists of following tables:The data base consists of following tables:

Users: (set of available users with personal information, password, Users: (set of available users with personal information, password, and permissions). and permissions). Permissions (set of available users permissions).Permissions (set of available users permissions).Computers (set of all available computers with IP, place, name, Computers (set of all available computers with IP, place, name, status).status).Rooms (set of all available rooms).Rooms (set of all available rooms).Buildings (Set of all available buildings).Buildings (Set of all available buildings).Computer Status (set of available statuses).Computer Status (set of available statuses).Connection Look up (set of all ports that will be monitored).Connection Look up (set of all ports that will be monitored).PC Connection Status (holds the information of monitoring results PC Connection Status (holds the information of monitoring results for all monitored ports for each computer).for all monitored ports for each computer).Configurations (set of different monitor configurations contains Configurations (set of different monitor configurations contains repeat time, mail address etc.).repeat time, mail address etc.).

Page 23: Computer Monitoring System  for EE Faculty

CMS Database table diagramCMS Database table diagram

Page 24: Computer Monitoring System  for EE Faculty

Monitor service Monitor service The Monitor Service is part of CMS project that The Monitor Service is part of CMS project that responsible of scheduled faculty PCs responsible of scheduled faculty PCs monitoring. It is implemented as Windows monitoring. It is implemented as Windows Service and need to be installed, on server.  The Service and need to be installed, on server.  The service created using ADO.NET on C# service created using ADO.NET on C# language.language. Monitor contains dataset (DAL), based on Monitor contains dataset (DAL), based on ADO.NET, all data manipulations done through ADO.NET, all data manipulations done through it. The dataset contains strongly-typed data it. The dataset contains strongly-typed data tables and table adapters, which call the store tables and table adapters, which call the store procedures from database, and transfer\receive procedures from database, and transfer\receive data. data.

Page 25: Computer Monitoring System  for EE Faculty

Monitor serviceMonitor serviceThe service activity depends on timer control that invokes monitor The service activity depends on timer control that invokes monitor run everyrun every period of time (this period of timed stored in database and period of time (this period of timed stored in database and can be changed via the website). The monitor checks all existing can be changed via the website). The monitor checks all existing PCs in database, which should be online, sends pings and tries to PCs in database, which should be online, sends pings and tries to create socket connections on different ports that defined in system create socket connections on different ports that defined in system settings. If none of connections is successful, mail about such PC settings. If none of connections is successful, mail about such PC sent to system administrator (email address must be defined in sent to system administrator (email address must be defined in system settings via website). The mail sending procedure is quite system settings via website). The mail sending procedure is quite "expensive" in time concept, and not depends on the monitoring "expensive" in time concept, and not depends on the monitoring itself, so this is done in separate thread, using multithreading itself, so this is done in separate thread, using multithreading mechanism that .Net provides.mechanism that .Net provides.

Test application is also added to monitor, in order to run application Test application is also added to monitor, in order to run application without installation. The test application implemented as Windows without installation. The test application implemented as Windows Form, which invokes the timer\monitorForm, which invokes the timer\monitor

Page 26: Computer Monitoring System  for EE Faculty

Monitor DatasetMonitor Dataset

Page 27: Computer Monitoring System  for EE Faculty

Monitor class diagramMonitor class diagram

Page 28: Computer Monitoring System  for EE Faculty

Design PatternsDesign Patterns

Design patternDesign pattern is a general repeatable is a general repeatable solution to a commonly occurring problem solution to a commonly occurring problem in software design. A design pattern is not in software design. A design pattern is not a finished design that can be transformed a finished design that can be transformed directly into code. It is a description or directly into code. It is a description or template for how to solve a problem that template for how to solve a problem that can be used in many different situations. can be used in many different situations.

Page 29: Computer Monitoring System  for EE Faculty

Design PatternsDesign PatternsSingleton (Creational pattern):Singleton (Creational pattern):

The singleton pattern is implemented by creating The singleton pattern is implemented by creating a class with a method that creates a new a class with a method that creates a new instance of the class if one does not exist. If an instance of the class if one does not exist. If an instance already exists, it simply returns a instance already exists, it simply returns a reference to that object.reference to that object.

-Singleton()+getInstance() : Singleton

-singleton : Singleton

Singleton

Page 30: Computer Monitoring System  for EE Faculty

Singleton in the projectSingleton in the project

Class MonitorUtils (Lazy Initialization)Class MonitorUtils (Lazy Initialization)Table adapters in BLLTable adapters in BLLADO.NET connection to SQL database is ADO.NET connection to SQL database is built as singletonbuilt as singleton

Page 31: Computer Monitoring System  for EE Faculty

Design PatternsDesign PatternsObserver (behavioral pattern):Observer (behavioral pattern):

The The observer patternobserver pattern is a design pattern used in is a design pattern used in computer programming to observe the state of computer programming to observe the state of an object in a program. This pattern is mainly an object in a program. This pattern is mainly used to implement a distributed event handling used to implement a distributed event handling system. The essence of this pattern is that one system. The essence of this pattern is that one or more objects (called or more objects (called observersobservers or or listenerslisteners) ) are registered (or register themselves) to are registered (or register themselves) to observeobserve an event which may be raised by the an event which may be raised by the observed object (the observed object (the subjectsubject). (The object which ). (The object which may raise an event generally maintains a may raise an event generally maintains a collection of the observers.) collection of the observers.)

Page 32: Computer Monitoring System  for EE Faculty

Observer pattern UML diagramObserver pattern UML diagram

Page 33: Computer Monitoring System  for EE Faculty

Observer in the project Observer in the project

Timer in Monitor service (easy to show).Timer in Monitor service (easy to show).Built in for many web controls and pagesBuilt in for many web controls and pages

(buttons, combo boxes and etc). (buttons, combo boxes and etc).

Page 34: Computer Monitoring System  for EE Faculty

Observer in the projectObserver in the project

serviceBase

+timer1_elapsed()

Monitor

+elapsedEventHandler()+elapsed()

Timer1*

Page 35: Computer Monitoring System  for EE Faculty

Possible improvementsPossible improvements

Multithreading can be used in monitor in Multithreading can be used in monitor in order to improve performance.order to improve performance.The system can inform the administrator The system can inform the administrator not only by email, but also by SMS.not only by email, but also by SMS.AJAX technology can be used to improve AJAX technology can be used to improve site performance.site performance.Using ASP.NET membership to receive a Using ASP.NET membership to receive a built in way for validating and storing user built in way for validating and storing user credentials. credentials.

Page 36: Computer Monitoring System  for EE Faculty

Questions?Questions?


Recommended