site.iugaza.edu.pssite.iugaza.edu.ps/nramaha/files/2010/12/FinalProject2.doc  · Web viewWe use...

75
Chapter 1 Project plan 1

Transcript of site.iugaza.edu.pssite.iugaza.edu.ps/nramaha/files/2010/12/FinalProject2.doc  · Web viewWe use...

Chapter 1

Project plan

1

1.1 OverviewThis chapter describe project planning phase which is a critical activity in

project life cycle.

The project will begin in 1/3/2010 and finish 30/6/2010. We started the project planning by studying the current system and we discovered that the system used in the university in manual and we will change the current system to programmable system.

Our new system will solve many problems existing in current system like cost decrease, long time, effort, the west space of storing the documents, speed for reaching the wanted documents and etc..

To understand our work and to determine what we want to do; we studied the project scope, limitations and the constraints that may be imposed on us during the work. The important constrain was imposed form the IT unit. The IT unit identified the broad outlines of the project.

we decide to follow the waterfall software development methodology to develop our system. This methodology is simpler than other software development methodologies it has sex phases, more details about the methodology in section 1.6.

Project team members are four students from faculty of information system in the Islamic university of Gaza:

Alaa Abu Hassera.

Amal Zomlut.

Mona Ahmed.

Wesam Fayyad.

1.2 Current System Description

1.2.1 Current system Functions

There is no electronic current system for archiving. The college secretary use manual way to store college sending messages ,congratulations and parcels of foreign affairs.

He also uses manual way for searching about required files or document, this way is cost huge time and effort and is causes loss of files and documents.

2

1.2.2 System Contents

Operations

1- storing document.2- searching about previously documents.

3- viewing the documents.

4- Get and Viewing emails.

1.2.3 Current system The current system allows college secretary to manage document, daily update

And storing process, but all these operations are manual.

During the time , managers, doctors and teachers are increased and their files and documents are also increased.

1.2.4 Current system problems Determination

Huge number of documents and files that need long time to classified.

Difficulty in searching of wanted document.

Long time wasted for getting specific messages or mailbox for any teacher ,employee from the stuff of faculty.

Lost important stored documents if any problem happened(like war).

1.2.5 Alternatives solutions

We have two solutions to solve the current problems, these solutions are

1. Building a new application containing the services and functions required by the College

2. Purchase a new application that supports the basic operations.

Choosing the best alternative:

- Alternative 1 is our choice; we think it the best choice because purchasing a new system is very expensive.

- We will building this system to help our faculty to develop their work.

-We hope to develop our capabilities as a programmers.

3

1.3 Statement of problem

1.3.1 Main problem

There is no system at IT faculty to organize their work, and the major problem is losses of files and documents.

1.3.2 Sub problems

Also there are sub problems in our project we aim to solve, these problems are:.

Waste of time and effort for searching about any document or file.

Take huge place for storing documents and files.

1.4 Goals & ObjectivesOur main goal is achieve a full content management application for the faculty and make them use the recent technology.

Objectives

Building a new system for the faculty.

Provide good electronic services for secretary and manager.

Archiving process does not have users Security .

1.5 Project scope and limitation.

This system is designed to support tasks of the faculty not tasks of students or academic tasks.

The system must be equivalent to criteria of Islamic University and their needs.

The user of the system fall in one individual group, which are secretary of the faculty and manager of faculty.

1.6 Project methodologyAfter examining all existing methodologies we decided to use waterfall software development methodology for the following reasons [1] :

1. All requirements of the system are well understood.

2. Easy to use in develop systems.

3. The strength of it documentation.

The following figure shows waterfall software development methodology phases:

4

Figure 1.1 waterfall software methodology developments

In this methodology we have 5 phases, these phases are planning phase, Analysis phase, Design phase, Implementation and the final phase is testing and maintenance. For more details about waterfall methodology see appendix A.

1- Planning :

In this phase we will make primary study for our project, identifying our project problems and goals, distribute the project tasks on the project team members, selection the risks in our project. Program that will help us in this phase: (Microsoft project – Microsoft word).

2- Analysis :

In this phase we will collect project data and requirements by interviewing some responsible persons in the faculty and university and analyze it, and then we will use UML to make (use cases diagrams- sequence diagrams) and Microsoft word to make flow of event.

3- Design :

In this phase we will use the UML program and Ms Visio to model the project, also may uses many other tools that help us in project designing (ER diagram-system architecture–database design–interface design).

4- Implementation :

5

This phase contain code writing and system implementation using programming languages that supports and achieve the objectives and requirement of our project.

5- Testing and Maintenance :

After implementation phase ended we will test the system to insure that the system achieves all user requirements and it performs all its process correctly even it works under high pressure.

1.7 Project schedulingProject scheduling includes Split the total work involved in a project into activities and judging the time require to complete these activities [1].

Times allocation is a major issue in our project planning. By using MS project, it can be shown how we have allocated our time and effort for the development of our analysis report.

The following figures shows project tasks and project Gantt chart.

Figure 1.2 Project scheduling

Figure 1.3 Gant chart part 1

6

Gant chart part 2

1.8 Project Development ToolsWe have decided to use the following technologies and software tools to help us in

project implementation:

Tool Description Phase

Microsoft Office 2007 Ms word: Document writing. All phase.

Ms project: Project scheduling and time table.

Planning Phase.

Ms Visio: ER Diagram. Analysis & Design phases.

UML Create object-oriented models and diagrams :

use-case diagram, sequence diagrams

Analysis phase.

Visual Studio 2010 Design windows, frames, and interfaces . Building windows application.

Design & Implementation phases.

Database SQL Server 2005

Create site database schema.

Create tables, attributes and relationship between tables

Design, Implementation phases.

Microsoft.NET Framework.

Middleware between visual studio 2010 and SQL server 2005

Implementation phase.

Adobe Photoshop 7.0 ME.

Use it in update the pictures to use it in the application .

Design & implementation phase.

Table 1.1 Project Development Tools

For more details about these tools see Appendix A.

7

1.9 Tasks and Team organization The project team members are four students Mona Ahmed, Alaa Abu Haseera, Amal Zomlout and Wesam Fayyad.

all project team members are specialist in Information Technology Systems in the faculty of Information technology in the Islamic university of Gaza,

The following table summarized project tasks and the distribution of these tasks on the project team members.

Mona ahmed Alaa Abu Haseera Aamal zomlout Wesam Fayyad

Data collection Primarily Data collectionProject plan Write project plan Proceed interviewsCollege interviews IT unit interviews Data and Requirement Analysis

Interviews analysis Faculty document analysis Data and requirement analysis document Requirement review Write requirement documentation UML designUse cases diagram Sequence diagram DesignDatabase schema design ER diagram Interface Diagram Validation Review design phase Design phase documentation Implementation phaseDatabase schema implementation Database schema testing and review Program implementationWindows forms implementation Windows forms review and validation Implementation phase document writing Final Testing

8

System final unit testing Performance testing Final projectFinal document review and writing

Table 1.2 Project Tasks and Team organization

1.10 Risk management In this section we will talk about the risks that may occur through the developing of the project and measurement of its and solutions.

The following table illustrate the risks may arise during our work and its solution.

Risk Degree Description

1 High

2 Moderate

3 Low

SolutionMeasurement of effective

Possible of occurrence

RiskNO.

The team has four members, so in the event that a team member is lost for specifies period, the remaining members will shoulder the increased workload.(overlap)

32Due to unexpected reasons, a group member leaves the project, or illness of group member.

1

Since the project is entirely software, it is imperative that the source files are kept secure. In addition to limiting access to the machine to only team members via permission the source code and database .

13The PC with the projects is crashes.

2

Make sure that there is cooperation between the members and they share and exchange their skills and check the external resources that are related to our system.

13The solution are not suitable for the need of work

3

We make the plan of the project dynamic not static that we can make some changes without high effects on the process project.

12Organization changes its requirements design.

4

9

Table 1.3 Risk management

Chapter 2Analysis

10

2.1 System Requirement and Data Collection Data collection is the basic for any system devolvement, requirements and

data collection has many forms, and in this project we use two data collection methods which are personal interviews and faculty documents collection.

Personal interviews

We make some individual personal interviews with IT Faculty Secretary Mahmoud Abu Habeeb and with our supervisor Nehad Ramaha , These interviews was our main data source.

Faculty Documents

This way depend on the current manual system and some hardcopy files to manage data and operations of the college daily work, so the project team study and understand these resources, take disadvantages of the resources to be avoidance of the new system.

2.2 Interviews Project team proceed many interviews, the following table summarized the interviews proceeded by project team.

TimeInterview LocationIntervieweeInterviewer

Monday & Wednesday

)11:00-12:30(

Sunday & Tuesday

) after 2:00(

IT facultyMr. Mahmoud HabeebProject Team

Monday & Wednesday

)11:00-12:30(

Sunday & Tuesday

) after 2:00(

His OfficeDr. Nahad RamahaProject Team

First interview : With Mr. Mahmood Abu HabeebAnswers Questions

Archiving files and documents.What the main tasks of the program?

Secretary and AdministratorWho is the program's user?

We Identified and understood the nature of manual system of archiving

11

Second interview : With Mr. Mahmoud Abu HabeebAnswers Questions

Archiving files and documents.What are the files in the treasury?

He requested connect the program with the MS outlook

Third interview : With Mr. Mahmoud Abu Habeeb

We display our work to Mr. Mahmoud and he request some updates like export the file and classify the files in folders.

Forth interview : With Mr. Mahmoud Abu Habeeb

He helped us for made the interfaces of the program and requested addition of statistics in the program to know number of the files in a folder.

Fifth interview : With Dr. Nehad Ramaha

He requested from us to draw project plan of the system. We draw it and he saw it and request some updates.

sixth interview : With Dr. Nehad Ramaha

He requested from us the ER Diagram and added the university logo.

last interview : With Dr. Nehad Ramaha

He saw the program and requested some of additions like added a new user, the date of the imports does not pass date of today.

2.3 Requirement AnalysisWe use UML notation in data analysis phase, UML is a method for modeling a Discrete Event System .

UML includes a set of graphical notation techniques to create abstract models of specific systems, we will start the analysis with system follow of event, then we will design the system use cases and sequence diagram.

2.3.1 Flow of Events

Flow of events represents events and the processes that manage events, the following table show the priority of these events.

Priority Description

1 Must be exist

2 Its presence is required12

3 Preferably be located

Table 2.1 Priority table

NO. Event Descriptionpriority

1 Actor login The system has ability to validation and authentication. 1

2 Manage Imports Manage Documents operations . 1

2.1 Add Imports The system has ability to add new document from PC or Scanner. 1

2.2 Control of Imports The system has ability to Control of Imports . 1

2.2.1 View Imports The system has ability search and view Imports . 1

2.2.1.1 Delete Imports The system has ability to delete Imports . 2

2.2.1.2 Export Imports The system has ability to Export documents to PC. 2

3 Export Data Export Data from the system to file 1

4 Add Contacts The system has ability to Add contacts 1

5 Manage Emails Manage Emails data . 1

5.1 Get Emails The system has ability to add emails from outlook. 1

5.2 View Emails The system has ability search and view emails. 2

5.2.1 Delete Emails The system has ability to delete emails. 2

6 View Statistics View number of stored files and documents in each folder . 2

7 Change password The system has ability user to change password. 1

Table 2.2 Project Events

No. 1

Name Actor login

Description The program has ability to validation and authentication. 13

Priority 1

Actors secretary ,Admin

Entry Condition - Enter to Login Form. - Then enter to main screen of program

Entry Username and password.

Flow of Events

Main flow The Program shows username and password form.

Sub flow If the login is valid then the user can work with the program operations

Alternative flow Enter wrong password or username then error message will appear

Output Main screen of the program will appear after valid login.

Constraints Prevent entering main screen if the username or password wrong.

Table 2.3 Actor login

No. 2

Name Manage Imports.

Description Manage the Imports Operations.

Priority 1

Actors Secretary, Admin

Entry Condition - Enter to Login Form. - Then Click to Imports Menu.

Entry Username and password.

Flow of Events

Main flow The Imports menu consists the following:1. Add Imports. 2. Control of Imports.

2.1. View Imports .2.1.1 Export Imports.2.1.2 Delete Imports .

o If the secretary chooses add Imports, the (s-1) will be performed.o If the secretary, admin chooses control of Imports, the (s-2) will be performed.

14

Through (s-2) the secretary, admin has make this operations:o If the secretary, admin choose view Imports, the (s-2.1) will be performed.

Through (s-2.1) the secretary, admin has make this operations:o If the secretary, admin chooses export Imports, the (s-2.1.1) will be performed.o If the secretary chooses delete Imports, the (s-2.1.2) will be performed.

Sub flow - S-2: Add Imports : when the secretary select this task, the adding document form will appear, then the secretary add document data and choose document from PC or scanner .

- S-2-1: View Imports: when the secretary, admin select this task, the view document form will appear, then the secretary, admin choose the way of searching to view documents (all documents, by document name, by document owner and by document date)

- S-2-1-1: Export Imports: when the secretary, admin select this task, the view import form will appear, then the secretary, admin choose the way of searching and then export the required document .

- S-2-1-2: Delete Imports: when the secretary select this task, the view document form will appear, then the secretary choose the way of searching and then delete the required document .

Alternative flow Enter wrong password or username then error message will appear

Output Main screen of the program will appear after valid login.

Constraints Prevent entering main screen if the username or password wrong.

Table 2.4 Manage Imports

No. 3

Name Export Data.

Description Export Data from the system to file

Priority 1

Actors Secretary

Entry Condition - Enter to Login Form. - Then Click to Export Menu.

Entry Username and password.

Flow of Events

Main flow The system shows form to enter data and then export data to file

Sub flow

15

Alternative flow Enter wrong password or username :Error message will appear

Output Main screen of the program will appear after valid login.

Constraints Prevent entering main screen if the username or password wrong.

Table 2.5 Export Data

No. 4

Name Add Contacts.

Description Add Contacts.

Priority 1

Actors Secretary

Entry Condition - Enter to Login Form. - Then Click to Contacts Menu.

Entry Username and password.

Flow of Events

Main flow The system shows form to enter contact data .

Sub flow

Alternative flow Enter wrong password or username :Error message will appear

Output Main screen of the program will appear after valid login.

Constraints Prevent entering main screen if the username or password wrong.

Table 2.6 Add Contacts

No. 5

Name Manage Emails.

Description Manage Emails Operations.

16

Priority 1

Actors Secretary, Admin

Entry Condition - Enter to Login Form. - Then Click to Emails Menu.

Entry Username and password.

Flow of Events

Main flow The mange emails menu consists the following:1. Get Emails. 2. View Emails .

2.1 Delete Emails .

o If the secretary chooses add emails, the (s-1) will be performed.o If the secretary chooses view emails, the (s-2) will be performed.

Through (s-2) the secretary has make this operations:o If the secretary chooses delete emails, the (s-2.1) will be preformed.

Sub flow - S-1: Get Emails: when the secretary selects this task, the adding emails form will appear, then the secretary selects emails appears from outlook and added to the program .

- S-2: View Emails: when the secretary select this task, the view emails form will appear, then secretary select the required date of emails to view emails.

- S-2-1: Delete Emails: when the secretary select this task, the view emails form will appear, then secretary delete required emails after emails appear from searching process.

Alternative flow Enter wrong password or username :Error message will appear

Output Main screen of the program will appear after valid login.

Constraints Prevent entering main screen if the username or password wrong.

Table 2.7 Manage Emails

No. 6

Name View Statistics.

Description View number of stored files and documents in each folder .

Priority 2

Actors Secretary.

Entry Condition - Enter to Login Form. - Then Click to Statistics Menu.

Entry Username and password.

17

Flow of Events

Main flow The system shows form to enter data that this operation need it

Sub flow

Alternative flow Enter wrong password or username :Error message will appear

Output Main screen of the program will appear after valid login.

Constraints Prevent entering main screen if the username or password wrong.

Table 2.8 View Statistics

No. 7

Name Change password.

Description The actor has ability to change his password

Priority 1

Actors Secretary

Entry Condition - Enter to Login form. - Then enter to change password form.

Entry new password

Flow of Events

Main flow The system shows form to enter data that this operation need it

Sub flow

Alternative flow If the user didn’t enter new password , validation message will appear

Output Confirmation message of successfully changing password

Constraints

Table 2.9 Change password

2.4 use cases diagram

2.4.1 Secretary use case

18

After Secretary login, he can managing Imports, managing emails, Add contacts, exports data, view statistics and change password.

19

Figure 2.1 Secretary use case

2.4.2 Admin use case

Figure 2.2 Admin use case

After Admin login, he can managing Imports, managing emails, view statistics and change password.

20

2.5 Sequence diagram :

Add Imports sequence diagram

A login form will appear to Secretary, it ask him to enter username and password, the system will verify the username and password, if incorrect the system will not allow to entering Main form, if correct then the secretary will interact with main form that contains all the options, if the secretary choose “add import” from documents menu ,the system will show “add import” interface, then the secretary can enter import data, after that the system will verify the required fields, if the required fields didn’t entered, the system will return message “ the required fields must be entered” .If all required fields are entered, the system will return message “document added successfully”.

21

Figure 2.3 Add Import

View Imports sequence diagram

Figure 2.4 View Import

After the secretary or admin enter to main screen, if the secretary or admin choose “Control of Imports” from Import menu ,the system will show “Control of Import” interface, then the secretary or admin can choose search way of documents, after that the system will search about documents, if data found, the system will view documents data .If data doesn’t found, the system will return message “there is no data found”.

22

Delete Imports sequence diagram

After the Secretary enter to main screen and choose View Import option. He choose the document to deleted, the system appeared confirm message before delete operation, if the secretary agree, the system has deleted the document and show message “ document deleted successfully”, if the secretary cancel the delete operation, the delete operation has canceled.

23

Figure 2.5 Delete Import

Export the Import sequence diagram

After the Secretary or Admin enter to main screen and choose View Imports option. He choose the document to Export, the system appeared form to choose the place of exported file, the secretary or Admin choose the place, then the system export the file.

Add Contacts sequence diagram

24

Figure 2.6 Export Import

Figure 2.7 Add Contacts

After the Secretary enter to main screen and choose Add Contacts option. He entered the contact data , the system check the required fields, if the secretary enter all required data , then the system save data and return message " contact data added successfully", if the secretary didn't enter the required fields, then the system return message "required fields must be entered"

Export Data sequence diagram

25

Figure 2.8 Export Data

After the Secretary enter to main screen and choose export data option. He entered the export data , the system check the required fields, if the secretary enter all required data , then the system export data to file and return message " exported data at c drive", if the secretary didn't enter the required fields, then the system return message "required fields must be entered"

Add Emails sequence diagram

26

After the secretary enter to main screen, if the secretary choose “Add Emails” from Emails menu ,the system will show “add emails” interface, then the secretary can choose view way of emails. The system view emails and the secretary choose required emails to add. the system add emails and will return message “emails added successfully”.

Delete Emails sequence diagram

27

Figure 2.9 Add Emails

After the secretary enter to main screen, if the secretary choose “View Emails” from Emails menu ,the system will show “view emails” interface, then the secretary can choose the date of emails. The system view emails and the secretary choose required emails to delete. the system show confirm message ,if the secretary agree, the system delete emails and will return message “emails deleted successfully”. If the secretary didn’t agree, the deleted operation was canceled.

View Emails sequence diagram

After the secretary or admin enter to main screen, if the secretary choose “View Emails” from Emails menu ,the system will show “view emails” interface, then the secretary or admin can choose the date of

28

Figure 2.10 Delete Emails

Figure 2.11 View Emails

emails. The system search about emails, if the system found results, emails are viewed. If the system didn’t found results, message will be returned “ There are no results founded”.

View Statistics sequence diagram

29

After the secretary or admin enter to main screen, if the secretary or admin choose “View Statistics” from main menu ,the system will show “view statistics” interface, then the secretary or admin can choose the folder. The system view number of files stored in chosen folder .

Change password sequence diagram

30

Figure 2.12 View Statistics

Figure 2.13 change password

After the secretary or admin enter to main screen, if the secretary or admin choose “Change Password” from main menu ,the system will show “change password” interface, then the secretary or admin enter new password. The system verify if the new password was entered, if the password has entered, the system change password and will show message “password changed successfully”. If the secretary or admin didn’t enter the new password, the system will show message “password must be entered” .

2.6 ER Diagram

31

Figure 2.14 ER diagram

2.7 Activity Diagram

Login

Figure 2.15 login activity diagram

Add Imports

32

Figure 2.16 Add Imports activity diagram

View Imports

Figure 2.17 View Imports activity diagram

Delete Imports

33

Figure 2.18 Delete Imports activity diagram

Export Data

Figure 2.19 Export Data activity diagram

Add Contacts34

Figure 2.20 Contacts activity diagram

Export

Figure 2.21 Export activity diagram

Add Emails

35

Figure 2.22 Add Emails activity diagram

View Emails

Figure 2.23 View Emails activity diagram

36

Delete Emails

Figure 2.24 Delete Emails activity diagram

View Statistics

Figure 2.25 View Statistics activity diagram

Change password

37

Figure 2.26 Change password activity diagram

38

Chapter 3Project design

3.1 system architecture

39

Figure 3.1 System Architecture

3.2 Database Schema DescriptionIn previous chapter (Analysis) we show the ER diagram for our system database, in this chapter we will describe the database schema.

The database schema describes the database tables and its attributes, the project database consist of 3 tables.

Database tables and attributes in details

Documents Table

Field Description Field Name Data Type P-Key F-keyDocument Number DocID intDocument Name name nvarcharDocument Type type nvarcharDocument Sender sender intOwner of Document owner nvarchar Date of Added file date smalldatetimeName of the file DocFile varchar

Table 3.1 Documents

Instructor State Table

Field Description Field Name Data Type P-Key F-keyEmail Number id int

40

Email Name name nvarchar Details of Email email nvarchar Owner of email owner nvarchar Date of received email date smalldatetime

Table 3.2 Emails

Labs Table

Field Description Field Name Data Type P-Key F-keyusername username nvarchar password password nvarchar

Table 3.3 Login

Labs Table

Field Description Field Name Data Type P-Key F-keyDocument Number ID int Import date date smalldatetime

Table 3.4 In

Labs Table

Field Description Field Name Data Type P-Key F-keyDocument Number ID intExport date date smalldatetime

Table 3.5 Out

Labs Table

Field Description Field Name Data Type P-Key F-keyContact ID ContactID int Contact name name nvarchar

Contact location loc nvarchar

Contact note note nvarchar Table 3.6 Contacts

41

3.3 Interfaces

Main form:

This is the main form of the program include login form. If the user enter the password and username correctly, the user can show and use the functions of the program.

Show all functions:

This form shows all functions of the program like import, export, contacts, emails, statistics and change password.

42

Figure 3.2 Main Form

Figure 3.3 Show all functions

Add Imports:

This form enables user to Add documents from pc or scanner. The user enter data and click add button, then the system check the required fields, if all entered, the system save data and show message "successfully done".

Control of the documents:

This form enable user to view the documents and export or delete them. The user choose the search type, if the system find results, the system show the data, then the user can delete or export documents. If the system doesn't find results, the system return message "there are no data founded".

43

Figure 3.4 Add Imports

Figure 3.5 control of the documents

Export Data To File:

Figure 3.6 Export data to file

This form enable user to export data entered to file. The user enter data and the click the export button, then the system show message "the data has exported at c drive".

Add Contacts:

Figure 3.7 Add Contacts

This form enable user to export data entered to file. The user enter data and the click the export button, then the system show message "the data has exported at c drive".

44

Get and Add Emails To Program:

This form enable user to save emails to program. The user choose the view way. , if the system find results, the system show the data, then the user can add emails to program. If the system doesn't find results, the system return message "there are no data founded".

View and delete Emails:

Figure 3.9 view and delete emails

This form enables user to view and delete emails. The user choose the date of emails and after the system view results, the user can delete the emails. If the system doesn't find results, the system return message "there are no data founded".

45

Figure 3.8 Get and Add emails to program

Statistics:

This form view the number of files in any folder the user choose. The user choose the folder then click view button. The system view the number of files stored in the chosen folder.

Change password:

Figure 3.11 Change password

This form appears when the user choose "change password", then he must enter the new password before click save button. The system return message " the password will changed".

46

Figure 3.10 Statistics

Chapter 4Implementation

47

4.1 OverviewThis chapter describes our system implementation process. The

implementation process consists of three parts which are:

Implementation Methodology.

Pre request for implementation process.

Tools used in system implementation process.

Implementation process can't be started until the system analysis phase ended because all system implementation requirement will be good understood.

4.2 Implementation MethodologyOur implementation methodology is based on dividing the whole system into

subsystems, every subsystem is divided into multiple units, each unit consist of numbers of VB.Net forms, after finish the unit implementation we will join it to other finished units to generate a complete subsystem. After finish the subsystem implementation we will integrate it with other subsystems to generate a complete system.

4.3 Implementation Process Pre-request After all system requirements are cleared, the analysis phase was completed

and design process is completed. The implementation process will be start. We choose VB.Net programming language to make archiving program.

4.4 Implementation ToolsAny system Implementation process requires two conditions, these conditions

are system good understanding and some tools to help in application building and testing.

First condition is achieved form previous phases, to achieve the second conditions project team will use many programs in system implementation as:

Photoshop CS3 for update images used in program. Microsoft SQL server 2005 for database schema implementation. Visual studio 2010 for windows forms implementation.

For more details about these tools please go to appendix A, and to see & review sample of system codes please go to appendix B.

48

Chapter 5Testing

49

5.1 OverviewThe testing process is very important for system developer after finishing

system implementation, to insure that the system achieve all its functional requirements and nonfunctional requirements.

We run the program to test all the functions and insure that all programs’ functions work in right way .Also we test the system under multiple resolution modes.

5.2 Project Assembling and Testing In this phase system components will be assembled to reduce an integrated

system, therefore all system components will be tested in parallel with assembling process.

5.2.1 Unit Testing

In this phase procedures will be tested in parallel with writing programming code for these procedures which will be executed inside the program, and testing will be after finishing each procedure, the procedure inside the site depends on SQL commands.

The Unit testing include test the SQL commands standalone then test the commands inside the program.

5.2.2 form Testing

In this phase the process in each form will be completed, and form will be tested separately from other forms. After success testing form will be added and connected to the subsystem forms, after this connection complete the form will be tested another time.

5.2.3 Sub System Testing

In this phase forms are divided and categories to subsystem to meet the analysis subsystems and use cases subsystems, and these subsystems are tested as standalone system even when add new forms to subsystem the testing process will be proceed. After the subsystem implementation and testing complete it will be added to other subsystems to become a new subsystem.

When we add new subsystem, a new test process will happen to the new subsystem be sure form system integrity and functionality. After finish the implementation phase the system will be completely tested.

5.3 Whole System TestingIn this phase we will test the whole system as a real system, we will supply the

system with real data and watch up the system behavior even when it receives wrong information or occur unexpected events.

50

Appendix

51

Appendix A

52

APPENDIX A

I- Waterfall software development methodology

The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design (validation), Construction, Testing and maintenance.

It should be readily apparent that the waterfall development model has its origins in the manufacturing and construction industries; highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development. Ironically, the use of the waterfall model for software development essentially ignores the 'soft' in 'software'.

The first formal description of the waterfall model is often cited to be an article published in 1970 by Winston W. Royce (1929–1995), although Royce did not use the term "waterfall" in this article. Ironically, Royce was presenting this model as an example of a flawed, non-working model (Royce 1970). This is in fact the way the term has generally been used in writing about software development—as a way to criticize a commonly used software practice.

To follow the waterfall model, one proceeds from one phase to the next in a purely sequential manner. For example, one first completes requirements specification, which is set in stone. When the requirements are fully completed, one proceeds to design. The software in question is designed and a blueprint is drawn for implementers (coders) to follow — this design should be a plan for implementing the requirements given. When the design is fully completed, an implementation of that design is made by coders. Towards the later stages of this implementation phase, separate software components produced are combined to introduce new functionality and remove errors.

Thus the waterfall model maintains that one should move to a phase only when its preceding phase is completed and perfected. However, there are various modified

53

waterfall models (including Royce's final model) that may include slight or major variations upon this process.

II- Project development tools

UML:

We used this tools in the documentation and analysis phase of the system, because it supports modeling in UML, which we used in our analysis of the system, such as use case, sequence diagrams, class diagrams and data model.

Microsoft.NET Framework:

The .NET framework is an integral windows component for building and running the next generation of software applications.

The .NET framework:

Support over 20 different programming languages.

Manages much of the plumbing involved in developing software, enabling developers to focus on the core business logic code.

Makes it easier than ever before to build, deploy, and administer secure, robust, and high-performing applications.

VB.NET technology:

It is the main technology we are using in implementing and constructing the system parts especially in coding.

VB.NET is an enhanced version of VB6 that provides object oriented techniques.

Main features of VB.NET:

- A powerful new forms designer .

- an in-place menu editor .

- automatic control anchoring and docking .

- delivers new productivity features for building more robust applications easily and quickly .

- With an improved integrated development environment (IDE) and a significantly reduced startup time .

54

- Visual Basic .NET offers fast, automatic formatting of code as you type, improved IntelliSense, an enhanced object browser and XML designer .

SQL database Server 2005:

Microsoft SQL Server 2005 is comprehensive, integrated data management and analysis software that enables organizations to reliably manage mission-critical information and confidently run today’s increasingly complex business applications. SQL Server 2005 allows companies to gain greater insight from their business information and achieve faster results for a competitive advantage.

Appendix B

55

APPENDIX B

This appendix is specific for project codes

Some selected project code is located here:

- Code of Login Form :

If UsernameTextBox.Text = "" Then ErrorProvider1.SetError(Me.UsernameTextBox, " أدخل فضلك من

المستخدم اسم ") Else ErrorProvider1.SetError(Me.UsernameTextBox, "") If PasswordTextBox.Text = "" Then ErrorProvider1.SetError(Me.PasswordTextBox, " فضلك من

المرور كلمة أدخل ") Else ErrorProvider1.SetError(Me.PasswordTextBox, "") Using conn As New SqlConnection(My.Settings.ArchiveDBConnectionString) Dim cmd As SqlCommand = conn.CreateCommand cmd.CommandText = "select count(*) from login where username=@username and password=@password" cmd.Parameters.AddWithValue("@username", Me.UsernameTextBox.Text) cmd.Parameters.AddWithValue("@password", Me.PasswordTextBox.Text) conn.Open() Dim re As Integer = cmd.ExecuteScalar conn.Close() If re = 0 Then Label1.Text = " غير المرور كلمة او المستخدم اسم"صحيحة Else Me.Close() End If End Using

56

End If End If

- Code of Add Document :

If txtFileName.Text = "" Then ErrorProvider1.SetError(Me.txtFileName, " اسم أدخل فضلك من("المستند Else ErrorProvider1.SetError(Me.txtFileName, "") If ComboBox2.Items.Count = 0 Then ErrorProvider1.SetError(ComboBox2, " مجلد اختر ") Else ErrorProvider1.SetError(ComboBox2, "") If txtOwner.Text = "" Then ErrorProvider1.SetError(Me.txtOwner, " أدخل فضلك من

المالك اسم ") Else ErrorProvider1.SetError(Me.txtOwner, "") Using conn As New SqlConnection(My.Settings.ArchiveDBConnectionString) Dim cmd As SqlCommand = conn.CreateCommand cmd.CommandText = "insert into Documents (name,type,department,owner,date,DocFile) values(@name,@type,@department,@owner,@date,@DocFile)" cmd.Parameters.AddWithValue("@name", Me.txtFileName.Text) If GroupBox1.Visible = True Then cmd.Parameters.AddWithValue("@type", Me.txtType.Text) Else cmd.Parameters.AddWithValue("@type", Me.ComboBox1.SelectedItem) End If cmd.Parameters.AddWithValue("@department", Me.txtDepartment.Text) cmd.Parameters.AddWithValue("@owner", Me.txtOwner.Text) cmd.Parameters.AddWithValue("@date", Me.DateTimePicker1.Value) cmd.Parameters.AddWithValue("@DocFile", IIf(na = "", "", ComboBox2.SelectedItem & "\" & na)) conn.Open() cmd.ExecuteNonQuery() conn.Close() End Using Me.lblmsg.Text = " بنجاح المستند إضافة تم " End If End If

End If

- Code of search and view Documents :

If RadioButton1.Checked Then

57

Using conn As New SqlConnection(My.Settings.ArchiveDBConnectionString) Dim cmd As SqlCommand = conn.CreateCommand cmd.CommandText = "select id,name,type,department,owner,date,docfile from Documents" Dim da As New SqlDataAdapter(cmd) da.Fill(dt) If dt.Rows.Count > 0 Then DataGridView1.DataSource = dt Else MessageBox.Show(" للبحث نتائج على العثور يتم لم ") End If End Using ElseIf RadioButton2.Checked Then If txtFileName.Text = "" Then ErrorProvider1.SetError(Me.txtFileName, " أدخل فضلك من

المستند اسم ") Else ErrorProvider1.SetError(Me.txtFileName, "") Using conn As New SqlConnection(My.Settings.ArchiveDBConnectionString) Dim cmd As SqlCommand = conn.CreateCommand cmd.CommandText = "select id,name,type,department,owner,date,docfile from Documents where name=@name" cmd.Parameters.AddWithValue("@name", Me.txtFileName.Text) Dim da As New SqlDataAdapter(cmd) da.Fill(dt) If dt.Rows.Count > 0 Then DataGridView1.DataSource = dt Else MessageBox.Show(" للبحث نتائج على العثور يتم لم ") End If End Using End If

ElseIf RadioButton3.Checked Then Using conn As New SqlConnection(My.Settings.ArchiveDBConnectionString) Dim cmd As SqlCommand = conn.CreateCommand cmd.CommandText = "select id,name,type,department,owner,date,docfile from Documents where CONVERT(VARCHAR(10), [date], 101) between @fdate and @tdate " cmd.Parameters.AddWithValue("@fdate", DateTimePicker1.Value.Date) cmd.Parameters.AddWithValue("@tdate", DateTimePicker2.Value.Date) Dim da As New SqlDataAdapter(cmd) da.Fill(dt) If dt.Rows.Count > 0 Then DataGridView1.DataSource = dt Else MessageBox.Show(" للبحث نتائج على العثور يتم لم ") End If End Using Else If txtOwner.Text = "" Then ErrorProvider1.SetError(Me.txtOwner, " اسم أدخل فضلك من("المالك Else

58

ErrorProvider1.SetError(Me.txtOwner, "") Using conn As New SqlConnection(My.Settings.ArchiveDBConnectionString) Dim cmd As SqlCommand = conn.CreateCommand cmd.CommandText = "select id,name,type,department,owner,date,docfile from Documents where owner=@owner" cmd.Parameters.AddWithValue("@owner", Me.txtOwner.Text) Dim da As New SqlDataAdapter(cmd) da.Fill(dt) If dt.Rows.Count > 0 Then DataGridView1.DataSource = dt Else MessageBox.Show(" للبحث نتائج على العثور يتم لم ") End If End Using End If

End If

- Code of delete or export Documents :

If Me.DataGridView1.Columns(e.ColumnIndex).Name = "export" Then SaveFileDialog1.FileName = Me.DataGridView1.Rows(e.RowIndex).Cells("docname").Value If Me.DataGridView1.Rows(e.RowIndex).Cells("docfile").Value = "" Then MessageBox.Show(" لتصديرها ملفات على السجل هذا يحتوي ال ") Exit Sub End If If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then My.Computer.FileSystem.CopyFile(IO.Path.Combine(My.Application.Info.DirectoryPath) & "\" & Me.DataGridView1.Rows(e.RowIndex).Cells("docfile").Value, SaveFileDialog1.FileName & IO.Path.GetExtension(Me.DataGridView1.Rows(e.RowIndex).Cells("docfile").Value), True) End If

ElseIf Me.DataGridView1.Columns(e.ColumnIndex).Name = "del" Then If MessageBox.Show(" ؟ البيانات حذف تريد أنك متأكد أنت هل ", "", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = Windows.Forms.DialogResult.Yes Then Using conn As New SqlConnection(My.Settings.ArchiveDBConnectionString) Dim cmd As SqlCommand = conn.CreateCommand() cmd.CommandText = "delete from Documents where id=@id" cmd.Parameters.AddWithValue("@id", Me.DataGridView1.Rows(e.RowIndex).Cells("id").Value) conn.Open() cmd.ExecuteNonQuery() conn.Close() End Using MessageBox.Show(" بنجاح البيانات حذف تم ")

59

DataGridView1.DataSource = dt End If End If

- Code of create folders :

If txtFileName.Text = "" Then ErrorProvider1.SetError(Me.txtFileName, " اسم أدخل فضلك من("المجلد Else ErrorProvider1.SetError(Me.txtFileName, "") If IO.Directory.Exists(IO.Path.Combine(My.Application.Info.DirectoryPath, txtFileName.Text & "/")) = False Then IO.Directory.CreateDirectory(IO.Path.Combine(My.Application.Info.DirectoryPath, txtFileName.Text)) lblmsg.Text = " بنجاح المجلد إنشاء تم " Else lblmsg.Text = " مسبقا موجود المجلد " End If End If

60