project arranged (final)

87
CHAPTER ONE BACKGROUND INFORMATION AND PROBLEM SETTINGS 1.1 BACKGROUND TO THE STUDY An Intranet Mailing system is designed to provide a communication channel inside an organization between different clients (Organization staff) on the network. The main objective of the project is to develop a fully functional Intranet Mailing System that enhances communications among the members of the organization in a reliable, cost-effective and secure way. Thus it helps the organization to improve the performance of its teams in the corporate sector. Intra Mailing system allows organizations with intranet to exchange emails internally without the need of an Internet connection, in which text is usually transmitted, users are allowed to communicate under specified conditions, messages are held in storage until called for by addressee. Operations include sending, storing, processing, and receiving information. 1.2 STATEMENT OF PROBLEM (PROBLEM DEFINITION) 1

Upload: joseph-olumide

Post on 18-Jan-2017

390 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROJECT ARRANGED (FINAL)

CHAPTER ONE

BACKGROUND INFORMATION AND PROBLEM SETTINGS

1.1 BACKGROUND TO THE STUDY

An Intranet Mailing system is designed to provide a communication channel

inside an organization between different clients (Organization staff) on the

network. The main objective of the project is to develop a fully functional Intranet

Mailing System that enhances communications among the members of the

organization in a reliable, cost-effective and secure way. Thus it helps the

organization to improve the performance of its teams in the corporate sector.

Intra Mailing system allows organizations with intranet to exchange emails

internally without the need of an Internet connection, in which text is usually

transmitted, users are allowed to communicate under specified conditions,

messages are held in storage until called for by addressee. Operations include

sending, storing, processing, and receiving information.

1.2 STATEMENT OF PROBLEM (PROBLEM DEFINITION)

The existing mailing communication system at Kumo consults is a traditional 2-

tier architecture where there is only the server and the client. In this case, the

server was only a data base server that can only offer data. Therefore most of

the business logic and validations had to be placed on the clients system. This

process therefore makes the maintenance of this system very expensive. This

also means that every client has to be trained as to how to use the application.

Some of the problems identified with the current system include:

a. It is expensive to maintain

b. It performs logic on client system

1

Page 2: PROJECT ARRANGED (FINAL)

c. It increases stress on network (load)

d. Logic application cannot be re-used because it is bound to an individual

system

e. It is highly prone to error

f. It is time consuming

g. Data stored on client can easily be hacked or accessed by unauthorized

user.

1.3 MOTIVATION

For Kumo Consult to fully achieve its vision as the most preferred construction

company and to compete globally, it has to fully harness the use of technology,

and in this case, it’s mailing system. But the mailing system the company

currently uses cannot help them to achieve the vision. And so the need for this

research, that communication can flow freely and timely among the work force,

which will result to quick performance and high result.

1.4 AIMS & OBJECTIVES

The main advantage of the Intra mail system will be its security feature allowing

only registered users to access the system and preventing any hackers,

unauthorized users. As the access is only restricted to the people registered

within the organization itself and information is transferred within the organization

itself, and all this transformation will be up to some limit so the data

transformation will be fast.

The user of Intra Mailing System will be given a unique login id and must give the

correct password by the administrator. It will give total security for the company,

so unauthorized user won’t have access to the messages.

2

Page 3: PROJECT ARRANGED (FINAL)

The main objective of the Intra mail system is to create security feature allowing

only members of the organization to access the system and preventing any

hackers, unauthorized users. It is also aimed to send the mails spontaneously

without requiring the parties be available at the same instant. It is much safer

than the traditional 2-tier system. Therefore, the system is designed

To provide a communication channel inside an organization between

different clients on the network.

To accept the mails from authorized users providing security.

To enhances communications among the members of the organization in a

reliable, cost-effective and secure way

1.5 PURPOSE OF THE STUDY

These days the organization is growing rapidly and is increasing in size also. So

the organization is divided into departments. In the fast growing world the

information is needed as fast as possible. This can be accomplished by passing

the information quickly and securely. The security of information is not

guaranteed in the traditional 2 tier systems, because the mails or information are

stored in the clients. But it takes much time and risk also. So we need a system

which is quick, accurate, secured and less expensive. This can be achieved by

mailing system.

Intra mailing system sends the mails spontaneously without requiring the parties

be available at the same instant. Furthermore mails can be sent to more people

at the same time. It also leaves a written copy of the sending mails that can file

away. It is much cheaper than the traditional 2 tier system.

3

Page 4: PROJECT ARRANGED (FINAL)

1.6 SIGNIFICANCE OF THE STUDY

In the new mailing system, each employee can Log-in himself/herself and send

mails to any other employee and they can establish communication and perform

the assigned tasks in less time. Also the employees do not have to pay for the

mails but can avail this facility free of cost. The mail that the employee sends

reaches the destination in little or no time. Although the Intranet mailing system

works in similar fashion as that of an Internet mailing system, but here there is no

need to get an Internet connection for this mailing system. The various branches

of the organization can be connected to a single host server and then an

employee of one branch can send a message to the employee of another branch

through the server.

1.7 ORGANIZATION OF THE WORK

Project Modules

The Intranet Mailing System is applicable to this fast growing world where every

qualified person is in urgent need of job, they join places, working at odd times.

The organization have shift systems and it becomes difficult for an employee of

one shift to communicate with another employee on a different shift. In these

circumstances the Intranet Mailing System proves its worth, if the organization

has an Intranet Mailing facility available to all its employees then each employee

can send mails to any other employee and thus making the communication

easier. No necessity of paying money for the mailing facility (i.e. free of cost).

The mails that the employees send reach the destination with less time than

internet. Although the intranet Mailing System works in a similar fashion as that

of an Internet Mailing System, there is no need to get an Internet connection for

our mailing system. The various branches of the organization can be connected

to a single host server and then an employee of within organization can only use

4

Page 5: PROJECT ARRANGED (FINAL)

this facility. In one branch can send a message to an- employee of another

branch through the server.

Project PlanA project plan is a view of a whole project. It is the fundamental plan which

provides a statement of how and when a project’s objective is to be achieved, by

showing the major products, activities and resources required on a project.

ACTIVITY REFERENCE DEPENDENT ON

DURATION IN DAYS

Orientation and Selection of

client

A None 14

Study the current system B A 12

Choosing a programming

language

C B 1

Learning a programming

language

D C 10

Choosing a compatible

database

E B,C 1

Designing the databases and

system various systems

interface

F B, C 10

Coding for the new system G C, F 12

Testing and Debugging H G 7

Launch I H 1

5

Page 6: PROJECT ARRANGED (FINAL)

CHAPTER TWO

LITERATURE REVIEW

2.1 SYSTEMS DEVELOPMENT METHODOLOGIESBefore this system is built, one crucial step would be deciding which software

development approach is the most appropriate to use. In this section different

methodologies were analysed and the one which is most appropriate for this

project was chosen.

SPIRAL MODELThe spiral model is a software development process combining elements of both

design and prototyping-in-stages, in an effort to combine advantages of top-down

and bottom-up concepts. Also known as the spiral lifecycle model (or spiral

development), it is a systems development method (SDM) used in information

technology (IT). This model of development combines the features of the

prototyping model and the waterfall model. The spiral model is intended for large,

expensive and complicated projects.

This should not be confused with the Helical model of modern systems

architecture that uses a dynamic programming (mathematical not software type

programming!) approach in order to optimise the system's architecture before

design decisions are made by coders that would cause problems.

The spiral model combines the idea of iterative development (prototyping) with

the systematic, controlled aspects of the waterfall model. It allows for incremental

releases of the product, or incremental refinement through each time around the

spiral. The spiral model also explicitly includes risk management within software

development. Identifying major risks, both technical and managerial, and

determining how to lessen the risk helps keep the software development process

under control.

6

Page 7: PROJECT ARRANGED (FINAL)

The spiral model is based on continuous refinement of key products for

requirements definition and analysis, system and software design, and

implementation (the code). At each iteration around the cycle, the products are

extensions of an earlier product. This model uses many of the same phases as

the waterfall model, in essentially the same order, separated by planning, risk

assessment, and the building of prototypes and simulations.

Documents are produced when they are required, and the content reflects the

information necessary at that point in the process. All documents will not be

created at the beginning of the process, nor all at the end (hopefully). Like the

product they define, the documents are works in progress. The idea is to have a

continuous stream of products produced and available for user review.

The spiral lifecycle model allows for elements of the product to be added in when

they become available or known. This assures that there is no conflict with

previous requirements and design. This method is consistent with approaches

that have multiple software builds and releases and allows for making an orderly

transition to a maintenance activity. Another positive aspect is that the spiral

model forces early user involvement in the system development effort. For

projects with heavy user interfacing, such as user application programs or

instrument interface applications, such involvement is helpful.

Starting at the center, each turn around the spiral goes through several task

regions determine the objectives, alternatives, and constraints on the new

iteration.

Evaluate alternatives and identify and resolve risk issues.

Develop and verify the product for this iteration.

Plan the next iteration. The requirements activity takes place in multiple sections

and in multiple iterations, just as planning and risk analysis occur in multiple

places. Final design, implementation, integration, and test occur in iteration 4.

The spiral can be repeated multiple times for multiple builds. Using this method

7

Page 8: PROJECT ARRANGED (FINAL)

of development, some functionality can be delivered to the user faster than the

waterfall method. The spiral method also helps manage risk and uncertainty by

allowing multiple decision points and by explicitly admitting that all of anything

cannot be known before the subsequent activity starts.

APPLICATIONS

For a typical shrink-wrap application, the spiral model might mean that you have

a rough-cut of user elements (without the polished / pretty graphics) as an

operable application, add features in phases, and, at some point, add the final

graphics.

The Spiral model is used most often in large projects and needs constant review

to stay on target. For smaller projects, the concept of agile software development

is becoming a viable alternative.

Advantages

Estimates (i.e. budget, schedule, etc.) get more realistic as work progresses,

because important issues are discovered earlier.

It is more able to cope with the (nearly inevitable) changes that software

development generally entails.

Software engineers (who can get restless with protracted design processes) can

get their hands in and start working on a project earlier.

The steps in the spiral model can be generalized as follows:

The new system requirements are defined in as much detail as possible. This

usually involves interviewing a number of users representing all the external or

internal users and other aspects of the existing system.

A preliminary design is created for the new system.

8

Page 9: PROJECT ARRANGED (FINAL)

A first prototype of the new system is constructed from the preliminary design.

This is usually a scaled-down system, and represents an approximation of the

characteristics of the final product.

A second prototype is evolved by a fourfold procedure: (1) evaluating the first

prototype in terms of its strengths, weaknesses, and risks; (2) defining the

requirements of the second prototype; (3) planning and designing the second

prototype; (4) constructing and testing the second prototype.

At the customer's option, the entire project can be aborted if the risk is deemed

too great. Risk factors might involve development cost overruns, operating-cost

miscalculation, or any other factor that could, in the customer's judgment, result

in a less-than-satisfactory final product.

The existing prototype is evaluated in the same manner as was the

previous prototype, and, if necessary, another prototype is developed from

it according to the fourfold procedure outlined above.

The preceding steps are iterated until the customer is satisfied that the

refined prototype represents the final product desired.

The final system is constructed, based on the refined prototype.

The final system is thoroughly evaluated and tested. Routine maintenance

is carried out on a continuing basis to prevent large-scale failures and to

minimize downtime.

PROTOTYPE MODEL

A prototype is an early sample or model built to test a concept or process or to

act as a thing to be replicated or learned from. The word prototype derives from

the Greek prototypon. The Prototyping Model is a systems development method

(SDM) in which a prototype (an early approximation of a final system or product)

9

Page 10: PROJECT ARRANGED (FINAL)

is built, tested, and then reworked as necessary until an acceptable prototype is

finally achieved from which the complete system or product can now be

developed. This model works best in scenarios where not all of the project

requirements are known in detail ahead of time. It is an iterative, trial-and-error

process that takes place between the developers and the users.

In many fields, there is great uncertainty as to whether a new design will actually

do what is desired. New designs often have unexpected problems. A prototype is

often used as part of the product design process to allow engineers and

designers the ability to explore design alternatives, test theories and confirm

performance prior to starting production of a new product. Engineers use their

experience to tailor the prototype according to the specific unknowns still present

in the intended design. For example, some prototypes are used to confirm and

verify consumer interest in a proposed design whereas other prototypes will

attempt to verify the performance or suitability of a specific design approach.

In general, an iterative series of prototypes will be designed, constructed and

tested as the final design emerges and is prepared for production. With rare

exceptions, multiple iterations of prototypes are used to progressively refine the

design. A common strategy is to design, test, evaluate and then modify the

design based on analysis of the prototype. In many products it is common to

assign the prototype iterations Greek letters. For example, a first iteration

prototype may be called an "Alpha" prototype. Often this iteration is not expected

to perform as intended and some amount of failures or issues are anticipated.

Subsequent prototyping iterations (Beta, Gamma, etc.) will be expected to

resolve issues and perform closer to the final production intent.

In many product development organizations, prototyping specialists are

employed - individuals with specialized skills and training in general fabrication

10

Page 11: PROJECT ARRANGED (FINAL)

techniques that can help bridge between theoretical designs and the fabrication

of prototypes.

Basic prototype categories

There is no general agreement on what constitutes a "prototype" and the word is

often used interchangeably with the word "model" which can cause confusion. In

general, "prototypes" fall into five basic categories:

Proof-of-Principle Prototype (Model) (in electronics sometimes built on a

breadboard). A Proof of concept prototype is used to test some aspect of the

intended design without attempting to exactly simulate the visual appearance,

choice of materials or intended manufacturing process. Such prototypes can be

used to "prove" out a potential design approach such as range of motion,

mechanics, sensors, architecture, etc. These types of models are often used to

identify which design options will not work, or where further development and

testing is necessary.

Form Study Prototype (Model). This type of prototype will allow designers to

explore the basic size, look and feel of a product without simulating the actual

function or exact visual appearance of the product. They can help assess

ergonomic factors and provide insight into visual aspects of the product's final

form. Form Study Prototypes are often hand-carved or machined models from

easily sculpted, inexpensive materials (e.g., urethane foam), without representing

the intended colour, finish, or texture. Due to the materials used, these models

are intended for internal decision making and are generally not durable enough

or suitable for use by representative users or consumers.

User Experience Prototype (Model). A User Experience Model invites active

human interaction and is primarily used to support user focused research. While

intentionally not addressing possible aesthetic treatments, this type of model

11

Page 12: PROJECT ARRANGED (FINAL)

does more accurately represent the overall size, proportions, interfaces, and

articulation of a promising concept. This type of model allows early assessment

of how a potential user interacts with various elements, motions, and actions of a

concept which define the initial use scenario and overall user experience. As

these models are fully intended to be used and handled, more robust

construction is key. Materials typically include plywood, REN shape, RP

processes and CNC machined components. Construction of user experience

models is typically driven by preliminary CAID/CAD which may be constructed

from scratch or with methods such as industrial CT scanning.

Visual Prototype (Model) will capture the intended design aesthetic and simulate

the appearance, colour and surface textures of the intended product but will not

actually embody the function(s) of the final product. These models will be suitable

for use in market research, executive reviews and approval, packaging mock-

ups, and photo shoots for sales literature.

Functional Prototype (Model) (also called a working prototype) will, to the

greatest extent practical, attempt to simulate the final design, aesthetics,

materials and functionality of the intended design. The functional prototype may

be reduced in size (scaled down) in order to reduce costs. The construction of a

fully working full-scale prototype and the ultimate test of concept is the engineers'

final check for design flaws and allow last-minute improvements to be made

before larger production runs are ordered.

It is possible to use prototype testing to reduce the risk that a design may not

perform acceptably, however prototypes generally cannot eliminate all risk. There

are pragmatic and practical limitations to the ability of a prototype to match the

intended final performance of the product and some allowances and engineering

judgement are often required before moving forward with a production design.

12

Page 13: PROJECT ARRANGED (FINAL)

Building the full design is often expensive and can be time-consuming, especially

when repeated several times—building the full design, figuring out what the

problems are and how to solve them, then building another full design. As an

alternative, "rapid-prototyping" or "rapid application development" techniques are

used for the initial prototypes, which implement part, but not all, of the complete

design. This allows designers and manufacturers to rapidly and inexpensively

test the parts of the design that are most likely to have problems, solve those

problems, and then build the full design.

This counter-intuitive idea —that the quickest way to build something is, first to

build something else— is shared by scaffolding and the telescope rule

Advantages of prototypingMay provide the proof of concept necessary to attract funding

Early visibility of the prototype gives users an idea of what the final system looks

like

Encourages active participation among users and producer

Enables a higher output for user

Cost effective (Development costs reduced).

Increases system development speed

Assists to identify any problems with the efficacy of earlier design, requirements

analysis and coding activities

Helps to refine the potential risks associated with the delivery of the system being

developed

Various aspects can be tested and quicker feedback can be got from the user

Helps to deliver the product in quality easily

13

Page 14: PROJECT ARRANGED (FINAL)

User interaction available during development cycle of prototype

Disadvantages of prototypingProducer might produce a system inadequate for overall organization needs

User can get too involved whereas the program cannot be to a high standard

Structure of system can be damaged since many changes could be made

Producer might get too attached to it (might cause legal involvement)[verification

needed]

Not suitable for large applications

Over long periods, can cause loss in consumer interest and subsequent

cancellation due to a lack of a market (for commercial products).

There are several steps in the Prototyping Model:

1. The new system requirements are defined in as much detail as possible. This

usually involves interviewing a number of users representing all the departments

or aspects of the existing system.

2. A preliminary design is created for the new system.

3. A first prototype of the new system is constructed from the preliminary design.

This is usually a scaled-down system, and represents an approximation of the

characteristics of the final product.

4. The users thoroughly evaluate the first prototype, noting its strengths and

weaknesses, what needs to be added, and what should to be removed. The

developer collects and analyzes the remarks from the users.

14

Page 15: PROJECT ARRANGED (FINAL)

5. The first prototype is modified, based on the comments supplied by the users,

and a second prototype of the new system is constructed.

6. The second prototype is evaluated in the same manner as was the first

prototype.

7. The preceding steps are iterated as many times as necessary, until the users

are satisfied that the prototype represents the final product desired.

8. The final system is constructed, based on the final prototype.

9. The final system is thoroughly evaluated and tested. Routine maintenance is

carried out on a continuing basis to prevent large-scale failures and to minimize

downtime.

INCREMENTAL MODEL

The Incremental model combines elements of the linear sequential model with

the iterative philosophy of the prototyping. This model has been explicitly

designed to accommodate a product that evolves over time.

When an incremental model is used, the first increment is often a core product.

The core product is used by the customer or undergoes a detailed review. As a

result of use and/or evaluation a plan is developed for the next increment. The

plan addresses the modification to the core product to better meet the needs of

the customer and delivery of additional features and functionality. Software is

constructed in a step-by-step manner. While a software product is being

developed, each step adds to what has already been completed.

Advantages of Incremental Model

•System is developed and delivered in increments after establishing an overall

architecture.

15

Page 16: PROJECT ARRANGED (FINAL)

•Requirements and specifications for each increment may be developed.

•Users may experiment with delivered increments while others are being

developed.

•Intended to combine some of the advantages of prototyping but with a more

manageable process and better system structure.

•Incremental development is especially useful when staffing us unavailable for a

complete implementation by the business deadline.

•Early increments can be implemented with fewer people.

When you encounter a difficult deadline that cannot be changed the incremental

model is a good paradigm to consider.

WATERFALL MODEL

The waterfall model is a popular version of the systems development life cycle

model for software engineering. Often considered the classic approach to the

systems development life cycle, the waterfall model describes a development

method that is linear and sequential. Waterfall development has distinct goals for

each phase of development. Imagine a waterfall on the cliff of a steep mountain.

Once the water has flowed over the edge of the cliff and has begun its journey

down the side of the mountain, it cannot turn back. It is the same with waterfall

development. Once a phase of development is completed, the development

proceeds to the next phase and there is no turning back.

The advantage of waterfall development is that it allows for departmentalization

and managerial control. A schedule can be set with deadlines for each stage of

development and a product can proceed through the development process like a

car in a carwash, and theoretically, be delivered on time. Development moves

16

Page 17: PROJECT ARRANGED (FINAL)

from concept, through design, implementation, testing, installation,

troubleshooting, and ends up at operation and maintenance. Each phase of

development proceeds in strict order, without any overlapping or iterative steps.

The disadvantage of waterfall development is that it does not allow for much

reflection or revision. Once an application is in the testing stage, it is very difficult

to go back and change something that was not well-thought out in the concept

stage. Alternatives to the waterfall model include joint application development

(JAD), rapid application development (RAD), synch and stabilize, build and fix,

and the spiral model.

V MODEL

The V-model represents a software development process (also applicable to

hardware development) which may be considered an extension of the waterfall

model. Instead of moving down in a linear way, the process steps are bent

upwards after the coding phase, to form the typical V shape. The V-Model

demonstrates the relationships between each phase of the development life

cycle and its associated phase of testing. The horizontal and vertical axes

represents time or project completeness (left-to-right) and level of abstraction

(coarsest-grain abstraction uppermost), respectively.

Requirements analysis

In the Requirements analysis phase, the requirements of the proposed system

are collected by analysing the needs of the user(s). This phase is concerned with

establishing what the ideal system has to perform. However it does not

determine how the software will be designed or built. Usually, the users are

interviewed and a document called the user requirements document is

generated.

17

Page 18: PROJECT ARRANGED (FINAL)

The user requirements document will typically describe the system’s functional,

interface, performance, data, security, etc requirements as expected by the user.

It is used by business analysts to communicate their understanding of the system

to the users. The users carefully review this document as this document would

serve as the guideline for the system designers in the system design phase. The

user acceptance tests are designed in this phase. See also Functional

requirements. This is parallel processing

There are different methods for gathering requirements of both soft and hard

methodologies including; interviews, questionnaires, document analysis,

observation, throw-away prototypes, use cases and status and dynamic views

with users.

System Design

Systems design is the phase where system engineers analyze and understand

the business of the proposed system by studying the user requirements

document. They figure out possibilities and techniques by which the user

requirements can be implemented. If any of the requirements are not feasible,

the user is informed of the issue. A resolution is found and the user requirement

document is edited accordingly.

The software specification document which serves as a blueprint for the

development phase is generated. This document contains the general system

organization, menu structures, data structures etc. It may also hold example

business scenarios, sample windows, reports for the better understanding. Other

technical documentation like entity diagrams, data dictionary will also be

produced in this phase. The documents for system testing are prepared in this

phase.

18

Page 19: PROJECT ARRANGED (FINAL)

Architecture Design

The phase of the design of computer architecture and software architecture can

also be referred to as high-level design. The baseline in selecting the architecture

is that it should realize all which typically consists of the list of modules, brief

functionality of each module, their interface relationships, dependencies,

database tables, architecture diagrams, technology details etc. The integration

testing design is carried out in the particular phase.

Module Design

The module design phase can also be referred to as low-level design. The

designed system is broken up into smaller units or modules and each of them is

explained so that the programmer can start coding directly. The low level design

document or program specifications will contain a detailed functional logic of the

module, in pseudo code:

Database tables, with all elements, including their type and size

All interface details with complete API references

All dependency issues

Error message listings

Complete input and outputs for a module.

The unit test design is developed in this stage.

Validation Phases: Unit Testing

In computer programming, unit testing is a method by which individual units of

source code are tested to determine if they are fit for use. A unit is the smallest

testable part of an application. In procedural programming a unit may be an

individual function or procedure. Unit tests are created by programmers or

occasionally by white box testers. The purpose is to verify the internal logic code

19

Page 20: PROJECT ARRANGED (FINAL)

by testing every possible branch within the function, also known as test

coverage. Static analysis tools are used to facilitate in this process, where

variations of input data are passed to the function to test every possible case of

execution.

Integration Testing

In integration testing the separate modules will be tested together to expose

faults in the interfaces and in the interaction between integrated components.

Testing is usually black box as the code is not directly checked for errors.

System Testing

System testing will compare the system specifications against the actual system.

After the integration test is completed, the next test level is the system test.

System testing checks if the integrated product meets the specified

requirements. Why is this still necessary after the component and integration

tests? The reasons for this are as follows:

Reasons for system test1.In the lower test levels, the testing was done against

technical specifications, i.e., from the technical perspective of the software

producer. The system test, though, looks at the system from the perspective of

the customer and the future user. The testers validate whether the requirements

are completely and appropriately met.

Example: The customer (who has ordered and paid for the system) and the user

(who uses the system) can be different groups of people or organizations with

their own specific interests and requirements of the system.

2. Many functions and system characteristics result from the interaction of all

system components; consequently, they are only visible on the level of the entire

system and can only be observed and tested there.

20

Page 21: PROJECT ARRANGED (FINAL)

User Acceptance Testing

Acceptance testing is the phase of testing used to determine whether a system

satisfies the requirements specified in the requirements analysis phase. The

acceptance test design is derived from the requirements document. The

acceptance test phase is the phase used by the customer to determine whether

to accept the system or not.

Acceptance testing helps

To determine whether a system satisfies its acceptance criteria or not.

To enable the customer to determine whether to accept the system or not.

To test the software in the "real world" by the intended audience.

Purpose of acceptance testing:

To verify the system or changes according to the original needs.

2.2 METHODOLOGY OF CHOICEAfter a critical analysis of the available methodologies for developing software,

and the ones described above, the V- model of software development has been

chosen for this project. This demonstrates the relationships between each phase

of the development life cycle and its associated phase of testing. Its Components

can be easily tested and debug during smaller iterations of development and

finally it is easier to manage risk because all risky pieces can be identified early

and are handled during iteration.

Why not the other methodologiesThe Spiral model is not the appropriate methodology for this project because it is

risk-oriented. There is also no clear end point to the implementation of the

system. This will therefore lead to unnecessary work being done. Prototyping is

21

Page 22: PROJECT ARRANGED (FINAL)

not appropriate for this project because it would involve the end user to give up

their time to review and feedback on the system. The waterfall model can also

not be used because there is no feedback between the phases. Once analysis is

finished, work on analysis is finished, once design is done it is done and so on.

There are no completion criteria for either analysis or design within this

methodology.

2.3 SOFTWARE REQIUREMENTS

The Graphical interface (Front End) of the application is prepared by the usage of

PHP. The back end of the application is maintained in MySQL database server.

Information Source is Management Information System

PHP

PHP is a general-purpose scripting language originally designed for web

development to produce dynamic web pages. For this purpose, PHP code is

embedded into the HTML source document and interpreted by a web server with

a PHP processor module, which generates the web page document. It also has

evolved to include a command-line interface capability and can be used in

standalone graphical applications. PHP can be deployed on most web servers

and as a standalone interpreter, on almost every operating system and platform

free of charge. PHP was originally created by Rasmus Lerdorf in 1995. The main

implementation of PHP is now produced by The PHP Group and serves as the

de facto standard for PHP as there is no formal specification. PHP is free

software released under the PHP License which is incompatible with the GNU

General Public License (GPL) due to restrictions on the usage of the term PHP.

While PHP originally stood for "Personal Home Page", it is now said to stand for

"PHP: Hypertext Pre-processor. PHP is mainly focused on server-side scripting,

so you can do anything any other CGI program can do, such as collect form data,

22

Page 23: PROJECT ARRANGED (FINAL)

generate dynamic page content, or send and receive cookies. But PHP can do

much more.

There are three main areas where PHP scripts are used.

Server-side scripting. This is the most traditional and main target field for

PHP. You need three things to make this work. The PHP parser (CGI or

server module), a web server and a web browser. You need to run the

web server, with a connected PHP installation. You can access the PHP

program output with a web browser, viewing the PHP page through the

server. All these can run on your home machine if you are just

experimenting with PHP programming.

Command line scripting. You can make a PHP script to run it without any

server or browser. You only need the PHP parser to use it this way. This

type of usage is ideal for scripts regularly executed using cron (on *nix or

Linux).These scripts can also be used for simple text processing tasks

ADVANTAGES OF PHP

PHP (Hypertext Pre-Processor) is a server-side web programming language that

is widely used for web development. However, here are many languages which

are used for web development or web programming. But among all of them PHP

is the most popular web scripting language. So, PHP is widely used for web

development…

PHP language has its roots in C and C++. PHP syntax is most similar to C

and C++ language syntax. So, programmers find it easy to learn and

manipulate.MySQL is used with PHP as back-end tool.

MySQL is the popular online database and can be interfaced very well

with PHP. Therefore, PHP and MySQL are excellent choice for

webmasters looking to automate their web sites.

23

Page 24: PROJECT ARRANGED (FINAL)

PHP can run on both UNIX and Windows servers.

PHP also has powerful output buffering that further increases over the

output flow.

PHP internally rearranges the buffer so that headers come before

contents.

PHP is dynamic. PHP works in combination of HTML to display dynamic

elements on the page. PHP only parses code within its delimiters, such as.

Anything outside its delimiters is sent directly to the output and not parsed

by PHP.

PHP can be used with a large number of relational database management

systems, runs on all of the most popular web servers and is available for

many different operating systems.

PHP5 a fully object oriented language and its platform independence and

speed on Linux server helps to build large and complex web applications.

In general PHP is cheap, secure, fast and reliable for developing web

applications.

2.4 HARDWARE REQUIREMENT

Hardware is also referred to as computing potential. In this project, three

hardware categories have been considered during software planning:

DEVELOPMENT SYSTEM, which is a computer and related peripherals

that will be used during the software development hase. The development

system has been used because it can accommodate multiple users,

maintain large volumes of information and support a rich assortment of

software tools.

TARGET MACHINE on which the software will eventual is executed.

OTHER HARDWARE ELEMENTS OF THE NEW SYSTEM.

24

Page 25: PROJECT ARRANGED (FINAL)

SYSTEM SPECIFICATION

Software Specification

Operating platform : windows NT/2000/XP/2003/Vista/7

DBMS :MySQL

Programming platform: PHP

Software : Microsoft Visio 2000 .

Browser : Internet Explorer

WEBSERVER: Wamp

Hardware requirement specification: Personal Computer, Intel Pentium

(tm), Dual Core - 2.00GHz Processor, 2GB of Ram, 320gb Hard disk Drive

2.5 Database Management SystemA database management system (DBMS), sometimes just called a database

manager, is a program that lets one or more computer users create and access

data in a database. The DBMS manages user requests (and requests from other

programs) so that users and other programs are free from having to understand

where the data is physically located on storage media and, in a multi-user

system, who else may also be accessing the data. In handling user requests, the

DBMS ensures the integrity of the data (that is, making sure it continues to be

accessible and is consistently organized as intended) and security (making sure

only those with access privileges can access the data). The interactions catered

for by most existing DBMS falls into four main groups”. These are:

25

Page 26: PROJECT ARRANGED (FINAL)

Data definition: This aspect of the DBMS defines new data structures for a

database, removing data structures from the database, modifying the

structure of existing data.

Data maintenance: this defines how new data is inserted into an existing

data structure, updating data in existing data structures and deleting data

from existing data structure.

Data retrieval: this aspect defines how users query existing data structures

and also extracting data for use by application programs.

Data control: this aspect deals with creating and monitoring users of a

database, restricting access to the database and the monitoring of

performance of databases.

Examples of database management systems:

AccessAccess is a personal database system from Microsoft. It is a visually oriented

software product, making it easy for non-programmers to develop useful

databases. While the Access database structure can scale up to serve corporate

needs, the most common use for this database is for small individual databases

or limited-use multiuser programs. It integrates the Visual Basic for Applications

language, making it a complete development environment.

Visual FoxProFoxPro is a relational database system, also produced by Microsoft, that is tightly

coupled to its programming language. FoxPro is less friendly as an end-user

database, requiring more technical expertise then Access. This database system

is known for its fast processing engine and the ability to handle numerous

simultaneous transactions.

26

Page 27: PROJECT ARRANGED (FINAL)

MySQL DatabaseMySQL is a server-based database that enables multiple users to access

multiple databases. The software runs on multiple platforms, including most

varieties of UNIX and Windows. It offers limited front-end usability, and is

designed as a back-end database server. MySQL separates from other database

products and their costs; the non-enterprise version is distributed for free.

MySQL is the world most popular open source database management system

(RDBMS). MySQL stands for “My Structured Query language”. It runs as a server

and provides a multi user accesses to a number of databases (Wikipedia, n.d). It

is compatible with many operating systems including Windows, Linux, and Mac

and. It also handles large amounts of data and provides security through user

authorization and access privileges. MySQL is own and developed by Sun

Microsystems, one of the world’s largest contributors to open source software

and finally all programming languages with language-specific APIs include

libraries for accessing MySQL databases

SQL ServerSQL Server is an enterprise-level scalable database server. This product differs

from the personal database in that it doesn't provide the front-end tools that an

individual database product would provide. The database engine focuses on

quickly responding to client requests in the form of SQL queries. These queries

can be generated directly in SQL Server, or through a separate user interface

developed in a multitude of programming languages. SQL Server is designed to

handle databases with millions of records.

OracleThe Oracle database is another enterprise-level scalable database. The SQL-

based database supports distributed corporate databases, enabling the user to

access data locally or from remote databases in a transparent transaction.

27

Page 28: PROJECT ARRANGED (FINAL)

Distributed databases help to overcome the physical limitations of a physical

computing environment. The maximum database size for an Oracle database is

8 million terabytes, requiring physical storage beyond the capacity of most single

installations.

Choice of DBMS for the new systemI have decided to use MySQL for the design of the database for Kumo Consult

Intra Mailing System development.

28

Page 29: PROJECT ARRANGED (FINAL)

CHAPTER THREE

ANALYSIS AND DESIGN

3.1 Fact FindingMost times, fact finding is carried out by system analyst. This is aimed at

producing a description of the current system and using this together with the

requirements, to build the logical required system model. The first stage of fact

finding and analysis of current system is referred to as investigation.

During fact finding the analyst is often verifying data collected by one method

against similar collected data by another method, and if these data agree, these

probably has a fact. One major problem of fact finding is perception. One person

may perceive a situation in one way whereas another may perceive the same

information in a completely different way.

Useful information a system analyst should consider during fact finding will include:

How is the organization structured? Who holds key responsibilities in

these areas, their style of management and the interest in the current

investigation?

Previous studies that may have been carried out and their outcome: were

the results accepted or turned down, and why?

3.2 Investigation

Investigation would be started at KUMO Consults head office and then to the site

offices to research on the system to understand what is done, how it is done and

who does what.

29

Page 30: PROJECT ARRANGED (FINAL)

Methods Chosen For Investigation

Observation: Observation can be both formal and informal. Formal observation involves a

planned and conscious approach of watching an operation or procedure for a

specific period. Informal observation is not a planned observation therefore

requires the analyst to be alert all the time to be able to gather information.

In the cause of this project I adopted the formal way of observation. I spent some

time in the construction sites of the KUMO Consults and observed information is

passed from one site office to the other, I observed how communication is carried

out between departments, one staff member to another.

Enquires Interviewing: The staff members will have one on one question and

answer session with the development team.

Example: What kind of function do they expect the system to perform?

Their various views about how the problem of the existing system can

be fixed.

Questionnaires: Question to be asked during interviews can be bulleted

on a question form and submitted to the site manager or staff member to

answer and return to the developments team.

Some problems faced during fact finding

Some persons were not ready to answer questions asked them

Some did not embrace the idea of building a new system because they

were scared they will lose their jobs

Many of the Questionnaires were not returned

Some employees were not there on their interview dates

30

Page 31: PROJECT ARRANGED (FINAL)

CLIENT http SERVER

3.3 DESCRIPTION OF CURRENT SYSTEM:

The existing mailing communication system at Kumo consults is a

traditional 2-tier architecture where there is only the server and the client. In this

case, the server was only a data base server that can only offer data. Therefore

most of the business logic and validations had to be placed on the clients

system. This process therefore makes the maintenance of this system very

expensive. This also means that every client has to be trained as to how to use

the application.

REQUEST

RECEIVE (TEXT OR GRAPHICS)

1ST TIER 2ND TIER

3.4 ANALYSIS OF CURRENT SYSTEM:

This traditional 2-tier architecture has only the server and the client, in

which the server was only a data base server that can only offer data. Since the

actual processing of the data takes place on the remote client the data has to be

transported over the network. As a rule this leads to increased network stress

(Load). The conduct of transactions is controlled by the client. Advanced

techniques like two-phase-committing can’t be run. Personal computers are

considered to be "un-trusted" or “unsafe” in terms of security, i.e. they are

relatively easy to crack or hacked into. Nevertheless, sensitive data is transferred

to the PC, for lack of an alternative.

31

Page 32: PROJECT ARRANGED (FINAL)

Application logic can’t be re-used because it is bound to an individual PC-

program. The 2-tier-model implies a complicated software-distribution-procedure:

as all of the application logic is executed on the PC, all those machines (maybe

thousands) have to be updated in case of a new release. This can be very

expensive, complicated, prone to error and time consuming. Distribution

procedures include the distribution over networks (perhaps of large files) or the

production of an adequate media like floppies or CDs. Once it arrives at the

user’s desk, the software first has to be installed and tested for correct execution.

Due to the distributed character of such an update procedure, system

management cannot guarantee that all clients work on the correct copy of the

program. To offset the above mentioned problems, 3-tier architecture is

proposed. A middle ties called as the application server is introduced. This is also

known as the Web server. And in turn these short comings of the traditional two-

design have given rise for the need for mailing system.

3.5 SOFTWARE AND HARDWARE REQUIREMENT SPECIFICATION:

Software Requirements Specification plays an important role in creating quality

software solutions. Specification is basically a representation process.

Requirements are represented in a manner that ultimately leads to successful

software implementation.

Requirements may be specified in a variety of ways. However there are some

guidelines worth following: -

• Representation format and content should be relevant to the problem

• Information contained within the specification should be nested

• Diagrams and other notational forms should be restricted in number and

consistent in use. • Representations should be revisable.

32

Page 33: PROJECT ARRANGED (FINAL)

3.6 RESOURCES NEEDED FOR THE DEVELOPMENT OF AN INTRA MAILING SYSTEM

The project is expected to make use of hardware and software that is freely

available to me at all times.

HardwarePersonal Computer, Intel Pentium (tm), Dual Core - 2.00GHz Processor, 2

GB of Ram, 320 Gb Harddisk Drive

SoftwareOperating platform : windows NT/2000/XP/2003/Vista/7

DBMS :MySQL

Programming platform: PHP

Software : Microsoft Visio 2000 .

Browser : Internet Explorer

Hardware requirement specification:

PROCESSOR : Pentium IV

WEB SERVER : WAMP

Possible Risk that could be faced during the design of the new system

Clients may be difficult to manage.

Certain entities such as users may try to sabotage the development of the

system

Virus attacks can cause the loss of data.

Power failure will result in hardware and software failure.

33

Page 34: PROJECT ARRANGED (FINAL)

3.7 REQUIREMENT SPECIFICATION OF THE NEW SYSTEM

FUNCTIONAL REQUIREMENTS:

ADMINISTRATOR:

In administrator module, we have five options:

Generate User: Creating a new User account.

Input: user id and password.

Output: User added to database.

Edit User Information: Changing Login and Password.

Input: ID, New Password, Confirm Password.

Output: Changed Information.

Delete User: Removing a user entry from the database.

Input: User Id, and Password of the user to be

deleted from the database.

Output: User entry removed.

Check Mail: Shows mail stored.

Input: Request from user to check his mail.

Output: Mails of the user.

Sendl: Send mail to the appropriate user.

Input: User Id.

Output: Mail sent.

Login: to check the authenticate administrator.

Input: Login Id and Password.

34

Page 35: PROJECT ARRANGED (FINAL)

Output: Valid or invalid message.

USER:

In administrator module, we have

Send Mail: Send mail to user in organization.

Input: user id to whom he wants to send mail.

Output: Mail sent.

Check Mail: Shows mail stored.

Input: Request from user to check his mail and delete the

Read the read mail.

Output: mails to the users after checking or deleting his Mail.

USER CHARACTERISTICS

ADMINISTRATOR:

WHO

ADMINISTRATOR

WHAT Creating a new user account.

Delete a user account.

Change the password of the

user.

WHEN Whenever there is a request

from the user to

Change password

To create a new user

account.

And delete the user account

35

Page 36: PROJECT ARRANGED (FINAL)

whenever he thinks to be

necessary

HOW By just clicking on the appropriate

option on the form.

WHERE From his current location, on his PC.

USER:

WHO USER/CLIENT

WHAT

Can check his mail

Can send mail to another user

whose user id is there in the

organization.

Can delete the unnecessary

mails.

HOW

By selecting the appropriate option

on the form.

WHERE

From his on PC, sitting at his on

location

3.8 DESIGN AND IMPLEMENTATION

36

Page 37: PROJECT ARRANGED (FINAL)

System design is the process of planning a new system to complement or

altogether replace old systems. System design can be defined to have three

different activities in it. They are

• External Design

• Architectural design

• Detailed Design

Architectural design and detailed design collectively called as internal design.

EXTERNAL DESIGN: External design of a software involves conceiving,

planning and specify the external observably characteristics of the software

products. External design includes user report format, external data sources and

data links. This design begins during analyze phase and continuous to the design

phase. The external design gives the actual data flow from one system to other

system. It also shows the relation of the current system to outside the world. It

shows what the inputs, outputs are. Here the external design is conveyed to the

user by using the browser. The external design also includes user responses,

report format, data source and data links. Errors are easily traced out during the

external design. Once external design in completed a more detailed explanation

of the parts identified, as part of external design will lead to easy understanding

of the internal working of the system. Avoiding errors in the external design will

not lead to the hard failures during the time interval design.

INTERNAL DESIGN: Internal design activities are actually constituted in two

different activities.

• Architectural Design

• Detailed Design

37

Page 38: PROJECT ARRANGED (FINAL)

Internal design involves planning, specifying the internal structure and processing

details of the software product. Architectural design is concerned with the refining

conceptual view of the system, identifying internal processing, functions,

decomposing, high level functions into sub overall performance of the software

products. Use of objects in the "Electronic Mail Service" leaves you with a more

comfortable programming technique. Designing of an object for each identified

entity results in reducing, repetitive coding and increases efficiency.

3.9 INTRA MAILING SYSTEM DESCRIPTION

This project deals with the Mailing System. This project is having two (2) different

modules which are

Administrator

Users.

Administrator

In administrator module we have four options.

1. Generate User.

2. Delete User.

3. Check Mail.

4. Send Mail.

When the administrator select the option generate user, he will creates a

new user id and password for the new user. When the administrator selects the

option Delete User, he will delete an existing user if not necessary.

When the administrator selects the send mail option, then the form will be

opened for sending mail. Then the admin send mail to any other user who has a

user id in the organization. In check mail option, the admin check for the mails. If

38

Page 39: PROJECT ARRANGED (FINAL)

the user has any mails, then the mails are displayed. He will check the mails and

delete the unnecessary mails. If the user has no mails then the message “No

Mails” is displayed. When the admin selects the show user’s option,

Fig 1: showing the general login page

39

Page 40: PROJECT ARRANGED (FINAL)

Fig 2: showing administrator’s interface for creating new employee ID

Fig 3: Administrator’s Interface for Composing Mail

40

Page 41: PROJECT ARRANGED (FINAL)

User:

In user module we have two options.

1. Send Mail.

2. Check Mail.

When the user selects the send mail option, then the form will be opened for

sending mail. Then the user can send mail to any other user who has a user id in

the organization. In check mail option, the user can check for the mails. If the

user has any mails, then the mails are displayed. He will check the mails and can

delete the unnecessary mails. If the user has no mails then the message No

Mails is displayed.

User Menu: Provides a way to give any commands to the mail server. The

options include in the menu are

Compose Inbox

Sent Messages Logout

Fig 4: showing user Mail interface

41

Page 42: PROJECT ARRANGED (FINAL)

Compose Screen: This screen is obtained when the user selects the compose

option from the mail folder. The fields in this screen are:

To: Here the primary receiver's address is to be selected

Subject: Here the primary receiver's address is to be entered.

Fig 5: showing the compose screen

Mail text to be sent: This is the text area where the actual mail data has to be

sent. Send:This is a button, used to send the mail.

Inbox: If the user selects this option on the user menu the corresponding inbox of

the user will be displayed. To read the different mails one option is provided as a

subject by clicking on the subject place the corresponding mail will be displayed.

Sent Messages: Using these options user can select different messages which

are all ready sent earlier. This is for the purpose to know which message is sent

to whom.

42

Page 43: PROJECT ARRANGED (FINAL)

Delete: Can be selected to delete the current address.

User name: Here User id of the address holder is to be entered.

Logout: By clicking this option the login session of the user will expire. If you

want to re-enter in to the site one more option is to be provided, if u want sign out

completely one more option is provided to sign out completely that is to logout

the use completely from the site.

Advantages:

The user of Intranet Mailing System is given a unique login id and must give the

correct password. It gives total security for us. So, unauthorized users can be

prevented to see our messages. Even if the user forgets his/her password

reminding facility by which the user can recollect the password and log into the

system.

The advantage of the Intra mail system is its security feature allowing only

registered users to access the system and preventing any hackers, unauthorized

users.

43

Page 44: PROJECT ARRANGED (FINAL)

DATA AND SYSTEM DESIGN

Data Dictionarya. EMPLOYEE INFORMATION:

Fig 6: showing the data design of Employee information

b. LOGIN INFO

Fig 7: showing the login information data design

44

Page 45: PROJECT ARRANGED (FINAL)

c. RECEIVED MAIL

Fig 8: showing the Received Mail data design

d. SENT MAIL

Fig 9: showing the sent mail data design

45

Page 46: PROJECT ARRANGED (FINAL)

ADMINISTRATOR

INTRAMAILING SYSTEM

USER

DESIGN PHASE:

Context Level DFD

LOGIN INFO OF USERS

SEND

MAIL

RECEIVE MAIL

SEND MAIL

CREATE ACCOUNT/

CHANGE PASSWORD

/DELETE ACCOUNT

Fig 10: Showing a context level DFD of the intra mailing system

46

Page 47: PROJECT ARRANGED (FINAL)

Admin

INTRA MAILING SYSTEM

Create New User

Grant Access

Check Mail

Send Mail

Logout

Delete Mail

Reply Mail

Edit Profile

Validation

Case Diagram

Fig 11: A case diagram of the intra mailing system

47

User

Validate User

Page 48: PROJECT ARRANGED (FINAL)

Login info

Login info

Validating User

Successful

Fetching info

Userid

Userid

New user request

Updating DB

Saving into DB

Create New Account

Edit ProfileDelete User Request

Validate

Login

Administrator

UserAccepting Request

Transferring request

DATABASE(User_info)

DFD Level 1: (Administrator)

Fig 12: DFD Level 1

48

Page 49: PROJECT ARRANGED (FINAL)

DATA FLOW DIAGRAMS OF THE MAILING SYSTEM

49

Page 50: PROJECT ARRANGED (FINAL)

50

Page 51: PROJECT ARRANGED (FINAL)

51

Page 52: PROJECT ARRANGED (FINAL)

52

Page 53: PROJECT ARRANGED (FINAL)

53

Page 54: PROJECT ARRANGED (FINAL)

Address sss

DEPARTMENT

password

LoginIdDesignationContactno.

UserGrantPermission

Administrator

Address sss

password

LoginId

Contactno.

DesignationDEPARTMENT

LoginId Department

Designation

AddressName Password

ContactNo.

MailNo. Checked

Date Time

To From Msg/Mail

Subject

Size

E-R DIAGRAM

USER_INFO

MAIL_INFO

54

Page 55: PROJECT ARRANGED (FINAL)

DESIGN INTERFACE

Login

Forgotten password

55

Page 56: PROJECT ARRANGED (FINAL)

User interface

Compose mail

56

Page 57: PROJECT ARRANGED (FINAL)

CHAPTER FOUR

IMPLEMENTATION AND TESTING

4.1 Code samplesLogin Form code sample<?php

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

header("Cache-Control: no-store, no-cache, must-revalidate");

header("Cache-Control: post-check=0, pre-check=0", false);

header("Pragma: no-cache");

session_start();

$errormessage = 'Enter your Login Information';

if (isset($_POST['username']) && isset($_POST['password']))

{

$username = $_POST['username'];

$password = $_POST['password'];

include('connect.php');

$sql = "SELECT em.emp_id, em.lname, em.fname, lg.login_id, lg.username,

lg.password, lg.priv_level FROM employee_info AS em

JOIN login_info AS lg ON lg.emp_id = em.emp_id

WHERE lg.username = '$username' AND lg.password = '$password'";

$result = mysql_query($sql)

57

Page 58: PROJECT ARRANGED (FINAL)

or die ('Could not execute query');

$row = mysql_fetch_array($result);

if (mysql_num_rows($result) == 1)

{

if ($row['priv_level'] == 1)

{

$_SESSION['admin_logged_in'] = true;

$_SESSION['emp_id'] = $row['emp_id'];

$_SESSION['password'] = $_POST['password'];

$_SESSION['lastname'] = $row['lname'];

$_SESSION['firstname'] = $row['fname'];

header('Location: admin.php');

exit;

}elseif($row['priv_level'] == 5)

{

$_SESSION['employee_logged_in'] = true;

$_SESSION['emp_id'] = $row['emp_id'];

$_SESSION['password'] = $_POST['password'];

$_SESSION['lastname'] = $row['lname'];

$_SESSION['firstname'] = $row['fname'];

header('Location: checkmail-01.php');

exit;}

}

else

{

$errormessage = 'Sorry, Wrong Username/Password';

58

Page 59: PROJECT ARRANGED (FINAL)

}

}

?>

4.2 TESTINGTesting is any activity aimed at evaluating an attribute or capability of a program

or system and determining that it meets its required results. Although crucial to

software quality and widely deployed by programmers and testers, software

testing still remains an art, due to limited understanding of the principles of

software. The difficulty in software testing stems from the complexity of software:

one cannot completely test a program with moderate complexity. Testing is more

than just debugging. The purpose of testing can be quality assurance, verification

and validation, or reliability estimation. Testing can be used as a generic metric

as well. Correctness testing and reliability testing are two major areas of testing.

59

Page 60: PROJECT ARRANGED (FINAL)

Testing Log Samples:

Testing the Login form

Testing with an invalid user name or password

Purpose of test this test is to check if the login form of the application will

allow access to the system if a wrong user name or password

is used to login to the system.

Test Data An invalid user name or password or both will be used.

Test Condition a user name and password must be entered into the fields on

the form

Expected Outcome

Denial of access, a message box should pop out telling the

use he or she has entered a wrong user name or password

Actual Outcome

On entering a wrong user name or password into the login

form, the system displayed a message box prompting the user

“sorry, wrong username or password” .

Remark: this means the test was successful

60

Page 61: PROJECT ARRANGED (FINAL)

Fig 13: showing the invalid username or password test

Testing with a valid Username and Password

Purpose of test this test is to check if the login form of the application will allow a

user to have access to the system if s\he provides a valid

Username and password

Test Data A valid user name or password will be used

Test Condition a user name and password must be entered into the fields on the

form

Expected Outcome

User should have access to the system once a valid user name

and password is entered

Actual Outcome

On entering a valid Username and Password into the login form,

the system gave access to the user into the system

Remark: this means the test was successful

61

Page 62: PROJECT ARRANGED (FINAL)

Fig 14: showing login with valid username and password

Test Analysis and Conclusion

Since the main aim of testing is to check for errors, few error were found and

fixed. However, fixing these errors was to improve the efficiency of the system.

I will therefore conclude by saying test was satisfactory and successful

4.3 TrainingThe aim of Systems training is to give users the specific skills they will be required

in using a new information system in doing their jobs. During training of the users

it is necessary that user must be made familiar with new tasks and

documentations.

It is very necessary that people identified to undergo training are available for

training.

There are various methods used for user training. The choice of training for a user

usually, will depend on the nature and complexity of the system, the number of

62

Page 63: PROJECT ARRANGED (FINAL)

people to train, their location, their level of expertise in computer systems and

also the budget allocated for the training.

CHAPTER FIVECONCLUSION AND RECOMMENDATIONS

63

Page 64: PROJECT ARRANGED (FINAL)

CONCLUSION

The efficiency of any system designed to suit the requirement depends on

cooperation during the implementation stage and also flexibility of the system to

adopt itself to the client and system requirements. “Intranet Mailing System” has

been developed to overcome the problems with traditional 2-tier Architecture.

As an evidence of this, by using the system developed one can

communicate with the other valid users of the Intra Mailing System. This is

allowing the Users to view the mails coming from different branches and

departments, allowing replies to them. In every endeavour a wealth of

experiences and lessons are learnt. During the duration of this project, diverse

lessons were learnt that helped improved my skills both as a developer and a

project manager.

During the cause of the project I realized that software development projects

cannot be treated like any ordinary task or academic assignment for that matter.

It is necessary to tackle software development with a full project approach with

adequate management style if success is to be achieved. Effective resources

and especially time management will go a long way to tell if a project will be

successful or not. This Intra Mailing System has also enabled me to practically

use much skill that I have acquired over the years of study.

REFERENCES

Allen G.Taylor SQL For Dummies®, 5th Edition Published byWiley

64

Page 65: PROJECT ARRANGED (FINAL)

Publishing, Inc. Copyright © 2003

Demarco & Plauge (1979) Structured Analysis and Systems

Specification.

Facsimile edition. Prentice Hall PTR.

ISBN-10: 0138543808

JANET VALADE PHP & MySQL For Dummies, 3rd Edition byWiley

Publishing, Inc. Copyright © 2006

Mark Maslakowski Sam's Teach Yourself MySQL in 21 Days (2004)

ISBN: 0672319144

Nandish P. 2004. Systems Analysis and Design: A Persona

Framework Approach. Routledge. ISBN: 0-415-

33216-

NCC Education Limited 2001. Structured Programming Methods.

ISBN: 1-90234-345-X

Paul Beynon-Davies Database Systems Third Edition, NCC Education (2004)

Yeates, D., & Wakefield T. 2004. System Analysis and Design. 2nd edition,

Pearson

Education Limited, ISBN: 0273 65536 1.

65