Sie sind auf Seite 1von 72

REMOTE MONITERING AND NETWORK SYSTEM

A PROJECT REPORT(MAJOR) Submitted by UDAYVEER


(Uni. Roll. No. 08ESMIT054)

PRADEEP PAL
(Uni. Roll. No. 08ESMIT041) JOGENDRA (Uni. Roll. No. 08ESMIT025) In partial fulfillment for the award of the degree Of

Bachelor of Technology
In Information technology

St. Margaret Engineering College, Neemrana


RAJASTHAN TECHNICAL UNIVERSITY, Kota May- 2012
i

REMOTE MONITERING AND NETWORK SYSTEM


A PROJECT REPORT(MAJOR)
Submitted by

UDAYVEER
(Uni. Roll. No. 08ESMIT054)

PRADEEP PAL
(Uni. Roll. No. 08ESMIT041)

JOGENDRA
(Uni. Roll. No. 08ESMIT025) In partial fulfillment for the award of the degree Of

Bachelor of Technology
In Information technology

INTERNAL SUPERVISOR Mr. Rajendra Khatana


Asst. professor

EXTERNAL SUPERVISOR Mr. Shailendra Soni


Asst. professor

(CS/IT)

(CS/IT)

St. Margaret Engineering College, Neemrana


RAJASTHAN TECHNICAL UNIVERSITY, Kota May- 2012
ii

St. Margaret Engineering College, Neemrana


BONAFIDE CERTIFICATE
Certified that this Major Project Report REMOTE MONITERING AND NETWORK SYSTEM is the Bonafide work of UDAYVEER (08ESMIT054), PRADEEP PAL (08ESMIT041), and JOGENDRA (08ESMIT025), who carried out the work under our supervision, towards partial fulfillment of the requirements of the Degree of Bachelor of Technology in information technology from Rajasthan Technical University, Kota.

Internal Supervisor
Mr. Rajendra Khatana Asst. professor (CS/IT)

External Supervisor
Mr. Shailendra Soni Asst. professor (CS/IT)

iii

St. Margaret Engineering College, Neemrana

CERTIFICATE OF AUTHINTACTION
We Solemnly Declare that this Major Project Report REMOTE MONITERING AND NETWORK SYSTEM Is The Bonafide Work Done Purely By Us, Carried Out Under The Supervision Of Asst. Prof. Rajendra Khatana, Towards Partial Fulfillment Of The Requirements Of The Degree Of Bachelor Of Technology In Information Technology From Rajasthan Technical University, Kota During The Year 2011-2012. It Is Further Certified that this Work Has Not Be Submitted, Either In Part Of In Full, To Any Other Department Of Rajasthan Technical University, Or Any Other University, Institution Or Elsewhere, Or For Publication In Any Form.

UDAYVEER 08ESMIT054, 2011-2012

PRADEEP PAL 08ESMIT041, 2011-2012

JOGENDRA 08ESMIT025, 2011-2012

iv

ACKNOWLEDGEMENT
We are extremely grateful and remain indebted to our guide Mr. Rajendra Khatana for being a source of inspiration and for his constant support in the Design, Implementation and Evaluation of the project. We are thankful to them for their constant constructive criticism and invaluable suggestions, which benefited us a lot while developing the project on REMOTE MONITERING AND NETWORK SYSTEM. He has been a constant source of inspiration and motivation for hard work. He has been very cooperative throughout this project work. Through this column, it would be our utmost pleasure to express our warm thanks to him for their encouragement, co-operation and consent without which we mightnt be able to accomplish this project.

ABSTRACT

Remote Monitoring is designed and developed with the end user in mind, user in a similar way. The features included in the Remote Monitoring package are a jump further on of other similar fields. A remote monitoring, also called a LAN Controller, is a desktop application designed for use on a small office environment. A Remote Monitoring are optimized so as to display client pc which is connected in local area network. Remoter Monitoring software must be small and efficient to accommodate the low memory capacity. The area of programming by writing code in a code editor is long gone. These days programmers are approaching towards rapid code development. Shorter life cycle development and easier maintenance of developed systems can be achieved through different approaches ranging from computer-aided development to rapid prototyping and model development. The chosen software tool may shorten the production period but, at worst, may considerably prolong it. If the modeling environment is too complex, the programmer will require training and practice time before becoming creative - time that we simply do not have.

vi

TABLE OF CONTENTS CHAPTERS PAGE NO.

Chapter 1 ......................................................................................................................................... 1 Introduction ..................................................................................................................................... 1 1.1 CONTEXT AND PRELIMINARY INVETIGATION ............................................................ 1 1.1.1 Topic Background .............................................................................................................. 1 1.1.2 Purpose of Implementation: ............................................................................................... 2 1.1.3 Targeted Users of the System: ........................................................................................... 3 1.1.4 Problem Context:................................................................................................................ 3 1.1.5Rationale: ............................................................................................................................ 3 1.1.6Tangible benefits ................................................................................................................. 4 1.1.7 Intangible Benefits: ............................................................................................................ 4 1.1.8 Goal of System Development: ........................................................................................... 5 1.1.8.1 Project Goal: ................................................................................................................ 5 1.1.8.2 Academic Goal ............................................................................................................ 5 1.1.9 Objectives of System Development: .................................................................................. 5 1.1.9.1 Project Objectives: ....................................................................................................... 5 1.1.9.2 Academic Objectives ................................................................................................... 6 1.1.10 Success Criteria: ............................................................................................................... 6 1.1.11 Scope of Proposal and Functionalities: ............................................................................ 6 1.1.11.1 Core functionality of the system:............................................................................... 6 1.1.11.2 Advanced functionality of the system: ...................................................................... 6 1.1.11.3 Enhanced and special functionality of the system: .................................................... 7 1.1.11.4 Evidence for Limiting Scope ..................................................................................... 7 1.1.12 Major Deliverables of the Project: ................................................................................... 8 1.2 Test Plan: ............................................................................................................................... 8 1.3 Risk Management:............................................................................................................... 10 1.4Work Break- Down Structure: ............................................................................................. 13 1.5 Project development: ........................................................................................................... 15 vii

Chapter 2 ....................................................................................................................................... 18 Literature Review ......................................................................................................................... 18 CONCLUSION ............................................................................................................................. 20 Chapter 322 Methodology/Work Plan22 Chapter 4 ....................................................................................................................................... 24 Research Methods ......................................................................................................................... 24 Primary Research .......................................................................................................................... 24 Questionnaires ....................................................................................................................... 24 Chapter 5 ....................................................................................................................................... 40 Analysis ........................................................................................................................................ 40 Screen shot.42 Chapter 6 ....................................................................................................................................... 45 Implementation ............................................................................................................................. 45 6.1:-Tools Used......45 6.2:-Implimentation Plan ........................................................................................................... 46 6.3:- Implimentation Of The Modules ...................................................................................... 47 Chapter 7 ....................................................................................................................................... 48 Testing .......................................................................................................................................... 48 Chapter 8 ....................................................................................................................................... 56 Evaluation ..................................................................................................................................... 56 Future Scope..58 Conclusion .................................................................................................................................... 59 References/Bibiography.....60

viii

List of Table
Table name 1. Risk and mitigation plan for natural threats. 2. Risk and mitigation plan for technical threats. 3. Risk and mitigation plan for human threats. 4. Risk levels 5. Risk occurrence likelihood matrix 6. Risk probability- consequence table 7. Contingency plan for smart mail 8. Functionality comparison with existing system. 9. Comparison between methodology 10. Testing 11. Unit testing for login panel 12. Unit testing for Project Initiation 13. Compatibility test OS details 14. Compatibility test for OS 15. Compatibility testing for web browsers Page No.
10 11 11 12 13 14 15 21 33 49 52 53 53 54 55

ix

Table of Figure
Page No.
13 28 29 30

Figure name 1. Qualitative risk analysis matrix. 2. Waterfall model. 3. Spiral model. 4. Rational unified process model (RUP)

Chapter 1 Introduction
Remote Monitoring is designed and developed with the end user in mind, user in a similar way. The features included in the Remote Monitoring package are a jump further on of other similar fields. A remote monitoring, also called a LAN Controller, is a desktop application designed for use on a small office environment. A Remote Monitoring are optimized so as to display client pc which is connected in local area network. Remoter Monitoring software must be small and efficient to accommodate the low memory capacity

1.1 CONTEXT AND PRELIMINARY INVETIGATION


1.1.1 Topic Background We offer the expertise and ability to control client pc in a small office environment, easily . Send file server to client and also send warning message and multiple line message to client. Modules View Client Screen Module Description: Server Module: This is the server part which waits for clients connections and for each connected client, a new frame appears showing the current client screen. When you move the mouse over the frame, this results in moving the mouse. When you click any Particular client screen then it is automatically zoom out. You can easily watch it is activity. After that when you click on cancelled button then it is automatically go to previous screen short. Client Module: This the client side, its core function is sending a screen shot of the client's desktop every predefined amount of time. Also it receives server commands such as "move the mouse command", and then executes the command at the client's PC.

xi

Static Message Module: In this module admin can monitored that client is trying to open any ill legal site or any ill legal activity then admin can send the warring message to client . it is fixed type there is no requirement type this message. View Client Screen: In this module admin can view active client screen on server and admin has one more feature admin can zoom any client screen like client desktop. When click on cancelled button then it is automatically in small size. Start and Stop Screen Capturing Module: In this module admin can authorized that when admin to stop the screen capturing to client pc then admin can stop the screen capturing. When admin wants to continuous the screen capturing of the client then click on start screen capturing. Multi Line Type Message Module: In this module admin can monitored client and admin want to convey the any message to client then admin can send the dynamic message to client. It can be multiple line type according admin requirement type this message. File Transfer Module: In this module admin can transfer to the any word file client computer. Client get a message Server send a file if client accept the request then it ask location where you want to store the file with extinction. Performance Module: In this module admin can check the how much bytes are transfer between two pc or any particular client. It shows the client IP details and how much byte transfer. Shut Down Module: In this module admin are authorized for shut down or standby mode the client computer. If admin can give any instruction to client if client follow the instruction it is well and good otherwise admin can shut down/standby the computer.( window XP) 1.1.2 Purpose of Implementation: This system is useful for those office which have multiple user in different locations and admin want to monitor all user in a office. This Application also provide server monitor all client in a office. In this, server is able to send file to client and also send warning message and multiple

xii

line message to client and server is also able to shut down client pc. This facilities is provided in which place where local area network is available. 1.1.3 Targeted Users of the System: Users are at the forefront of any development activity. A system to be successful must be able to meet the requirements of its intended users efficiently. Targeted users comprises of those intended users. The system will mainly be developed by targeting the information seek peoples such as professional, business person etc. to fulfill their requirements. Anyone who has the basic knowledge of computer and internet and who frequently works with mail systems like Gmail, yahoo, hotmail etc. can use this system. Anyone ranging from home users to office users; interested in the habitual check of their mail while they are away and having the internet connection needs this system. 1.1.4 Problem Context: I had found the following problems in the existing system during the research session System starts downloading but it stops always in the same E-mail It just "sits there" or gives me a Server time out error Messages in Inbox or other mail folders disappear Same mail messages continue to be downloaded from POP3 account Toolbar buttons are distorted or black Spellchecking is not functional after installing an enabling application. Hyperlinks are not working some time.

A user has several choices for your email client application, including a range of web email services. However, many people prefer to use a stand-alone application designed specifically for email since they sometimes have a better focus and features. 1.1.5Rationale: The rise of email as a communication tool has been critically important in the business and commerce world. It allows for instant dialogue between colleagues, clients and contractors, and it's also free. For many companies, the wide reach of emails has allowed them to access a client xiii

base far larger than ever previously conceived, thus providing the potential for increased revenues. A type of e-mail sent for commercial purpose. For instance, the e-mail may promote a product or server, be an order confirmation, be a subscription update, or be an opt-out. It is important, though, to differentiate transactional commercial messages from advertisements, as the later is subject to additional requirements. Smart mail is an e-mail client that runs on computers, we mean that it interacts directly with the user, allowing mail to be sent, read. Smart mail can be left running permanently on the workstation and includes powerful tools to notify the user when new mail arrives. Benefits of the system: Benefits come in two types. Tangible benefits are those that can be measured and assigned some kind of number or dollar value. Intangible benefits are benefits that cannot be measured or even quantified. 1.1.6 Tangible benefits 1. Reduce Cost of Internet: as Smart Mail deals with offline accessing of mail, so the users need not have to worry about the internet connection. This will save their money to a great extend. 2. Saves time: As the system is to be made online and offline so it saves time of the users. The users can now access their mail offline sitting at home without having to wait for opening their different mail account form different sites. 3. Reduces training cost: the Smart mail system interface of my application in both online and offline will be very friendly and based on the principles of HCIU. This will save organizations from investing heavily in training in terms of both time and cost.

4. Smart mail allows user to access multiple accounts in same window.

1.1.7 Intangible Benefits: Reduced unscrupulous activity: The user knows that their each and every activity on the email is being monitored and recorded. This will discourage them from indulging in any unscrupulous activities. xiv

Increases Privacy and security: I will use RSA Encryption method to increase the user privacy and security. Better management of marketing information and customer information.

1.1.8 Goal of System Development: 1.1.8.1 Project Goal: The major goal of this project is to come up with a secure and effective mail client system, called Smart Mail. This system is required to be developed within the estimated time duration and cost budget, the developed system will also need to meet the user requirements and produce the expected deliverables at the end of the development. The overall goal of the project is to develop a service that will provide a very important and unique feature that you can easily check your Yahoo, Hotmail, and Gmail account from this Webmail. 1.1.8.2 Academic Goal The primary academic goal in developing this system absorbs gaining personally experience in developing a real world application based on various project management and human computer interaction principles. The project will help in appreciating the weight of time scheduling and a accurate documentation for triumph of a project. From an academic viewpoint, the project will enable learning new technologies, programming languages, databases concepts and principles of project management. 1.1.9 Objectives of System Development: 1.1.9.1 Project Objectives: The major objective of this project is to approach up with a secure and effective mail client system. This system is required to be developed within the estimated time duration and cost budget. The developed system will also need to meet the user requirements. Produce the expected deliverables at the end of the development.

xv

1.1.9.2 Academic Objectives Apart from the above mentioned project objectives, the project should enable the developer snatch a solid grip on various Project Management and HCI principles and conventions. 1.1.10 Success Criteria: The success of the system being developed in terms of: Meet up the user requirements: Once the system is deployed whether it is able to fulfill all the user requirements. Functional requirements: Whether all the modules of the system are operating as intended or not. Passing the test criteria: Whether the system is able to pass the set test criteria. Usability and HCI evaluation: Whether the system follows accepted HCI norms and conventions. 1.1.11 Scope of Proposal and Functionalities: 1.1.11.1 Core functionality of the system: 1. Basic functionality of email: in this module system will provide the basic functionality to the user.
2. 3. 4. 5. 6.

User will be able to read the mail. User can compose mail or save the mail in the draft folder. User can delete the unimportant mail from the inbox section. User will be able to see the delete mail in the trash folder. User can add his topic for discussion in the webmail as well as gives their own views of different topic has been uploaded by other user.

7.

User can change his password.

1.1.11.2 Advanced functionality of the system:


8. 9. 10.

Support for major Internet mail-related protocols - SMTP, POP3 User will be able to search the mail by using the sender id and the subject of the mail. Support for multiple simultaneously accessible POP3 and IMAP mailboxes.

xvi

1.1.11.3 Enhanced and special functionality of the system:


11.

Powerful encryption interface - the program has its own encryption method, and by adding readily available plug-in, can support encryptions such as PGP.

12.

Offline operation allows you to read and compose your mail while you are not connected to the Internet.

13.

The very important and unique feature is that you can check your different mail account from Smart mail desktop application at same window.

14.

In the webmail section user will be able to compose his mail by using the RSA encryption technique.

15.

User can send mail to different account from the smart mail desktop application, but in the receiver end user has to enable his settings to POP3.

1.1.11.4 Evidence for Limiting Scope The scope of a project is limited by time and cost. In this case, time is of essence. If any features are included into system later on, they will be calculated as special features of the system. As the system solution itself functions on a network i.e. performs its activities including sending of notification, uploading of notices etc on a network, hence unless and until the network topology used is strong and robust there is fear for crashing of the system and hence of the data. With data being crashed update anomalies will show up in notifications starting with end users receiving outdated information about news and events. Other major concerns could be the use of security in the portal solution. Although the system is designed to provide maximum security and privacy for the end users yet anomalies may exist in the form of leakage of private information or encroaching of privacy. Even though the system is developed for novice as well as for casual users it will require a computer literate person as a user. xvii

1.1.12 Major Deliverables of the Project: Smart Mail brings security and performance together, delivering high profile enhancements that don't compromise safety.

The deliverables at the end of the project are: Softcopy of the project documentation. Hardcopy of project documentation. CD containing the entire source code of the project and the documentation.

Smart mail does all the basics of e-mail extremely well and far more than that. This list is by no means comprehensive - it concentrates on the highlights. 1.2 Test Plan: The principles of the test discipline are:

To make sure that the interaction between objects. To make sure that the proper assimilation of all components of the software. To make sure that all requirements have been properly implemented. To identify and ensure that faults are addressed earlier to the use of the software. To make sure that all the faults are fixed, retested and closed.

The two most broadly used universal testing are White-Box testing and Black-Box testing. White-Box testing: is a program based testing which uses program statements and data dependencies to derive test cases. White box testing will be carried out for all the logically complex modules of the project. It takes into account the internal mechanism of a system or component. It demands full visibility of the internal workings of the software product, specifically, the logic and the structure of the code. White box testing will be carried out for all the logically complex modules of the project. Black Box testing: is a requirement based testing which uses test cases to show that the project satisfies functional as well as non- functional specifications. Black box testing will be carried out for all the modules of the project. Testing without knowledge of the internal workings of the item being tested. Tests are usually functional. The system or module to be tested is considered as black box which only takes input and gives output after processing, thus the testing solely xviii

depends on the inputs. Every input will be tested for its validation using various black box testing techniques. This will help me to know if all the processes are working fine. Unit testing: It will be done to ensure whether an individual portion or unit of the software conforms to their specifications and predictable performance. This will help in identifying small faults in the project. Functional and reliability testing in an engineering environment. Producing tests for the behavior of components of a product to ensure their correct behavior prior to system integration. Unit testing will be performed to test each module individually. Functional testing: Here, each and every module of the project will be tested individually. Validating an application conforms to its specifications and correctly performing all its required functions. This entails a series of tests which perform a feature by feature validation of behavior, using a wide range of normal and erroneous input data. This can involve testing of the product's user interface, APIs, database management, security, installation, networking; etc. Testing can be performed on an automated or manual basis using black box or white box methodologies. Usability Testing: This testing strives upon the usability features like design principles and other HCI guidelines. The system is tested to follow the designing principles. The system is also checked for the feedback, visibility, constraints and other HCI guidelines. Compatibility Testing: Testing to ensure compatibility of an application with different browsers, Operating Systems, and hardware platforms. Compatibility testing can be performed manually or can be driven by an automated functional or regression test suite. As Campus Connect would be a platform independent application I will check its compatibility with different operating systems. This testing will be performed after completion of the whole system. Integration Testing: The different modules of the system will be integrated tested to check the functionality of the entire system. User Acceptance Testing: This is done at the completion of the project. This is done by an external stakeholder. This will help the developer to know whether the system developed meets user requirements. Testing to verify a product meets customer specified

xix

requirements and the user accepts the system that was developed. User acceptance testing would be done after the development of the entire project. GUI Testing: The GUI developed for the application will be tested for its ease of use and understanding. 1.3 Risk Management: Risk analysis was carried out by the developer to recognize probable risk that can take place throughout the development stage. Identified Risk and Mitigation plan: The developer identified the project risk by evaluating the project plan and the project scope statement. There is much kind of threats behind the development of a project. Natural Threats: Natural threats can give a great collision to obstruct the project. As enlisted below the natural threats can cause loss of resources as well as the capital. Even though the natural risks are less probable, if occurred they can cause failure of entire project. Few of the natural threats are:
Sr. No 1. As we know that experience teaches us a lot of Widespread secondary research is conducted things. Inexperience in the subject matter can on the subject matter. Online help and journals be a possible risk. were sought after to gain knowledge about the area. Risk Mitigation Plan

2.

Unrealistic scheduling

Critical issues for the project were identified and adequate time slot was given for each such activities.

Table 1: risk and mitigation plan for natural threats

xx

Technical Threats: These are threats relating to technical issues that will also lead to unwanted project results.
Sr. No 1. Some of system functionalities may not be delivered by The scope of the project was reduced. the time of submission. The project may not be completed on time. 2. Loss of data due to system crash or failure. Proper back up for the research material arranged. and others have been Risk Mitigation Plan

3.

Technology selected will not meet the expectation.

Thorough research was conducted in finalizing the tools to be used for developing the project.

Table 2: risk and mitigation plan for technical threats Human Threats: There are certain threats based on human behaviors, habits and characteristics as featured below:
Sr. No 1. Risk Mitigation Plan

The developer might fall short in learning Proper task schedule and time management or implementing the optimum knowledge should be planed. or technology in the project due to personal shortfalls.

2.

If the developer is not able to communicate Proper communication should be there with correctly or there might be any supervisor.

misinterpretations between the supervisor and supervisee leading to interruption of the project development.

xxi

3.

The developer might fall short in the Proper planning for the entire project. development of the project either due to other modules or other The unexpected time line

individual

deficiency.

estimating project development is based on heuristics and might lack professionalism. This again will lead to project delays.

Table 3: risk and mitigation plan for human threats

RISK EVALUATION The developer has a detailed overview of few real time projects AMC mail client to study the risk analysis and evaluation. The developer identified the following risk severity levels accordingly:
Impact % 0-20 21-40 41-60 61-80 81-100 Level Insignificant Minor Moderate Major Severe

Table 4: Risk Levels

The developer also had a study of the environment of the project Smart Mail; he identified the likelihood of the various risks identified above as shown below: gg

xxii

Occurrence % 0-5 6-15 16-50 51-75 76-100

Likelihood Rare Unlikely Possible Likely Almost Certain

Table 5: Risk occurrence likelihood matrix.

Qualitative Risk Analysis Matrix


Consequences Likelihood Insignificant Minor Moderate Major Severe

Almost certain

Likely

Possible

Unlikely

Rare

Figure 1: Qualitative Risk Analysis Matrix

The above mentioned table indicates the Qualitative Risk Analysis matrix that is produced based on the likelihood and consequence of a general risk. (Table_Qualitative_Risk_Analysis_Matrix) The developer has used this matrix to prioritize the risks. Each risk can thus be prioritized as low, medium, high or extreme priority risk. The risks involved in Smart mail and their priorities are calculated below:

xxiii

Risk Name Security Power failure Personal shortfall Communication failure Unrealistic schedule and budget Loss of data storage devices

Likelihood Rare Likely Possible Likely Unlikely Rare

Consequence Medium Major Moderate Major Moderate Major

Priority Major High Medium High Medium Medium

Table 6: Risk Probability-Consequence Table

Reasons of the identified risks of this project can be explained as follow: 1. Security: this risk will occur in exceptional circumstances only (rare) and it would threaten functional goals / objectives (major impact). 2. Power failure: this risk is most likely to happen in most situations in Panipat (likely) and it will intimidate the functional goals or objectives. Power crisis may also lead to shortcircuiting or other electrical problem that may damage the equipments that might lead to the above circumstances (Major). 3. Personal shortfall: This risk could happen with the developer due to getting in poor health. If this risk happens, it may lead to having necessary modification done to resource allocation so it bears moderate risk. 4. Communication Failure: As described in the risk identification section this risk could occur and it will result in undesired features or delay in work. 5. Unrealistic schedule budget: If the developer has a accurate planning to developed the system and regular meeting with the supervisor regarding the project progress then the project delay will be less often (unlikely) but if this risk occurs it will be a hamper the related module as well as the system as a whole, thus the consequence is moderate.

Contingency plan: Contingency planning is a systematic approach to identifying what can go wrong in a situation. Rather than hoping that everything will turn out OK or that "fate will be on your side", a planner

xxiv

should try to identify contingency events and be prepared with plans, strategies and approaches for avoiding, coping or even exploiting them.2 This is a very important plan to having planning for the recognized risks have been done. This is important so as to be ready with a means of overcoming the risk. On the basis of the priority of the risks the contingency plan for the risks are as follows:

Risk Security Academic

Power Failure

Communication failure Unrealistic scheduling budget

Loss of data storage and devices

Strategy Prevent data loss by maintaining backups Documenting the work regularly will help in maintaining the backup and easier to resume the work Availing the power backup facility for project, maintaining backup of the project. Formulate a proper communication plan Proper scheduling of project Monitoring the project at regular interval Maintain backup in other physical devices

Risk Owner Developer Developer

Booth Supervisor and supervisee together Both supervisor and supervisee together Developer

Table 7: contingency plan for Smart mail 1.5 Project development: While the project follows the four major phases of the RUP model, I have broken down the overall process to some more detailed tasks for the development plan; here is a breakdown list of the plan with its possible durations: Start date: 3rd Augest 2010 Duration: 36 Weeks End date: 25th April 2011 1. Project Definition Duration: 1 week Tasks:

xxv

Idea Generation Project Title Selection Feasibility Studies

Abstract Draft Project Proposal

2. Project Planning Duration: 3 weeks Tasks: Work Breakdown Structure Schedule and Time Estimation Critical Path Method Gantt Chart Project Proposal Form

3. Requirement Analysis Duration: 12 weeks Tasks: Identify project specifications Project Background Resources required Techniques to be learnt Goals and Objectives Determine System Functionalities Identify scope of research

Project Specification Form Investigation ad Research Human Computer Interaction Multimedia Design Principles Current email client applications User requirements

Analysis User Modeling and Profiling xxvi

4. System Design

Domain analysis System analysis Risk analysis

Duration: 3 weeks Tasks: Navigational Design 5. Prototyping Duration: 10 weeks Tasks: Creating Prototypes Evaluate Prototype feedbacks Story Boarding Use case diagram

Abstract Interface Design Screen layout Content Design Interactivity Design Functionality Design

6. Production and Implementation Duration: 1week Tasks: Code generation Mid point Interview Module Integration

7. Testing and Evaluation Duration: 4 Tasks: Prototype Evaluation Test Plans

xxvii

Chapter 2 Literature Review


Research is of prime importance for any successful project development. It gives movement to developers ideas and provides for the theoretical background for any project development. This section will with the developers existing knowledge and secondary research. The section will also present a domain analysis any such existing systems. Email is the most preferred communication medium for businesses around the world today and providing protected and pervasive access to it is the key to increased productivity of any successful business. Smart Mail provides intelligent access to Email, contacts directory and calendar. Interaction with Smart Mail is multi-modal providing hassle-free access to the user. Smart Mail alerts the users based on their alert rules. Users can access Smart Mail through any mode/device of their choice to read, reply, compose, and forward emails and attachments. 3 E -mail is the most widely used application and it has become the application that users spend much of their time using it [1, 2]. E-mail clients are used every day in our lives and they can be the reason of buying personal computers. Therefore, Duchenaut and Bellotti called it habitat
[3]

. E-

mail is designed to enable none-face to face communication but because it is widely used nowadays it is being used for additional functions which e-mail is not designed for, therefore it is called overloaded
[4]

. Many studies showed that the number of e-mail messages rapidly grows.

For example, the University of California stated that about 31 billion e-mail messages have been sent in 2007 and this number might be doubled in 2010. In other study, it has been shown that the average user gets around 49 e-mail messages a day while high volume users can get more than hundred [1]. It has been shown that the average user gets around 49 e-mail messages a day. While high volume users can get more than hundred. By leaving these e-mail messages in the email inboxes they will be very difficult to use and they will be cluttered.

xxviii

Although e-mail applications are widely used and many studies have been performed but it has not been significantly treated and researched in term of usability aspects. Although most of the email clients use the textual table view to presents the e-mail messages, different problems are exist when browsing large amount of e-mail messages. For example users will take long time to locate a specific e-mail message. Filtering and using folders has been proposed and suggested to be the way of organizing the email inboxes which will make the navigation easier. Many studies showed that using folders and filtering features has many problems4. Auto classification and automatic folders creation has been proposed to be a solution, but it has proven error prone [1]. Apart of using filtering and auto classification of e-mail messages many studies have been performed in order to provide an alternative approach to the textual table approach. Most of these studies used different visualization techniques with the information hiding concept in order to present the e-mail messages and data. Research is a significant attribute in determining the accomplishment of a project, as it provides complete coverage of knowledge, better insights and understanding of the required area. The type of research to be applied in this project will be mainly primary researches, such as questionnaires. Specific interviews with some of the experts in the mail system will be essential in order to gather the correct and accurate information required. As Smart mail is a mail client system is still advanced system, there is not much information from the television or books about it, and the only solution is to gather information from the student who have been active to using the mail for some time. The development of this project requires a deep insight in many new concept of software development. Major research area for the development of the project can be: Key concepts of client server architecture. Concept of software design methodology. Usability principles. Human Computer Interaction Principles. The advanced concept of database management.

xxix

Understanding the very concept of Email client. To know and implement the protocols for mail client development. To have a huge ground exposure to large databases. To understand the concept of design issues and user feedback. To understand the concept of SMTP and POP3 protocol. To understand the concept of RSA Encryption method.

Preliminary researches are being carried with the help of the following sources. As research work progress more items will be added to the list. Advanced Preliminary: The proposed system is being developed for mail system. So, a study of the various principles of this field is required. the email is received by the intended recipient, the email is unencrypted as it passes through the recipients secure-mail hub or when it is opened if the recipient is using the software version, Secure-mail. CONCLUSION By reviewing the previous research and studies that have been performed in browsing e-mail data it has been inferred that using graphics alone is not sufficient for enhancing e-mail usability. Information hiding is not good solution for reducing the graphical complexity because it might hide critical information. This information can be presented using other modality such as the auditory channel. The combination of different modalities can enhance the usability of any information system. The e-mail message based on the basic e-mail properties and presents the other using different modalities. The anticipated benefits of this tool are expected to be significant and effective because the e-mail applications are widely used. 3.5 Similar Existing Systems: There are mail client services that are available in the market today. Given below is a brief description of some of the most popular mail clients.

xxx

Hardware requirement: The hardware needed for this project are listed below. The specification of the PC is:

Processor Ram Hard drive Memory Monitor

Intel Pentium 4-1.3GHz or faster or AMD 512 MB DDR-Win XP 2GB DDR- Vista Business or Vista Ultimate 1 GB 512 MB Any standard monitor

Software requirement: In order to carry out the development of this project, many software are needed, these include Microsoft Windows XP, which shall be the operating system for the project to be developed; internet connection will also be needed in order to come up with the interactive user interface and objects. List of software:
Operating system Windows XP Windows vista Windows 7 Office 2000, 2003, 2007, 2010 Internet connections required for all computers Microsoft PowerPoint Microsoft project 2003 Microsoft Visio 2003/07 Diagram Design Adobe Dreamweaver 8.0 Adobe Photoshop

Business software Licensing Presentation Gantt Chart

The main tool and programming language tool be used the most for the project are java swing

xxxi

Chapter 3 Methodology/Work Plan


While email is now widely accepted, it only represents a developing stage that will over the next five years develop into entirely new forms of communications that more directly and efficiently suit the needs of businesses and organizations. 1. Problem: Existing system has the ability to split attachments into chunks.

Justification: This can be both annoying, if it was setup without knowing, or useful. Some Service Providers have a maximum limit on the size of emails. So your email Service provider may only allow a maximum of 1mb and will reject everything above that. 2. Problem: Have you noticed when you try and click on a hyperlink in an email, nothing happens. Justification: This could be a number of reasons: Virus Software is preventing links from opening Default Browser is not set correctly Windows File Association for web pages could be wrong

3. Problem: In an existing system I have found that as many times user receive an email from an address and user just delete it. Justification: It may be as simple as just unsubscribing from the mailing list. However, sometimes you may just want to block the email address so it doesn't end up in your Inbox. 4. Problem: most users do not want that their email and password should be saved in a particular site. It has a large security problem.

xxxii

Justification: In the proposed system developer will use the RSA encryption method; here messages are translated into sequences of integers. This can be done by translating each letter into an integer, as is done with the Caesar cipher. These integers are grouped together to form larger integers, each representing a block of letters. 5. Problem: Other existing system has trouble downloading new mail. Justification: These problems can occur if you do not compact the Inbox. The mailboxes require intervallic protection to avoid such problems from occurring. By the time the problems occur, compacting the Inbox, though still required, may not be sufficient to resolve the problem. In the proposed system this kind of problem wont be happen. Because the developer will use the actual methodology of SMTP and POP3 protocol. 6. Problem: Same mail messages continue to be downloaded from POP3 account.

Justification: If your POP3 mail account is configured to "leave a copy of messages on the server" it sometimes happens that OE downloads the same messages each time you send and receive. This is caused by a damaged Pop3 file in your Identity's store folder.
7.

Problem: I had found sometimes that many existing system has trouble to downloading new mail. Justification: When this happens, you may receive new messages that are empty when you try to open them or multiple entries for the same new messages in the inbox.

8.

One common problem in some existing system is that users experience is an inability to send messages. If you are unable to send messages, try deleting the outgoing mail (SMTP) password for your account.

xxxiii

Chapter 4 Research Methods


Primary Research User requirement is the main point of view for any developmental movement. User accepts only those products which are able to complete their functions. Primary research is very supportive in receiving information from user. Developer did the primary research in order to verify the feasibility of the proposed system. The following activities were conducted in order to gain information from the users: Questionnaires A questionnaire is basically a survey. It is usually a short survey that takes specific information. This kind of fact-finding method is applied to obtain more information from the people who are significant for the system and having very fewer times for participation for the reason that of their daily schedule. The questionnaires are also important for congregation information from the users who are related to the project but are geographically separated from each other. A total of 15 respondents have taken part this survey. The questions in the questionnaires are as follows: 1. Do you want scheduler in the system? Yes No Justification: If you are too often send messages on the schedule, the Email Scheduler plug in will help you fully automate this process. Now you can set a certain date and time to send xxxiv

out specific messages. Furthermore, Email scheduler can work with attached a file, which allows you to, for example, send certain documents periodically.

2. Are you using any current system?

Yes No Justification: This question would help me to know that whether users want or not to use such kind of system. 3. Do you want user groups? Yes No Justification: When you are in an Active Directory network environment, you can set Smart mail policies to enforce settings on a specific or a group of users. This is mainly to be used to change or limit the default behavior of Outlook in a corporate environment but can also be useful in some home environments. For instance, as a home user you might want to set policies on what your children can and cannot do in Outlook. 4. Do you want attaches from one group to another? Yes No Justification: this would ask to know, whether the user want to use this functionality or not. 5. Do you face any problem in current system? Yes No Justification: This question asks to the user who has facing problem during opening their mail client. If a user wants to open his mail account in different site (like Gmail, yahoo, hotmail etc.) for several times then user need to login more than a few times to access the site which is a cumbersome task. xxxv

6. How important do you think is the transparency in the sharing of information between a user and a mail-client (SmartMail) system? Important. Very important. Does not affect.

Justification: Smart mail will provide user to access their different mail account without login their account. They can access different account from Smart Mail at the same time. So that my system will reduce the user time and cost. 7. Do you want the system will provide the user to access the updated mail even if the user doesnt need to login all the time? Yes. No. Justification: user can access multiple accounts from this system (Smart Mail) faster rather than use of other system. This will help the user to access multiple accounts information in a single window (in Smart mail).

Technical Research

What is a Methodology? Software engineering is carry out of using preferred procedure techniques to progress the quality of a software development effort. A methodology is defined as a collection of procedures, techniques, tools, and documentation aids which will help developers in their efforts (both product and process related activities) to implement a new system. For successful implementation, a well-organized and systematic approach is crucial. Therefore, several methodologies were developed to encourage the systematic approach to planning, analysis, design, testing and implementation. Methodologies offer various tools and techniques to assist in analysis, design and testing in terms of detailed design of software, data flowcharts and database design.

xxxvi

Why Methodology? 1. To complete a project within time and budget with the expected scope and quality we need methodologies which provide for a framework. 2. Most methodologies have a general planning, developing and managing stages in common. They suggest the development team the ways of thinking, learning and arriving at a regular feasible solution. To select an ideal methodology was based on project requirements and goals. Functional Decomposition: The methodology should have stages according to the interrelated activities which can be grouped into different functional areas. Requirement Changes: If required, methodology provides scope to change the requirement. Manage Risks: Determined the risk is an important activity to develop a project. Iterative approach: Iteration allows refinement of requirement as well as design. Documentation: Methodology provides support for large documentation. Analysis and Design Support: A well defined structure of the methodology helps for analysis and designing to development process.. Implementation: The system should be implemented as per plan. Testing Support: More testing, more reliable the product is. Object Oriented Approach: Object oriented concepts will be used in developing the project as it supports component reusability. Suitable Methodologies: Waterfall Methodology: All projects can be managed better when segmented into a hierarchy of chunks such as phases, stages, activities, tasks and steps. It follows a linear structure starting from requirement analysis, through design, implementation and maintenance. Most widely accepted methodology for student projects, this model has been well tried and tested. Requirements are fixed at initial stages before proceeding with development plans in system development projects; the simplest rendition of this is called the "waterfall" methodology, as shown in the following figure:

xxxvii

Fig 2: waterfall model

The graphic illustrates a few critical principles of a good methodology:


Work is done in stages, Content reviews are conducted between stages, and Reviews represent quality gates and decision points for continuing.

The waterfall provides an orderly sequence of development steps and helps ensure the adequacy of documentation and design reviews to ensure the quality, reliability, and maintainability of the developed software. While almost everyone these days disparages the "waterfall methodology" as being needlessly slow and cumbersome, it does illustrate Spiral Model: While the waterfall methodology offers an orderly structure for software development, demands for reduced time-to-market make its series steps inappropriate. The next evolutionary step from the waterfall is where the various steps are staged for multiple deliveries. The spiral methodology reflects the relationship of tasks with rapid prototyping, increased parallelism, and concurrency in design and builds activities. The spiral method should still be planned methodically, with tasks and deliverables identified for each step in the spiral

xxxviii

This model is a better alternative if requirements are not well known in advance. It follows an iterative approach in system design. It extends the waterfall model by involving prototyping. It is generally preferred when project are large and complicated. The steps in this model are: a. High level requirement specification is drawn up b. Tested by building a prototype solution c. Prototype is reviewed and requirements are clarified or changed and amended requirements specification is issued The cycle is repeated until requirements are final and user approves the design.

Fig 3: Spiral model


Rational Unified Process (RUP) Modelling: Rational Unified Process Model offers features which are very useful for the development of this project. Features like iteration, repetitive testing, etc. will help in developing the system which is far more effective and error-free. RUP consists of four phases which can be altered to suit my needs. As iteration is a key feature of this model it is very useful for the development of student project as developer requires a repetitive check of the key features.

Roles (who) A Role defines a set of associated skills, competences, and responsibilities. Work Products (what) A Work Product represents something resulting from a task, including all the documents and models produced while working through the process. xxxix

Tasks (how) A Task describes a unit of work assigned to a role that provides a meaningful result. Within each iteration, the tasks are categorized into nine disciplines: six "engineering disciplines" (Business Modeling, Requirements, Analysis and Design, Implementation, Test, Deployment) and three supporting disciplines (Configuration and Change Management, Project Management, Environment). RUP facilitates changing of requirements at the later stages of development as incremental and iterative approaches are assimilated to accommodate changes over a time.

RUP provides a full lifecycle approach covering a series of product lifecycle phases called inception, elaboration, construction, and transition.

RUP Provides a software development method and a set software engineering practices that cover the majority of software development disciplines

The various phases of RUP model is: Inception Phase Elaboration phase Construction Phase Transition phase

Fig 4: RUP model


xl

Inception phase:

This phase deals with the various research works on the proposed system. It helps in formulating the scope of the project. The core features that are to be incorporated into the system are practically identified in this phase. The targeted audience is then identified and the various tasks to be carried out is divided and scheduled. This phase also includes an initial risk assessment against the project implementation. Plan and prepare the business case. Establish the project software scope and boundary conditions, including an operational vision and acceptance criteria. Estimates the overall cost and schedule for the entire project Estimate potential risks especially time, human and of course money Synthesize a candidate of architecture, evaluating trade-offs in design and in make/buy/reuse so that cost, schedule and resources can be estimated.

Prepare the environment for the project, selecting tools and deciding which parts of the process to modify.

Elaboration phase:

The primary objective is to mitigate the key risk items identified by analysis up to the end of this phase. The elaboration phase is where the project starts to take shape. In this phase the problem domain analysis is made and the architecture of the project gets its basic form. This also includes data gathering, analyzing and designing the proposed system. It shall contain the academic and domain research on knowledge universities and university portals. It is this phase that makes a comparative study of similar products available in the market and what addons can be incorporated to the current project. Once finished, the questionnaires and interview sessions with concerned users are conducted. Address architecturally significant risks of the project and implement baseline architecture to address them. Produce exploratory, throwaway prototypes to mitigate critical risks. Demonstrate that the architecture will support the requirement of the system. Refine the vision of the basis of new information obtained during the phase. Create initial iteration plans and release plans for the construction phase xli

Refine the development case and put the development environment in place Refine the architecture and select components

Construction phase:

The primary objective of this phase is to build the software system. The main focus here is on the development of components and other features of the system. This is the phase when the bulk of the coding takes place. In larger projects, several construction iterations may be developed in an effort to divide the use cases into manageable segments that produce demonstrable prototypes. During the construction phase, all the individual modules are developed and finally integrated to the product and is tested. After completely implementing the system it will be tested with proper testing technique. Iteratively and incrementally develop a complete product that is ready to transitions to its user community. Complete the analysis, design, development and testing of all required functionality in each iteration. Minimize development costs by optimizing resources and avoiding unnecessary scrap and rework. Achieve adequate quality as rapidly as practical Decide if the software, the sites and the users are all ready for the application to be deployed. Complete module development and testing against the define evaluate criteria. Evaluate product releases against acceptance criteria for the vision. IV. Transition Iteration Test early iteration and releases to validate the new system against user expectation Finalize end user support material; train users and maintainers. Roll-out to the marketing ,distribution and sales forces Finalize deployment specific engineering such as cutover, commercial packaging, production, sales roll-out and field personal training. Transition phase:

Primary objective of transition phase is to 'transition' the system from development into production, making it available to and understood by the end user. The activities of this phase include training the end users and maintainers and beta testing the system to validate it against

xlii

the end users' expectations. The product is also checked against the quality level set in the Inception phase. Comparison of methodologies against set criteria:

Criteria Functional Decomposition UML Modeling Manage Requirement Changes Risk Management Outcomes at each stage Iterative Approach

Waterfall Model Good

Spiral Model Good

RUP Excellent

Satisfactory Satisfactory

Average Good

Excellent Excellent

Poor Excellent

Good Excellent

Excellent Excellent

Poor

Average Average Excellent

Excellent Good Excellent

Heavy Documentation Excellent Analysis & Design Support Implementation Support Testing Support RAD Object Oriented Programming Overall ranking 3rd Average Satisfactory Satisfactory Average Excellent

Average

Excellent

Average Satisfactory Satisfactory 2nd

Excellent Excellent Excellent 1st

Table 9: comparison between methodologies Conclusion of Methodology Research

xliii

Each methodology was evaluated against set criteria and performance rating was given. The evaluation proved RUP as a well disciplined industry standard approach that perfectly matches the set criteria. Apart from allowing flexibility in requirement analysis, it also provides strong support for object oriented analysis and design.

WHY NOT WATERFALL MODEL This model needs all requirements explicitly, but it is frequently not easy for the customer to state all requirements clearly. The model tends to consume a lot more time compared to other software advance models though it is able to identify exact starting and ending points for a given project. Waterfall model does not support iterative approach. In this model developer cannot change the requirement in the middle of the project. If changes are tried to be incorporated it leads to more confusion and further delays. It defers testing and integration until the end of development lifecycle resulting in unnecessary risks. WHY NOT SPIRAL MODEL Requires considerable expertise in risk evaluation and reduction. Complex and relatively difficult to follow strictly. It has lack of risk management experience as well as lack of milestones and management is unsure of spiral process. WHY RUP MODEL It lets us take into account changing requirements. Risks are usually discovered or addressed during integration. With the iterative approach, you can mitigate risks earlier. Integration is not one "big bang" at the end; instead, elements are integrated progressively. xliv

Iteration enables reusability. It employs testing at each iteration. The result is a robust architecture. It offers latitude for learning along the way. The status of the project can be checked at the end of each iteration.

Selection of Programming language: To successfully develop a project or system, technical and programming skills are both equally important. The academic research determines the design of the system, while the technical and programming research will determine the usability of the system. The objective of this session is to identify a programming language platform for developing this project. Most important factors such as productivity, maintainability, efficiency, portability, etc. pay an enormous part in this track. As the project being developed is an email application to be developed by an object oriented approach, it leaves the developer to choose from the following languages: JAVA, ASP.NET and C#. A lot of research was carried to select the best among these. Java: It is an object oriented and platform independent language which is used for programming desktop application. It consists of a virtual machine and set of libraries which are needed to allow the use of file systems, networks, graphical interfaces, etc. Useful features of Java: Simple: Java supports automatic memory allocation and garbage collection. This makes it a simpler language to use than others. Portability: Java is portable. It runs in any kind of platform. Multithreaded: This feature allows java to perform many tasks simultaneously within application. This is an important feature for developing network applications. Distributed Programming: Javas inherent network programming capability makes it suitable for distributed programming. It means several computers can work together in a network. Robustness: Java is robust. Errors are detected at early stages. This is particularly helpful during development of any system.

xlv

History of java James Gosling, Mike Sheridan, and Patrick Haughton initiated the Java language project in June 1991. Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time. The language was initially called Oak after an oak tree that stood outside Gosling's office; it went by the name Green later, and was later renamed Java, from a list of random words. Gosling aimed to implement a virtual machine and a language that had a familiar C/C++ style of notation. Sun Microsystems released the first public implementation as Java 1.0 in 1995. It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms. Fairly secure and featuring configurable security, it allowed network- and file-access restrictions. Major web browsers soon incorporated the ability to run Java applets within web pages, and Java quickly became popular. With the advent of Java 2 (released initially as J2SE 1.2 in December 19981999), new versions had multiple configurations built for different types of platforms. For example, J2EE targeted enterprise applications and the greatly stripped-down version J2ME for mobile applications (Mobile Java). J2SE designated the Standard Edition. In 2006, for marketing purposes, Sun renamed new J2 versions as Java EE, Java ME, and Java SE, respectively. In 1997, Sun Microsystems approached the ISO/IEC JTC1 standards body and later the Ecma International to formalize Java, but it soon withdrew from the process. On November 13, 2006, Sun released much of Java as open source software under the terms of the GNU General Public License (GPL). Following Oracle Corporation's acquisition of Sun Microsystems in 20092010, Oracle has described itself as the "steward of Java technology with a relentless commitment to fostering a community of participation and transparency".

Principles
There were five primary goals in the creation of the Java language:

xlvi

It should be "simple, object oriented, and familiar". 1. It should be "robust and secure". 2. It should have "an architecture-neutral and portable environment". 3. It should execute with "high performance". 4. It should be "interpreted, threaded, and dynamic".

Practices
Java Platform
Main articles: Java (software platform) and Java Virtual Machine One characteristic of Java is portability, which means that computer programs written in the Java language must run similarly on any supported hardware/operating-system platform. This is achieved by compiling the Java language code to an intermediate representation called Java bytecode, instead of directly to platform-specific machine code. A major benefit of using bytecode is porting. However, the overhead of interpretation means that interpreted programs almost always run more slowly than programs compiled to native executables would. Just-in-Time compilers were introduced from an early stage that compile bytecodes to machine code during runtime. Implementations Sun Microsystems officially licenses the Java Standard Edition platform for Linux, Mac OS X, and Solaris. Although in the past Sun has licensed Java to Microsoft, the license has expired and has not been renewed. Through a network of third-party vendors and licensees, alternative Java environments are available for these and other platforms. Sun's trademark license for usage of the Java brand insists that all implementations be "compatible". This resulted in a legal dispute with Microsoft after Sun claimed that the Microsoft implementation did not support RMI or JNI and had added platform-specific features of their own. Sun sued in 1997, and in 2001 won a settlement of US$20 million, as well as a court order enforcing the terms of the license from Sun. As a result, Microsoft no longer ships Java with Windows, and in recent versions of Windows, Internet Explorer cannot support Java applets

xlvii

without a third-party plugin. Sun, and others, have made available free Java run-time systems for those and other versions of Windows. Performance Main article: Java performance Programs written in Java have a reputation for being slower and requiring more memory than those written in C. However, Java programs' execution speed improved significantly with the introduction of Just-in-time compilation in 1997/1998 for Java 1.1, the addition of language features supporting better code analysis (such as inner classes, StringBuffer class, optional assertions, etc.), and optimizations in the Java Virtual Machine itself, such as HotSpot becoming the default for Sun's JVM in 2000. Currently, Java code has approximately half the performance of C code. Some platforms offer direct hardware support for Java; there are microcontrollers that can run java in hardware instead of a software JVM, and ARM based processors can have hardware support for executing Java bytecode through its Jazelle option.

Automatic memory management


Java uses an automatic garbage collector to manage memory in the object lifecycle. The programmer determines when objects are created, and the Java runtime is responsible for recovering the memory once objects are no longer in use. Once no references to an object remain, the unreachable memory becomes eligible to be freed automatically by the garbage collector.In some languages, memory for the creation of objects is implicitly allocated on the stack, or explicitly allocated and deallocated from the heap. In the latter case the responsibility of managing memory resides with the programmer. If the program does not deallocate an object, a memory leak occurs. If the program attempts to access or deallocate memory that has already been deallocated, the result is undefined and difficult to predict, and the program is likely to become unstable and/or crash. This can be partially remedied by the use of smart pointers, but these add overhead and complexity. Note that garbage collection does not prevent "logical" memory leaks, i.e. those where the memory is still referenced but never used.

xlviii

Garbage collection may happen at any time. Ideally, it will occur when a program is idle. It is guaranteed to be triggered if there is insufficient free memory on the heap to allocate a new object; this can cause a program to stall momentarily. Explicit memory management is not possible in Java. Java does not support C/C++ style pointer arithmetic, where object addresses and unsigned integers (usually long integers) can be used interchangeably. As in C++ and some other object-oriented languages, variables of Java's primitive data types are not objects. Values of primitive types are either stored directly in fields (for objects) or on the stack (for methods) rather than on the heap, as commonly true for objects (but see Escape analysis). Java contains multiple types of garbage collectors. By default, HotSpot uses the Concurrent Mark Sweep collector, also known as the CMS Garbage Collector. However, there are also several other garbage collectors that can be used to manage the Heap. For 90% of applications in Java, the CMS Garbage Collector is good enough.

Syntax
Main article: Java syntax The syntax of Java is largely derived from C++. Unlike C++, which combines the syntax for structured, generic, and object-oriented programming, Java was built almost exclusively as an object-oriented language. All code is written inside a class, and everything is an object, with the exception of the primitive data types (integers, floating-point numbers, boolean values, and characters), which are not classes for performance reasons. Java suppresses several features (such as operator overloading and multiple inheritance) for classes in order to simplify the language and to prevent possible errors and anti-pattern design. Java uses similar commenting methods to C++. There are three different styles of comment: a single line style marked with two slashes (//), a multiple line style opened with a slash asterisk (/*) and closed with an asterisk slash (*/), and the Javadoc commenting style opened with a slash

xlix

and two asterisks (/**) and closed with an asterisk slash (*/). The Javadoc style of commenting allows the user to run the Javadoc executable to compile documentation for the program.

Chapter 5 Analysis
In analysis phase all the research carried out by the developer are analyzed to prepare a final set of requirements for the system. This session discusses the analysis of the primary research. As a part of primary research, questionnaire sessions were conducted. This section provides with a detailed analysis of the same. Analysis of Questionnaires: 1. Do you want scheduler in the system? Yes No
No 10%

Scheduler analysis

Yes 90%

Analysis: Most of the people responded that they want scheduler into the proposed system. Email scheduler can work with attached a file, which allows you to, for example, send certain documents periodically. 2. Are you using any current system? l

Yes

No

Analysis: using any current system


100 50 0 Yes No 70 % says Yes

Analysis: 70% user responded that they are familiar with the similar kind of system. The rest of the user never used this kind of system for their daily life. 3. Do you want user groups? Yes No

Analysis:User Group

No 40% Yes 60%

Analysis: 60% user responded that they want user group option in the proposed system. This is mainly to be used to change or limit the default behavior in a corporate environment but can also be useful in some home environments. 4. Do you want attaches from one group to another? Yes No

li

Analysis: attachment from one group to another


yes No 65% says yes

35% 65%

Analysis: 65% user responded that they want this option in the proposed system. An e-mail attachment (or email attachment) is a computer file sent along with an e-mail message. One or more files can be attached to any email message, and be sent along with it to the recipient. 5. Do you face any problem in current system? Yes SCREEN SHOT: No

lii

liii

liv

lv

Chapter 6 Implementation
Begin somewhere. You cannot build a reputation on what you intend to do - (Smith, 2009) The functionalities of the project were developed under three major areas: core, enhanced and special functionalities. At this stage, the developer has done away with the designing of the entire system. This phase involves coding the entire system and hence transferring the design to an actual working system. The following pages describe the implementation tools and the plan adopted for the implementation of the system. 6.1:- TOOLS USED The following section describes the various tools that were used for the development and the implementation of the entire project:-

1. Development and Programming IDEs:The following tools and IDEs were used for the system development: .NET SDK for 2.0 or later and C# Visual Studio 2005 SQL Server 2005 Express edition SQL Server Management Studio 2. CASE Tools:The following tools were used during the system designing phase: MS Project 2003/2007:- for preparing system Gantt Chart. Microsoft Visio 2007. Visual Paradigm for UML 6.1 Enterprise Edition:- for various UML diagrams. 3. Other Tools: Microsoft Word 2007 Microsoft PowerPoint 2007 Windows XP with Service Pack 2 (for system development).

lvi

6.2:-IMPLEMENTATION PLAN To complete the design and implementation of the whole system within the scheduled time the developer should have a proper plan. There are various modules in the system which is working independent of each other. Thus, the plan has been scheduled keeping in mind that no modules conflict with each other. The core functionalities of the system will be developed first as its must, and the developer gives it the topmost priority. Some modules need extra time and effort as they are complex. Some of the steps that are required to be followed in order to complete the system on time are:

1. First and the foremost, the developer will create the user log in module. The system will support only one type of user, so, login is created. 2. To use the functionality of the system a user has to be registered. So a registration page has been created. 3. Next stage was to develop the user home page in which a general mail system has been created. 4. Various types of core functionality such as Inbox, Compose Mail, Trash, Outbox, ADD views, ADD Topic, Draft has been created. 5. Next stage was to develop the Attachment with mail has been created.

Once these core features are developed the developer can focus on the advanced functionalities for the system.
16.

The developer developed the functionality of the system which will enable the user to use the offline operation allows user to read and compose mail while you are not connected to the Internet.

17.

The offline application will support for multiple simultaneously accessible POP3 and IMAP mailboxes in the same window.

The developer will then move towards developing the special feature of the system: 1. The developer created the page (User Home Page), from which a registered user will be able to download the offline version of Smart Mail.

lvii

2. Developer then used RSA Encryption and Decryption technique for better security of mail. 3. The developer will develop a module which enables the POP3 and IMAP mail system which will run in offline. Once all these features are implemented user will develop a services and contact details page which will facilitate easy understanding of the functionality of the system for its intended users.

6.3:- IMPLEMENTATION OF THE MODULES This section gives the details implementation of the various modules in the system. The

developer also describes the problem has been faced during the implementation of modules and steps taken by the developer to overcome those difficulties.

6.3.1:- Screen Capturing Madules

Objective: Provide secure login for the system user. Provide access to the system only if correct username and password is provided.

Module Description: This module enables the user to login to the system. Only the registered user is allowed to have access to the system. In this module, Member enters a password and the software checks its validity. If the password is valid then he is allowed to enter, otherwise Invalid User/Password message is displayed. Different data access rights are assigned to different users. A new member can also be registered in this module.

lviii

Chapter 7 Testing
Software development is the zenith of a series of synchronized behavior intended at meeting its declared objectives. Software development in itself is a multifaceted process which involves unreliability of its human designers and developers. This necessitates a all-inclusive quality assurance plan to destroy human faults to the utmost amount possible. It is therefore, not surprising to observe that almost 40% of the project development time is spent on testing.

7.1:-OBJECTIVE: The main objectives behind testing in the developed Real Time Mail Service are: Ensure that the system is able to function smoothly. Ensure that all the major functionalities have been incorporated into the system. The system is able to meet its set objectives. The system is acceptable to the users.

7.2:- TEST PLAN: The developer decided to conduct the following testing methods for the project testing: Unit Testing and Functional Testing Integration Testing Regression Testing GUI Testing Compatibility Testing Security Testing User Acceptance Testing

lix

Table 10: Testing SL No 1 Testing Method Application Area

. Unit Testing

In unit testing all the individual units of the system Functionality. will be tested for their proper functioning and Implementation. Black Box testing will be employed to identify the faults in the system and corrective measures will be taken.

2.

Integration Testing

The individual units are clubbed up and are tested for Functionality proper functioning of the system.

GUI Testing

It provides with the heuristics for the proposed system HCIU user interface.

Compatibility System

To make sure that the system is capable to work in Compatibility different OS.

User Acceptance Testing

To make sure that the system developed is able to User deliver its stated objectives to the user. Acceptance

All possible test cases were prepared based on the system requirements and documentation. The developer sought the help of some other persons who were involved in developing similar networking projects for their final year projects.

lx

The following section describes the purpose of each of these testing methods in the system:

7.3:-TEST SCHEDULE: Sl. No 1 2 3 4 5 6 7 Test Strategy Unit Testing Integration Testing Regression Testing GUI Testing Compatibility Testing Security Testing User Acceptance Testing Start Date 5th February 2011 20th February 2011 4th April 2011 5th April 2011 7th March 2011 10th April, 2011 11th April 2011 End Date 2nd April 2011 2nd April2011 4th April 2011 7th April 2011 10th April 2011 10th April 2011 15th April 2011

7.4:- TESTERS: Developer Mr. Sasanka Bhuyan. Mr. Simanta chakrabarty. Mr. Manash Deuri. Most of the testing task was performed by the developer himself. He himself acted as the test manager and analyst. The help of the other above mentioned people were sought basically for GUI testing and User Acceptance testing. The roles played by these people have been mentioned in the test cases which will be described in the forthcoming sections.

7.5:- PASS/FAIL CRITERIA The success criteria for the system have been stated in the first chapter of this document. The system should meet the following requirements in order to be called successful: All the major modules of the system should function properly. The system should be accessible only to the registered user. lxi

GUI developed should be consistent and in accordance with HCIU principles.

7.6:-UNIT TESTING Unit testing focuses on the smallest unit of a project a module. One of the main goals of unit testing is to evaluate a piece of a program in isolation. Each of the individual modules is tested against their stated objectives. With each separate module comes with a prototype which is being used as a testing subject, and also for the purpose of letting third party users to use the system in order to perform the user acceptance testing. Unit testing can be: 1. Black Box testing: where the tester has no knowledge of the internal workings of the item being tested and is solely based on the knowledge of the system requirements. Also called as functional testing. 2. White Testing: also known as logical testing requiring knowledge of the implementation.

7.6.1:-Black Box Testing For conducting Unit testing the developer has divided the system into modules as below: 1. Login & authentication module 2. Project initiation (create Inbox, Compose mail, Draft, Trash, Delete section) 3. Add your view and add your topic section into forum. 4. New user Account Registration. 5. Password change and log out. 6. Multiple account access module

As the system was developed using separate modules the basic test cases involved in the modules were tested at the time of implementation. Two of the modules units testing are displayed below;

lxii

Module 1: Login and Authentication Project title Table 11: Unit testing for login panel Smart Mail Test Date 5th February 2011 Test case Name Test case Id Tester Test Duration Description Login and Authentication T1 Developer 1 hour Perform login validation

Test Subject Login panel

Test Method Correct login data

Expected Result Login successful, redirect to user Home page

Actual Result Login successful, no redirection

Remarks Login is working properly

Login panel

Authentication type

Login successful, redirect to next page based on authentication

Login successful, redirected to correct authenticated page

Authentication check is working properly

Page session

Check if a

Redirect to user home page

Page redirected

Page session based authentication working fine.

authentication page requiring authentication

Conclusion: Module is working perfectly without any error

lxiii

Module 2: user page Project title Test case Name Test case Id Tester Test Duration Description Smart Mail

Table 12: Unit testing for Project Initiation Test Date 16th April, 2011

User Webmail Pages T2 Developer 5 hour Perform validation

7.7 Integration Testing As explained earlier this is the test to ensure how the modules execute when they are combined together and work in a rational environment. The test primarily checks the calling of functions, passing of variables, global properties and their effect on working of individual modules. In case of COREP Wizard the integration was performed in three steps: 7.8 Compatibility Testing The system is developed independent of the platform for deployment. Also the user section is deployed on a web browser so it is expected to work in exactly same fashion on every web browsers. The compatibility testing for browser compatibility was performed on the developers system using the following browsers: Internet Explorer 6.0 Mozilla Firefox 2.0 Google Chrome Apple Safari 3.2.2 Opera 8.5

The compatibility testing for OS independency was performed on following operating systems: Table 16: Compatibility test OS details Operating System System details Microsoft Windows 98, 2000 Owner: Mr. Sasanka Bhuyan(peer student) Configuration: Intel P4 processor, 512MB RAM Server: Microsoft Vista Owner: Mr. Mridul Kr. Boruah (developer) Configuration: Intel core 2duo processor, 2GB RAM Server: lxiv

Ubuntu 6.04

Apple Mac OS X

Owner: Mr. Simanta Chakrabarty(peer student) Configuration: Intel P4 processor, 512MB RAM Server: Owner: Mr. Mohan Chetry (Peer student) Configuration: Intel Core Duo processor, 1GB RAM Server :

Test Subject

Test Method

Table 17: Compatibility test for OS Expected Result Actual Result

Remarks

Microsoft Deployment Windows of the system, 98, 2000 black box testing Microsoft Deployment Vista of the system, black box testing Ubuntu 6.04 Deployment of the system, black box testing Apple Mac OS X Deployment of the system, black box testing

Suitable deployment, appropriate output on black box testing, average performance Suitable deployment, appropriate output on black box testing, Best performance Suitable deployment, appropriate output on

System deployed and Passed black box testing with above average performance System deployed and Passed black box testing with best performance System deployed and Passed black box

More than expected result. Test successful.

Test case successful

Test successful

black box testing, above testing with best average performance Suitable deployment, appropriate output on performance System deployed with minor tweaks The code was reconsidered and rectified. Performance increased in 2nd iteration.

black box testing, above that hindered average performance performance. Passed black box testing with average performance.

Compatibility testing for web browsers is as shown below:

lxv

Test Subject Internet Explorer 6.0

Table 18: Compatibility testing for web browsers Test Method Expected Result Actual Result Remarks

Check visibility, absolute positioning, scroll property & other HCI interface guidelines

Correct positioning, size and scrolling of divisions. Appropriate font size. Correct positioning, size and scrolling of divisions. Appropriate font.

The text size larger than expected.

Proper output in the 2nd iteration. Test case passed.

Mozilla Firefox 2.0

Check visibility, absolute positioning, scroll property & other HCI interface guidelines

Web pages appears exactly as expected by the developer

Test case passed.

Google Chrome

Check visibility, absolute positioning, scroll property & other HCI interface guidelines

Correct positioning, size and scrolling of divisions. Appropriate font size. Correct positioning, size and scrolling of divisions. Appropriate font.

Web pages appear larger and more attractive.

Better result than expected.

Apple Safari 3.2.2

Check visibility, absolute positioning, scroll property & other HCI interface guidelines

The layout of the system appears smaller but no problem with the look and usability issues.

Pass test case.

Opera 8.5 Check visibility, absolute positioning, scroll property & other HCI interface

Correct positioning, size and scrolling of divisions. Appropriate font

Web pages appears exactly as expected by

Test case successful.

lxvi

guidelines

size.

the developer

Chapter 8 Evaluation
Degree of success The developer has selected the following criteria for degree of success: Meeting objectives and user requirements If a project is meeting all the objectives and requirement of user declared in its plan, then its termed as a successful project. Functionality Every single functionality involved in the system should be evaluated for its worth. Usability due to the lack of usability guidelines a substantial amount of projects has been failed. This being a project in which a usability check is necessary for evaluation. Level of Content Show the amount of detailed and well presented information and content available in the system. Project Management A successful project always depend upon to follow the project management guidelines, these will be evaluated. Research and Analysis To become a project successful a high-quality amount of well explored research and analysis job is essential. Documentation Documentation is also an essential task to do for the new user as well as developer so it will be evaluated for the contents, language and grammar. Meeting the objectives and user requirements: A checklist is created to evaluate if the project meets the user requirement:

lxvii

Allow user to change his/her existing password to a new one.

The consistency of the data provided in the system depends on the assessment of the level of content for any system. In the Smart Mail system most of the data is based on primary research like questionnaire which has been conducted by the developer with varied users to get the real world expectation. The remaining data has been gathered from different related books, websites, journals and other reference material already referenced in the documentation. Some of the data is based on real life facts interpreted by the developer. Project Management With project management points of view it may be ranked among medium-high when we consider the whole system to be develop. The project planning, research and corresponding analysis part went efficiently. The designing of the system was middle-of-the-road that eventually lead to interruption in implementation part. The stoppage in designing phase has leaded the system to bind the functionalities and thus reducing the scope. As the developer was short on time the extraordinary functionalities to be incorporated in the system were trimmed. Research and Analysis The research and analysis performed in the system can be evaluated based on the individual tasks performed in the two phases, as follows: Documentation The documentation had been checked systematically for any existing spelling or grammar mistakes. Many exact information are also been rehabilitated into table and points from which present better and easy reading. All the referenced resources are appropriately cited and their resources are also noted down in the bibliography page following the Harvard standard of referencing system.

Overall The objectives of the system (are fulfilled or not) will be analysed after the comprehensive evaluation of all modules. The system can now termed as complete but again there is a

disclaimer associated with it. The system is just the work of single student over the period of 1 year so it cannot be completely compete the professional softwares present in the market.

lxviii

lxix

Future scope
1. Oil Refineries, Power Utilities, Water Treatment Plants, Pharmaceutical Companies, the Government Sector, and the Banking Industry Have All Introduced Some Form of Remote Maintenance Monitoring Method or Technology. 2. Maintenance Costs, Subsystem Downtimes, and Operational Expenses are Reduced

When RMON Apparatus and Control Software are Fully Integrated Into Utility Plant Functions. 3. When Remote Monitering Devices are Used , Cost Efficiency Improves, Productivity Increases and Inventory Management is Made Easier. 4 The Ability to Monitor and Measure Processing Parameters From Remote Locations Has Enabled Companies to Save Thousands of Dollars for Overtime and Improve Quality Control. 5 In the Banking Industry Computer Security Has Been A Concern So Remote Monitoring Can Be Used to Create An Environment Secure From Intruders and Outside Threats. 6 In the FAA Remote Maintenance Monitoring Systems Have Improved the Maintenance and Performance of Ground-Based Navigational Aids, Weather-Related Systems, and Surveillance Systems.

lxx

Conclusion

The era of programming by writing code in a code editor is long gone. These days programmers are approaching towards rapid code development. Shorter life cycle development and easier maintenance of developed systems can be achieved through different approaches ranging from computer-aided development to rapid prototyping and model development.

The chosen software tool may shorten the production period but, at worst, may considerably prolong it. If the modeling environment is too complex, the programmer will require training and practice time before becoming creative - time that we simply do not have. What if you were asked to remake the project? If the developer was asked to remake the project he would be

Use of proper design pattern in developing the project and implementing the action scripts in different parts of the project.
o

Able to write better OOP code, and reuse that code in other programs. gain proficiency in programming more complex applications,

o o

Design patterns actually make programming easier. Design patterns not only provide solutions for common challenges, but also focus on maintenance and change.

Learning Experience The learning experience has been outstanding. It could be as my best project development experience thus far away. It may appear awkward but students do appear not to take their FYP seriously from its start however it doesnt lose its weight. I am the most interested person when it becomes to marketing a product. This was one of the reasons I chose to make such a system for users, because its unique functionality.

lxxi

References/Bibliography
Books: 1. Matthew MacDonald, Matthew MacDonald, and Julian Templeman (2005). Begin JAVA From Novice to Professional 2. Shahram Khosravi. JAVA AJAX Programmer's Reference: with ASP.NET 2.0 or ASP.NET 3.5 (Programmer's Reference (Wrox)) 3. Schwable, Kathy, Information Technology Project Management, Cengage Technology, 2008 4. Reference books of Cisco Certified Networking engineering.

1.www.google.com 2.www.javaworld.com 3.www.wikipedia.com

Web References
http://opensmpp.logica.com/introhtml/menu.htm www.devshock.com www.msdn.com http://msdn.microsoft.com/netframework/windowsforms

lxxii

Das könnte Ihnen auch gefallen