i
Table of Contents List of Figures................................... .................................................... ................................................................................. ............................. v List of Tables .................................................... ............................................................................................................ ............................................................... ....... vii Abstract................................... ....................................................... ........................................................................................ ................................. viii Chapter 1 Introduction..................................................... ................................................ 1
1.1 Problem Definition ................................................... ................................................ 1 1.2 Scope................................................................. Scope......... ................................................................................................................ ........................................................ 2 1.3 Product Perspective............................................ Perspective................................................................................................ ....................................................... ... 2 1.4 Product Functions ............................................... ................................................... ... 3 1.5 FTS Users ...................................................... ............................................................................................................. ........................................................... .... 4 Chapter 2 FTS Requirements Specification ...................................................... ................................................................... ............. 5
2.1 Functional Requirements ...................................................... .......................................................................................... .................................... 5 2.1.1 Sign In ...................................................... .............................................................................................................. .......................................................... .. 5 2.1.2 Create File ................................................... .................................................... ....................................................... ... 6 2.1.3 Mark File..................... ....................................................... ....................................................................................... ................................ 6 2.1.4 Add Comments ............................................... ................................................... 7 2.1.5 Close File .................................................. ................................................... ...... 7 2.1.6 Attach Reference Document ............................................... ............................... 7 2.1.7 Track File ........................................................ ........................................................................................................... ................................................... 7 2.1.8 View History................................................. History ................................................. ..................................................... 8 2.1.9 Generate and View Alerts............................................ Alerts ............................................ ...................................... 8 2.1.10 View File...................................................................... File.............. ............................................................................................ .................................... 8 2.1.11 Sign Out .................................................. ........................................................ .......................................................... 8 2.1.12 Send Reminder................................................. Reminder ................................................. ................................................ 8 2.1.13 Reactivate File ................................................... .............................................. 9 2.1.14 Request File ....................................................... ..................................................................................................... .............................................. 9 2.1.15 View Personal Register........................................................ Register .................................................................................... ............................ 9 2.1.16 Edit Database Information ............................................... ................................ 9 2.2 Software System Attributes ............................................ ........................................ 10
d o c s i t y . c o m
ii 2.3 Logical Database Requirements ............................................ ................................. 10 2.4 Constraints ................................................. ........................................................ ............................................................. ..... 11 2.5 Assumptions and Dependencies .................................................. ........................... 11 Chapter 3 FTS Project Plan................................................................... Plan............ ............................................................................... ........................ 12
3.1 Project Life Cycle ........................................................ ................................................................................................... ........................................... 12 3.2 Project Effort and Time Estimation .................................................. ...................... 13 3.3 Project Resources............................. ................................................... .................... 16 3.4 Project Schedule .............................................. ................................................... .... 17 Chapter 4 FTS Architectural Design ................................................ ............................ 19
4.1 System Architecture................................ ................................................... ............. 19 4.2 Dataflow Diagram............................................... Diagram................................................................................................... .................................................... 20 4.2.1 Context Diagram ................................................. ............................................. 20 4.2.2 Diagram 0................................. ............................................................ ............ 21 4.2.3 Detailed Diagram ................................................ ............................................. 22 4.3 FTS Architecture Diagram..................................................... ................................. 22 Chapter 5 FTS Database Build..................................................... Build ...................................................................................... ................................. 24
5.1 Entities ....................................................... ............................................................................................................... ............................................................. ..... 24 5.2 Relationships...................................... ........................................................ ..................................................................... ............. 26 5.3 FTS ERD................................................. ERD......................................................................................................... ................................................................ ........ 28 5.4 Relational Schema .................................................... .................................................................................................. .............................................. 29 5.5 Normalization ...................................................... ......................................................................................................... ................................................... 29 5.6 Database Implementation .............................................. ......................................... 31 Chapter 6 File Initiation Build........................................................... ............................ 33
6.1 Create File Functionality .................................................... ........................................................................................ .................................... 33 6.2 Mark File Functionality .................................................... .......................................................................................... ...................................... 36 6.3 Attach Reference Document functionality .............................................. ............... 37 Chapter 7 File Processing Build ................................................. ................................... 39
7.1 Add Comments Functionality ....................................................... ................................................................................. .......................... 39
d o c s i t y . c o m
ii 2.3 Logical Database Requirements ............................................ ................................. 10 2.4 Constraints ................................................. ........................................................ ............................................................. ..... 11 2.5 Assumptions and Dependencies .................................................. ........................... 11 Chapter 3 FTS Project Plan................................................................... Plan............ ............................................................................... ........................ 12
3.1 Project Life Cycle ........................................................ ................................................................................................... ........................................... 12 3.2 Project Effort and Time Estimation .................................................. ...................... 13 3.3 Project Resources............................. ................................................... .................... 16 3.4 Project Schedule .............................................. ................................................... .... 17 Chapter 4 FTS Architectural Design ................................................ ............................ 19
4.1 System Architecture................................ ................................................... ............. 19 4.2 Dataflow Diagram............................................... Diagram................................................................................................... .................................................... 20 4.2.1 Context Diagram ................................................. ............................................. 20 4.2.2 Diagram 0................................. ............................................................ ............ 21 4.2.3 Detailed Diagram ................................................ ............................................. 22 4.3 FTS Architecture Diagram..................................................... ................................. 22 Chapter 5 FTS Database Build..................................................... Build ...................................................................................... ................................. 24
5.1 Entities ....................................................... ............................................................................................................... ............................................................. ..... 24 5.2 Relationships...................................... ........................................................ ..................................................................... ............. 26 5.3 FTS ERD................................................. ERD......................................................................................................... ................................................................ ........ 28 5.4 Relational Schema .................................................... .................................................................................................. .............................................. 29 5.5 Normalization ...................................................... ......................................................................................................... ................................................... 29 5.6 Database Implementation .............................................. ......................................... 31 Chapter 6 File Initiation Build........................................................... ............................ 33
6.1 Create File Functionality .................................................... ........................................................................................ .................................... 33 6.2 Mark File Functionality .................................................... .......................................................................................... ...................................... 36 6.3 Attach Reference Document functionality .............................................. ............... 37 Chapter 7 File Processing Build ................................................. ................................... 39
7.1 Add Comments Functionality ....................................................... ................................................................................. .......................... 39
d o c s i t y . c o m
iii 7.2 Close File Functionality........................................................... Functionality....... ................................................................................... ............................... 40 7.3 View File Functionality .................................................... .......................................................................................... ...................................... 41 7.4 Request File Functionality ..................................................... ...................................................................................... ................................. 42 7.5 Reactivate File Functionality ............................................ ...................................... 45 Chapter 8 File Tracking Build...................................................................... Build............... ........................................................................ ................. 47
8.1 Track File Functionality.............................................. ............................................ 47 8.2 View History Functionality ................................................. ................................... 48 8.3 Send Reminder...................... Reminder.............................................................................. .................................................................................. .......................... 50 8.4 Generate and View Alert Functionality ............................................ ...................... 51 8.5 View Personal Register..................................... ...................................................... 53 Chapter 9 FTS Security Build ..................................................... ....................................................................................... .................................. 55
9.1 Sign In Functionality .................................................... .............................................................................................. .......................................... 55 9.2 Sign Out Functionality.......................................................... Functionality... ......................................................................................... .................................. 56 9.3 Edit Database Information ...................................................... ...................................................................................... ................................ 56 Chapter 10 System Testing .................................................. .......................................... 61
10.1 Performance Testing ................................................. ............................................ 61 10.1.1 Graphs Generated by ACT for FTS .................................................... ............................................................... ........... 61 10.1.2 Tests Report Generated by ACT for FTS ................................................. ..... 63 10.2 Stress Testing............................................. Testing ............................................. ................................................... ........ 64 10.3 Security Testing ................................................ .................................................... 64 10.4 Recovery Testing ........................................................ .................................................................................................. .......................................... 64 Chapter 11 Conclusion ........................................................ ................................................................................................... ........................................... 65
11.1 FTS Navigation Map ............................................... ............................................. 65 11.2 Application.............................................. .................................................... .............................................................. .......... 66 11.3 Future Recommendations ................................................... .................................. 66 References ............................................... .................................................... ......................................................................... ..................... 67 Appendices....................................................... Appendices ............................................................................................................... ................................................................ ........ 68
d o c s i t y . c o m
iv A.
Abbreviations ................................................ ...................................................... 68
B.
............................................................................................................ ...................................................... 68 Definitions ......................................................
C.
.................................................................................................. ............................................. 71 Database Tables .....................................................
d o c s i t y . c o m
v
List of Figures Figure 2-1: Id and password verification ............................................. ............................... 5 Figure 2-2: Create file use case diagram............................................................................. 6 Figure 2-3: Track file use case diagram................................................................ .............. 7 Figure 2-4: Reactivate file use case diagram ...................................................................... 9 Figure 3-1: FTS incremental model................................................ .................................. 13 Figure 3-2: FTS time line................................................................................ .................. 18 Figure 4-1: FTS three tier architecture..................................................... ......................... 20 Figure 4-2: FTS context diagram ...................................................................................... 21 Figure 4-3: FTS diagram 0...................................................................................... .......... 21 Figure 4-4: Process file detail diagram .................................................. ........................... 22 Figure 4-5: FTS architecture diagram............................................................................... 23 Figure 5-1: Department entity................................ ................................................... ........ 24 Figure 5-2: Employee entity ............................................ ................................................. 25 Figure 5-3: File entity ............................................. .......................................................... 25 Figure 5-4: Reference attachment entity........................................................... ................ 26 Figure 5-5: Department Employee relationship.............................. .................................. 26 Figure 5-6: Head relationship ................................................... ........................................ 26 Figure 5-7: Create relationship ............................................... .......................................... 26 Figure 5-8: Mark relationship .................................................. ......................................... 27 Figure 5-9: Message relationship...................................................................................... 27 Figure 5-10: FTS ERD...................................................................................................... 28 Figure 6-1: FTS main page GUI .......................................................... ............................. 33 Figure 6-2: Create file GUI...................................................................... ......................... 34 Figure 6-3: Attach reference document GUI ................................................... ................. 38 Figure 7-1: Add comments GUI ....................................................................................... 40 Figure 7-2: View file GUI................................................................................................. 42 Figure 7-3: Request file GUI ................................................... ......................................... 44 Figure 7-4: Reactivate file GUI ........................................................................................ 46 Figure 8-1: Track file flow chart......................................................................... .............. 47
d o c s i t y . c o m
vi Figure 8-2: Track file GUI................................................. ............................................... 48 Figure 8-3: View history flow chart.................................................................................. 49 Figure 8-4: View history GUI........................................................................................... 49 Figure 8-5: Send Reminder GUI....................................................................................... 51 Figure 8-6: Alert pop up window................................................... ................................... 53 Figure 8-7: Received alerts GUI ....................................................................................... 53 Figure 8-8: View personal register GUI ................................................ ........................... 54 Figure 9-1: Sign In GUI................................................ .................................................... 55 Figure 9-2: Edit employee information GUI .............................................. ...................... 58 Figure 9-3: Create new department GUI ................................................. ......................... 58 Figure 9-4: Edit department information GUI .................................................................. 59 Figure 10-1: Connection vs. requests per second .............................................. ............... 62 Figure 10-2: Connections vs. TTLB ................................................................................. 62 Figure 11-1: FTS navigation map ..................................................................................... 65
d o c s i t y . c o m
vii
List of Tables Table 3-1: Estimation of information domain values ........................................... ............ 15 Table 3-2: Calculation of complexity adjustment factor ......................................... ......... 16 Table 10-1: Performance tests report.............................................. .................................. 63
d o c s i t y . c o m
viii
Abstract File Tracking System (FTS) is software that facilitates the process of file movement and tracking within an organization. In government and public organizations, every official procedure is carried out by moving files. When a file is moved, an entry is made in office diary for record keeping. Comments are added in file to indicate the action to be taken and then file is moved further if required. For example in PIEAS consider the case in which an employee needs leave for some period of time. First he sends leave application to his respective Head of Department (HOD). After approval from HOD the application is forwarded to Senior Admin and finally Rector PIEAS considers that application. The whole process may span a number of days instead of taking few hours. So the major drawback of this traditional system is the delay in processing. Another downside of this system is that one might not be able to track location of a file. Incase the entry in diary is missing; it becomes hard to locate file. Even if file is tracked by searching diaries, the whole process may take a lot of time, without any guarantee of success. The File Tracking System not only accelerates file processing but also ensures that each and every file present in the database can be tracked. It allow user to create file, mark file to other members of organization, to send reminders, to add comments, to track file and view history of file processing. User can access this system within organization using his own workstation provided that his PC is connected to LAN (on which File Tracking System has been hosted) present in an organization. File Tracking System can be customized for use in organizations like educational institutes, insurance companies, banks, government agencies.
d o c s i t y . c o m
1
Chapter 1 Introduction The Chapter throws light on the problem definition, scope and perspective of the project. The problem, to which software provides solution, has been discussed in section 1.1. Then the scope of project has been defined. Then product perspective and functions have been discussed.
1.1 Problem Definition Every request or official procedure carried out in a government/private organization is processed through a file. A file refers to a physical hardcopy documents which contain details about an official procedure and related material. In this aspect, every letter, application, receipt, acknowledgement or any kind of correspondence with a government/private organization is called a File. An organization can have more than one departments and each department may have its own office. When an employee creates a file, he/she can mark file to the employee of same department or to the employee of another department in the same organization. An employee on receiving a file adds comments to it in order to specify the actions to be taken. When processing of file is complete, the file is closed. Traditionally organizations keep records of files movement in registers or diaries. Every time a file is marked from one person to another, an entry is made in diary. As the number of files grows, the entries of file movement also increase. The job to maintain diaries becomes more and more difficult as well as cumbersome. In order to track file, the diaries are searched manually which not only waste time but also require extra effort. The situation becomes more complicated incase file is not present at the place where it has been mentioned in the diary. File Tracking System (FTS) is a software product that computerizes the process of file processing and tracking within an organization. It has been developed to solve problems like file lost, processing delays and other issues related to file movement within an organization. It allows an individual to create files, mark files to others and to track the required file from his desk securely and quickly.
d o c s i t y . c o m
2
1.2 Scope FTS provides an intranet based solution for file management. It can be used for controlling entire files record system of an organization. FTS is independent software i.e. it is not a part of some larger system and does not require integration to other existing systems. The Relational Database Management System (RDBMS) holds all record relevant to files and their movements. Software interfaces help user interaction with RDBMS. The product is fully operational and can be implemented in an organization. This Thesis presents complete design and implementation details of the software product. It also states possible enhancements in the system.
1.3 Product Perspective FTS is completely analogous with the traditional file processing system. Difference is that instead of maintaining hard copies of files and records, their soft copy is maintained in RDBMS. All file processing procedure has been computerized. According to the survey conducted by authors for competitive products, a number of products are available for sharing files e.g. Microsoft Windows Share Point [7] is an integrated portfolio of collaboration and communication services designed to connect people, information, processes, and systems both within and beyond the organizational firewall. A comparison of FTS with such products has been made. The similarities are listed below: a. An intranet based application. b. The database stores information related to files e.g. name, size, extension etc. c. Files can be searched by their names. d. Files can be accessed using desktop PC connected to LAN. The main differences are listed below: a. FTS is accessible within an organization. b. The main purpose of FTS is to facilitate file processing and management not files sharing.
d o c s i t y . c o m
3 c. Except notices, a file will be present at only one location at a time i.e. at a time only one employee can have access to a file. d. FTS provides restricted access to file. e. Users can communicate and collaborate with other colleagues by sending reminders and requests. f.
Alerts are generated whenever file is marked to an employee.
1.4 Product Functions The main functions of this software product are listed below: a. User authentication: The product provides facility of user authentication by verifying id and password before giving user the access to the system. b. File creation: The Product provides facility to create new files. c. File transfer: File transfer means moving file from one user to another. The product provides file transfer feature. The term marking a file has same meaning as transferring a file. d. File tracking: The product allows facility to track the location of file. It also provides information like file status and currently responsible person. Here the term currently responsible person refers the user by whom file is being currently processed. e. Reminders: Reminder means the message sent to notify currently responsible to process file as soon as possible. f.
Alerts: The purpose of alert facility is to inform user that he/she has received a
file for processing. Alerts are generated by system. g. File reactivation: The product provides ability to reactivate a file. When file processing is complete, it is closed. File reactivation means to start processing on such files again. h. File request: The product facilitate user to request a file. File request can be made by user who wants to view or process file but that particular file is being processed by someone else. i.
File update: File contents cannot be updated but comments can be appended with
the file.
d o c s i t y . c o m
4 j.
Reference document attachment: The product allows attaching reference
documents with file. Documents with extension .pdf, .doc and images can be attached with a file. k. File history: The product provides facility to view history of file processing i.e. during the lifetime of a file, it has been processed by whom and when. l.
Closing a file: The product allow user to close a file if it has been processed
completely and requires no further processing. m. Personal register: The history of user i.e. which files he/she processed or created is maintained in personal register. n. Administration rights: User having administrative rights can add, delete and modify
information
related
to
departments
present
in
organization
or
organization’s members.
1.5 FTS Users The users of FTS are the members of organization using FTS. Three types of users can be differentiated on the basis of technical expe rtise and access rights. They are: a. Employees: Employees mean workers of an organization. They are main user of FTS. b. Head: There can be two types of Head i.e. Head of department and Head of Organization. Head of organization will have more rights as compared to Head of department and Head of department will have more rights as compared to employees. c. Administrator: Administrator will be responsible for setting access permissions and editing information related to employees and departments in the organization.
d o c s i t y . c o m
5
Chapter 2 FTS Requirements Specification The functional and non functional requirements of File Tracking System have been discussed in this Chapter. The Chapter also provides an insight on the constraints, assumptions and dependencies of the system.
2.1 Functional Requirements Functional requirements are associated with specific functions, tasks or behaviors that must be supported by system. The specific requirements listed below provide detailed information about each functional requirement of File Tracking System.
2.1.1 Sign In The purpose of sign in functionality is to allow only authenticated users to access FTS. A unique id and password is assigned to each user. Every time user wants to access FTS, he/she has to enter his/her id and password. User id and password must be verified from the database server.
Figure 2-1: Id and password verification
d o c s i t y . c o m
6
2.1.2 Create File The user can create new files in FTS. In order to create file, user must specify following information: a. File name b. File type c. File category d. Subject e. Name of organization member to whom file is to be marked f.
Text
g. Reference document (if any) The system will assign unique file id to each file. File type can be top secret, confidential or public. File category can be normal or notice. The use case diagram to create new file has been shown below:
Figure 2-2: Create file use case diagram
2.1.3 Mark File Whenever user creates a file, he has to specify the person(s) responsible for processing of file. The responsible person can send that file to other person for further processing. So marking a file means to send file to the person who is responsible for processing the file. In order to create a file, user must specify the name of person responsible for processing of file. If file category is normal, it can be marked to only one person at a time. But incase the file category is set to notice; it can be marked to more than one persons at a time.
d o c s i t y . c o m
7
2.1.4 Add Comments Original contents of file and previously added comments can’t be changed but new comments can be added in a file. Comments specify the action to be taken or personal opinion. Only the person responsible for proce ssing of file can add comments in a file.
2.1.5 Close File File can be closed after its processing has been completed. The status of file indicates whether file has been closed for processing or not. When a file has been closed, no comments can be added further until file is reactivated.
2.1.6 Attach Reference Document The file creator and/or currently responsible person can attach reference document with file. The purpose of these attachments is to enable user to send useful, important and relevant material with file.
2.1.7 Track File File Processing can be traced by the creator of file or any person who has been responsible for the processing of file. The location of file can be traced using the file id, name or creator’s name. The use case diagram is shown below:
Figure 2-3: Track file use case diagram
The file can be tracked in following ways: a. Using File id b. Using File name
d o c s i t y . c o m
8
2.1.8 View History User must be able to view history of file processing i.e. who has processed the file and when. File History can be viewed by using file id or File name. History includes information related to file id, sender id, receiver id, comments and date and time.
2.1.9 Generate and View Alerts The system will generate file alerts when a file will be marked. Currently responsible person will receive these alerts. This functionality is important because the responsible person must have information that he has received a new file for processing. Otherwise, it will depend on him when he opens the interface of system and check the files he is responsible for.
2.1.10 View File User must be able to view file. Information about the file name, type, category, subject, text and previous comments are shown. The view file functionality helps enables user to view file even if he/she don’t want to enter comments or mark it further.
2.1.11 Sign Out The user must be able to sign out. The session ends when a user signs out. All information stored in session is also cleared. Incase user remains inactive for more than thirty minutes, the session is cleared. The sign out functionality is important from security point of view. Incase user shares a computer, user will be able to prevent anyone else from using FTS from his id.
2.1.12 Send Reminder Reminder can be sent to currently responsible person by the file creator or previously responsible persons or by Head. The current responsible person will receive a message in which it will be mentioned that who has sent this reminder and for which file he has received that reminder. Sender can also send message with the reminder.
d o c s i t y . c o m
9
2.1.13 Reactivate File Only closed files can be reactivated by Head. The use case diagram is shown below:
Figure 2-4: Reactivate file use case diagram
Other employees can send request of file reactivation to Head of Department and/or Organization. File will be reactivated only in the case the Head approves the request.
2.1.14 Request File There can be two types of file requests; simple file request and file reactivation request. Only Head of Department/Organization will be able to request a file. The current responsible person on receiving request will mark file to Head. Head can request a file if he/she wants to view file. Employees can send file reactivation request. Head is responsible to approve or deny request.
2.1.15 View Personal Register The user must be able to view the files initiated by him/her or the files for which he/she has been responsible. The purpose of this functionality is to facilitate user in remembering file ids and file names.
2.1.16 Edit Database Information Administrator can edit information related to an employee, can create new departments and edit information related to existing departments. So the database can be accessed using software interface of FTS. No one is allowed to access database directly. Only administrator can edit database information using FTS interfaces.
d o c s i t y . c o m
10
2.2 Software System Attributes The non-functional attributes of the system are described below: a. Reliability: The system is reliable i.e. incase the server crashes, it can be recovered within an hour. b. Availability: The system will be available to all users depending on the working hours of employees of an organization. The working hours can be 9:00 a.m. to 6:00 p.m. or 4:00 p.m. c. Security: Security is very much important in FTS because the system is shared among many users simultaneously. The system provides id and password authentication to prevent illegal access. Moreover, only currently responsible person is able to view file and process file. d. Maintainability: The FTS has been designed in such a way that it can be maintained easily in future. e. Usability: User interface have been designed simple enough that the organization members can use it without having any difficulty. f.
Scalability: The system has been designed in a way that it can be extended in
future. In other words, different organizations can use it without redesigning it from scratch. Code has been commented so that programmers other than the author can understand and enhance system. g. Cost Effective: As system is client independent and is installed at server only therefore it saves cost of installation on all clients machine. Moreover, the RDBMS used is My-SQL, which is open source software.
2.3 Logical Database Requirements The database requirements are given below: a. The basic information stored in the system’s database will be in the form of tables. b. The RDBMS is the backbone of FTS; therefore it will be used frequently with the running system.
d o c s i t y . c o m
11 c. The RDSMS will be shared among distributed users. More than one user can access system concurrently. All access to the database will be possible through system interface.
2.4 Constraints The followings constrains are present in this System: a. When a file will be closed for processing, it will not be deleted from database. b. New files can be created. Once a file has been created, its original contents can’t be modified but comments can be added in it and reference documents can be attached with it. c. Once a file has been created in database, it can’t be deleted. d. Only currently responsible person can add comments to the file. e. Only Head of department/organization can reactivate file. f.
Restricted file access.
g. No two files can have same name. h. At a time, one file can be marked to only one person except file of category Notice. i.
Images or files having extension .txt, .pdf, .doc can be attached as a reference document.
2.5 Assumptions and Dependencies The assumptions and dependencies for this system are: a. Server based and Client independent Software: The software is install only on server i.e. there is no need to install it on each client machine. b. Intranet based Solution: The software will provide an intranet based solution i.e. the organization must have Local Area Network to which all client machines must be connected. c. Computer Skills: Users of the software should have basic knowledge related to computers and Internet.
d o c s i t y . c o m
12
Chapter 3 FTS Project Plan Software Project Planning is one of the initial phases during project development. It plays vital role in software development because it assures that the software product will be delivered in time. In this Chapter details about the FTS project life cycle, calculation of estimated development time and effort and the project schedule have been provided.
3.1 Project Life Cycle The Incremental Model has been selected as the project life cycle. The main essence of incremental model is known as builds. A build can be further divides into modules. Each module provides specific functionality. When a build is completely designed, implemented and integrated in software, the progress is made towards next build. One or more builds may overlap. Incremental model has following characteristics which are the foremost strength of this model [11]: a. Portion of product becomes operational within weeks. b. Change and adaptation are natural to incremental model. c. Phased delivery requires no large capital outlay; rapid return on investment. First Requirement Specification Phase has been performed. After that Architecture Design Phase representing system’s higher level design, has been completed. As incremental model is being followed, so the software product has been divided into five major builds as shown in Figure 3-1: FTS incremental model. The design, implementation and integration phases have been carried out in each build. The builds have been further divided into tasks. Each task represents functionality. The low level design, implementation, integration and testing of all functionalities have been carried out one by one. The five main builds are listed below: a. FTS Database Build b. File Initiation Build c. File Processing Build d. File Security Build The first two phases of project life cycle and five builds have been explained in Chapter 4, Chapter 5, Chapter 6, Chapter 7, Chapter 8 and Chapter 9.
d o c s i t y . c o m
13
Figure 3-1: FTS incremental model
3.2 Project Effort and Time Estimation From the function point calculation given in Table 2.1, the estimates of inputs, outputs, inquiries, files and external interfaces for File Tracking System have been made. For the purposes of these estimates, the complexity weighting factor is assumed to be optimistic, likely, pessimistic and average. The input fields in the approximate six user-interfaces
d o c s i t y . c o m
14 (i.e. Login, Create file, Track, History, Add Comments, Alerts and Reminder) in the product are calculated as follows:Inputs:
a. User Id b. Password c. File Name d. File Path e. Subject of File f.
Date and Time
g. Name of employ/staff member, file to be marked h. Reference File Attachment Output:
a. User authentication b. File Id c. Sender Name d. Error e. Alert f.
Reminder
g. Status Inquires:
a. Request for create new file b. Request for Store a file c. Request for Attach a document/reference d. Request for add comments e. Request for reactivation f.
Request a processed file
g. Request for history of file Files:
DBMS (More then 1 file in it i.e. .mdf, .ndf, .ldf extension files in it)
d o c s i t y . c o m
15 Each of the complexity factors is estimated and the complexity adjustment factor is computed by answering the questions listed in Table 2.2. Each question is answered using a scale that ranges from 0 (not important/ not applicable) to 5 (absolutely essential). Table 3-1: Estimation of information domain values Optimistic
Likely
Pessimistic
Estimated Cost
Weight
Function Point Count
Number of Inputs
10
13
15
13
4
52
Number of Outputs
8
9
11
10
5
50
Number of Inquiries
8
9
11
10
5
50
Number of Files
3
4
6
4
10
40
-
-
-
-
7
-
Number of External Interfaces
Total Count
192
F.Pest = Total Count × [0.65 + 0.01 × Summation (value)] F.Pest = 192 × [0.65 + 0.01 ×50] F.Pest = 221 Lets assume Avg. Productivity = 6.5 (F.P/pm) Effort in Person Month = F.Pest / Avg. Productivity Effort in Person Month = 221 / 6.5 Effort in Person Month = 34 Since there are two persons in the project team, therefore months required to complete project are: Required Months = 34/2 = 17 months
d o c s i t y . c o m
16
Table 3-2: Calculation of complexity adjustment factor Factor
Value
Backup and Recovery
4
Data Communication
3
Distributed Processing
2
Performance Critical
4
Existing Operating Environment
3
On-Line Data Entry
4
Input Transaction over Multiple Screens
5
Master Files updated Online
3
Information Domain Values Complex
3
Internal processing complex
4
Code Designed for Reuse
3
Conversion/Installation in Design
3
Multiple Installations
4
Applications Designed for Reuse
5
Summation (value)
50
3.3 Project Resources A number of software, tools, and other resources were required to build the software product. These resources had been used to design and implement the software product. The lists have been below: a. .NET Framework v1.1 b. My SQL (DBMS) v5.0 c. IIS (Internet Information Services) v5.1 d. MS Project e. Charismatic FP
d o c s i t y . c o m
17 f.
Rational Rose Enterprise Edition
g. MS Visio h. Axiom Sys/ERWIN i.
LAN The .Net Framework has been used to implement interfaces. The code behind of
all interfaces has been written in VB.NET. ASP.NeT and JavaScript have been used to implement the interfaces. Charismatic FP has been used to calculate function points. The project time line has been designed in MS Visio. Axiom, Erwin and Rational Rose Enterprise Edition have been used to design use case diagrams and flow charts. IIS has been used to provide web service. In order to deploy system, following tools must be installed at server end: .NET Framework v1.1 My SQL (DBMS) IIS (Internet Information Services) LAN Following resources are required in order to d eploy system: At least 64 MB RAM at client machine At least 256 MB RAM at Server At least 18,152K secondary storage required at client machine At least 10 GB secondary storage required at Server
3.4 Project Schedule The software project plan has been represented by Gantt chart. The Gantt chart shows the activities, the required duration, start time and finish time. It also illustrates the overlapping activities. The Integration and Testing has been carried out throughout the implementation of the project. The project has been started from March 2006. The deadline to complete project was July 2007. The project time line for File Tracking System is replicated on next page.
d o c s i t y . c o m
18
Figure 3-2: FTS time line
d o c s i t y . c o m
19
Chapter 4 FTS Architectural Design The architectural design for software reveals the overall layout of the system. In this chapter, the architecture of file tracking system, dataflow diagrams and architectural diagram have been presented.
4.1 System Architecture File Tracking System relies on a three tiered architecture. In three tier architecture, the user interface, functional process logic, data storage and data access are developed and maintained independently on a separate platform. The user interface runs on workstation, functional process logic runs on a workstation or an application server. The DBMS contains data storage logic. The 3-Tier architecture consists of following three tiers. a. Presentation Tier b. Application Tier/Logic Tier/Business Logic Tier c. Data Tier The top-most layer is Presentation Tier and it consists of user interfaces. The purpose of second tier i.e. Logic Tier is to handle movement and processing of data between the two surrounding tiers. The last tier i.e. Data Tier consists of database and deals with storage and retrieval of data. The advantage of using three tiered architecture is that if system requirements or technology changes, any tier can be upgraded or replaced independently. In File Tracking System, Presentation Tier includes workstations, which will be used for user interaction with the system. The Application Tier consists of FTS (File Tracking System) Server. The server will provide communicational information and services. The Data Tier comprises of Database Management System (DBMS).
The
DBMS not only have data management capabilities but it also stores the information. The workstations will be connected to FTS Server via LAN (Local Area Network). The
d o c s i t y . c o m
20 DBMS will be connected directly to FTS Server. The Three Tier Architecture for File Tracking System has been shown below:
Figure 4-1: FTS three tier architecture
4.2 Dataflow Diagram Data flow diagrams determine requirements of environment by capturing data in simple steps. They show flow of data through organization i.e. from where data originates, where it is directed and where it is processed and stored. Following three data flow diagrams have been drawn for File Tracking System: a. Context Diagram b. Diagram 0 c. Detailed Diagram
4.2.1 Context Diagram The context diagram shows system interactions with external entities. Figure 4- 2 shows context diagram for File Tracking System. The main system has been shown in a bubble and it has been named as File Tracking System. Two external entities have been shown i.e. Head and Employee. Head is also an employee but with extra privileges. The arrows show interaction among the system and external entities.
d o c s i t y . c o m
21
Figure 4-2: FTS context diagram
4.2.2 Diagram 0 Diagram shows system major processes along with external entities, data stores, and data flows. The Diagram 0 for File Tracking System has been shown below:
Figure 4-3: FTS diagram 0
The major processes in File Tracking System are: a. Login b. Process File c. Mark File
d o c s i t y . c o m
22 d. Track File e. Reactivate File Login Process involves User Id and Password Verification. The User can be an employee or Head of an organization. Process File deals with file processing. Mark File handles file movement. Track File is responsible for locating file location. Reactivate File includes processing required in order to reactivate file.
4.2.3 Detailed Diagram The Process File Bubble can be further exploded into two main processes i.e. Add Comments and Attach Reference Doc as shown in Figure 4- 4
Figure 4-4: Process file detail diagram
4.3 FTS Architecture Diagram The Call and Return architectural style has been selected to show the architecture of File Tracking System. The reason for selecting Call and Return architectural style is that the architecture can be modified or scaled easily in future. The FTS Architectural Diagram for has been in Figure 4-5: FTS architecture diagram.
d o c s i t y . c o m
23
Figure 4-5: FTS architecture diagram
FTS Executive is the main controller module that invokes a number of program components which may invoke other components as well. The main program components under the control of FTS Executive have been listed as follows: a. File Initiation Controller b. File Processing Controller c. File Tracking Controller d. Security Controller All these modules interact by calling other modules. The called module itself returns the required information.
d o c s i t y . c o m
24
Chapter 5 FTS Database Build In this Chapter, design and implementation of FTS database have been discussed in detail. First entities and relationships in the entity relationship diagram have been discussed. After that, relational schema, normalization and database implementation have been described.
5.1 Entities The term entity refers to a person, place, event, object, or concept that exists in real world and is distinguishable from others [3]. The entities and their attributes identified in FTS have been described as follows: Department: The attributes are Dept_ID, Dept_Name, Status and Office. Dept_ID is
primary key. We are assuming that each department has a unique ID and that each department has one Office. The status provides information that whether the department exists or not.
Figure 5-1: Department entity Employee: The attributes are Emp_ID, Emp_Fname, Emp_Lname, Designation, Status,
Rank, Email_address, Office_Ph and Home_Ph. The Emp_ID is primary key. Designation tells whether he/she is a junior engineer (JE), senior engineer (SE) or principal technical officer (PTO) etc and Rank determines grades e.g. 17, 18 or 19 etc. Each employee has unique ID and each employee belong to a particular department. Status informs whether
d o c s i t y . c o m
25
Figure 5-2: Employee entity File: The attributes are File_ID, File_Name, File_Category, File_Type, Subject, Status,
and Text. The primary key is File_ID. Each file has a unique id and name.
Figure 5-3: File entity Reference Attachment: The attributes are Ref_ID, Ref_Text, Ref_Name, Type and Size.
Each reference document has a unique id. Type provides information about the extension of reference attachment. Ref_ID is primary key.
d o c s i t y . c o m
26
Figure 5-4: Reference attachment entity
5.2 Relationships Relationship is a connection or interaction between the entity instances [3]. The relationship sets identified in FTS are: Dept_Emp: This is a one-to-many relationship that connects employees to their
departments. A department can have more than one employee.
Figure 5-5: Department Employee relationship
Head: This is a recursive relationship that connects with employee itself. Each
department has a unique head and he/she can be recognized from designation.
Figure 5-6: Head relationship
Create: This is a one-to-many relationship that connects employees to file. We are
assuming that one employee can create many files.
Figure 5-7: Create relationship
d o c s i t y . c o m
27 Mark: This is many-to-many tetra relationship that connects employees to file and
reference attachment document. A file is marked by many employees at various time instants and an employee marks more than one file at a time. Employees can attach many reference documents to a file that is ready to mark another employee.
Figure 5-8: Mark relationship Message: This is a many to many relationship. It is relationship between Employee and
File. The relationship has been shown below.
Figure 5-9: Message relationship
d o c s i t y . c o m
28
5.3 FTS ERD The complete E-R diagram for FTS has been shown below:
Figure 5-10: FTS ERD
d o c s i t y . c o m
29
5.4 Relational Schema The Relational schema is derived from ERD. The entities in ERD become relations which will be represented as tables in database. The table name comes from entity name. The relationships in ERD are translated into tables directly [3]. Entities:
Department (Dept_ID, Dept_Name, Office, Status) Employee (Emp_ID, Emp_Fname, Emp_Lname, Designation, Rank, Status, Dept_ID) File (File_ID, File_Name, File_Category, File_Type, Subject, Status, Text) Reference_Attachment (Ref_ID, Ref_Text, Ref_Name, Type, Size) Relationships:
Mark (File_ID, Sender_ID, Ref_ID, Date, Time, Receive r_ID, Comments,Open) Message (File_ID, Sender_ID, Date, Time, Receiver_ID, Mesg_Txt, Type) Where Receiver_ID is the descriptive attribute that is inherits from Emp_ID that comes from Employee entity as a foreign key. As Create, Dept_Emp are the one-to-many relationships so we can’t create separate their tables but Dept_ID comes in the Employee entity as a foreign key. Underline attributes show primary key of entities and relationships.
5.5 Normalization Normalization is a process of identifying inconsistent, contradictory and incomplete state of database. In other words, it is a way to verify the database design. By following the principles of normalization, a highly flexible design has been achieved. FTS relational schema has been normalized till fourth normal form. Normalizing relational schema till th
4 Normal form is sufficient because it guarantee that database will not face insertion, deletion or update anomalies. Step 1: A relation is in first normal form (1NF) if and only if every attribute is single-
value for each tuple [3]. Relational schema of FTS is in 1NF as each cell in a row holds single-value.
d o c s i t y . c o m
30 Step 2: A relation is in second normal form (2NF) if and only if it is in first normal form
and all the non key attributes are fully functionally dependent on the key. In relation R, attribute B of R is fully functional dependent on an attribute or set of attribute A of R if B is functionally dependent on A but not functionally dependent on any proper subset of A. If a relation in 1NF and the key consists of single attribute, the relation is automatically 2NF [3]. Therefore following tables are in 2NF: Department (Dept_ID, Dept_Name, Office, Status) Employee (Emp_ID, Emp_Fname, Emp_Lname, Office_PH, Designation, Rank, Email_Address, Home_PH, Status, Dept_ID) File (File_ID, File_Name, File_Category, File_Type, Subject, Status, Text) Reference_Attachment (Ref_ID, Ref_Text, Ref_Name, Type, Size) Mark (File_ID, Sender_ID, Ref_ID, Date, Time, Receive r_ID, Comments,Open) Message (File_ID, Sender_ID, Date, Time, Receiver_ID, Mesg_Txt, Type) Step 3: A relation is in third normal form (3NF) if it is in second normal form and no
non-key attribute is transitively department on the key. A transitive dependency occurs when one non-key attribute determine another non-key attribute [4]. Following entities and relationships don’t have transitive dependency. Department (Dept_ID, Dept_Name, Office, Status) File (File_ID, File_Name, File_Category, File_Type, Subject, Status, Text) Reference_Attachment (Ref_ID, Ref_Text, Ref_Name, Type, Size) Mark (File_ID, Sender_ID, Ref_ID, Date, Time, Receive r_ID, Comments,Open) Message (File_ID, Sender_ID, Date, Time, Receiver_ID, Mesg_Txt, Type) Transitive dependency exists in Employee entity because from Designation can be known from Rank. Therefore Employee table is further split into two tables’ i.e. Employee and Desig_Rank. Employee (Emp_ID, Emp_Fname, Emp_Lname, Designation, Status, Dept_ID) Desig_Rank (Designation, Rank) Now, there is no transitive condition in above mentioned tables therefore all tables are in 3NF. Rank can be calculated from designation so there is no need to implement Desig_Rank table.
d o c s i t y . c o m
31 Step 4: A relation is in Boyce-Codd normal form (BCNF) if and only if every
determinant is a candidate key [3]. All tables given below are in BCNF and not require further decompose it. Department (Dept_ID, Dept_Name, Office, Status) Employee (Emp_ID, Emp_Fname, Emp_Lname, Designation, Status, Dept_ID) File (File_ID, File_Name, File_Category, File_Type, Subject, Status, Text) Reference_Attachment (Ref_ID, Ref_Text, Ref_Name, Type, Size) Mark (File_ID, Sender_ID, Ref_ID, Date, Time, Receiver_ID, Comments, Open) Message (File_ID, Sender_ID, Date, Time, Receiver_ID, Mesg_Txt, Type)
5.6 Database Implementation The database has been implemented using My-SQL DBMS [4]. In order to write scripts, help has been taken from reference manual [6]. As an example, consider the following script to create department table in database: Use FTS; CREATE TABLE department ( dept_id:varchar(4), PK dept_name:varchar(45) office: char(4) status:varchar(15) All not null ); FTS is the name of database. The script used in My-SQL is slightly different form the script used in SQL server 2000. In order to create attributes, first their names are specified, then after colon their data types are specified. In order to connect My-SQL server with .Net Framework, Connector is required [5]. In order to establish connection with My-SQL, following steps must be followed:
Copy MySqlClient.dll into the bin folder of application directory.
d o c s i t y . c o m
32 Then add its reference to the application. In order to do so, first open the
application in Visual Studio.Net. In the Solution Explorer, Right Click Add references, as shown if figure:
A
new
window
will
be
opened,
Browse
the
directory,
Select
MySql.Data.MySqlClient File and Click Ok. In code behind (.vb) file write following statement to import library:
Imports MySql.Data.MySqlClient The connection string required is:
Private
myCon
=
New
MySqlConnection("server=localhost;port=3307;
user
id=Nausheen; password=mysql_fts;database=FTS; pooling=false;")
d o c s i t y . c o m
33
Chapter 6 File Initiation Build File initiation build includes design and implementation of FTS first main module i.e. File Initiation. The module has been further divided into three functionalities i.e. Create file, Mark file and Attach reference document. In this Chapter, detail design of all these functionalities present in this module, has been provided in the form of pseudo code. The graphical user interfaces (GUI) have been presented as evidence that these sub modules have been implemented as well. Unit Testing has been also presented. Before starting design and implementation of this build, the FTS main interface has been designed. FTS main interface provides access to all other web pages present in the FTS.
Figure 6-1: FTS main page GUI
6.1 Create File Functionality Create file allow user to create new files. In order to create a file, user must specify information like file name, subject, category etc. FTS assigns unique Id to each file. Each file must have a unique name. The purpose of restricting user to enter unique file name is that user will be able to search file using file name.
d o c s i t y . c o m
34 A file has been further divided into two categories i.e. normal or notice. If category normal is selected, file can be marked to one person only. In case notice user selects notice as a file category, file can be marked to more than one person. Pseudo Code
The Pseudo code is given below: If user clicks Create Button Open Connection Execute Command Assign unique file id to file Set status to “In Processing” Save file name Save selected file category Save selected file type Save subject Save text Close Connection End If GUI
Figure 6-2 show Create file GUI.
Figure 6-2: Create file GUI
d o c s i t y . c o m
35 The Create File GUI provides following functionalities: File Name: File can be identified from file id and/or file name. The file name must be
unique. File Category: The dropdown list allows Employee to select the category to which
file belongs i.e. whether file is normal file or notice. File Type: The dropdown list allows employee to select file type i.e. whether file is
public or confidential or private. Department: Allow to select the department present in organization. According to
the selected department, list of employees in the Mark To dropdown list is displayed. Mark To: Allow to select person to whom file is to be marked. Subject: User can enter subject of File. Text: Allow user to enter the text. Check Name Button: As mentioned earlier, file name must be unique. The Button
“Check Name” provides facility to check whether the entered name is unique or not. Create File Button: Creates file in database. Cancel Button: Redirects control to FTS main page Attach Button: Enable user to attach reference document. Send to Multiples: Allow user to send file to more than one person Create File Test Cases
The few test cases for this functionality are given below: Test Case 1: File name
There are few steps involved in this test. a. Enter unique “File name” b. Click at “Check Name” button c. Verify File Name is unique If file name text field is empty then it will display the message to user. Enter File name.
d o c s i t y . c o m
36 If file name text field is not empty then verify file name from the database by matching with the names of already existing files. If it matches, there will be message displayed to the user. This File name is already exists.
Otherwise message displayed to the user is “File name is unique” and this message allow user to mark newly created file to particular employees. Test Case 2: Notice
File having type notice is only allowed to mark more then one employee. To test this test case following steps are involved. a. Chose file category “Notice” b. Click at the “Send to Multiples” link c. Verify it is file type is notice d. Add multiple peoples in new dropdown list from the dropdown list of employees If file type is not notice then there will be message displayed to the user. Notice can only send to multiple people.
Otherwise a new empty dropdown list with an “Add” button to add employees from the “Mark to” dropdown list. If user after adding change file type then dropdown list to send file to more then one employee will be empty and disappear. So if user again change file category as “Notice” and click it “Send to Multiples” link, an empty dropdown list with an “Add” button will appear.
6.2 Mark File Functionality By marking file means transferring file to other person for processing. When a file is marked, it is sent to other person(s) for further processing. The person who marked file is not able to view file or attach reference document or add comments after marking file. When a file is marked first time, no comments ca n be added in the file. Pseudo Code
If user clicks Mark Button Open Connection Execute Command Save File Id, Sender ID, Receiver ID, Current Date & time in Database
d o c s i t y . c o m
37 Set "no comments" in the Comments Field in database Close connection End If
6.3 Attach Reference Document functionality Functionality “Attach Reference Document” allow user to attach reference document along with the file. The functionality enables user to send additional information with the file. The reference document is stored in database in binary form. As a result, image, document or PDF can be attached with a file. User can attach reference document from his/her PC hard disk. In order to implement this functionality, System.IO has been imported in VB code. Pseudo Code
If user selects reference document and clicks Attach Button Get Reference Document path Get Reference Document size If Reference Document size > 0 then Allocate Buffer for reading Reference Document Read contents of Reference Document from the stream and write in Buffer Create Adapter Create and Initialize Command Builder Open Connection and Create New Dataset Populate Dataset with information related to Reference Document and its contents Update Data Source Close connection End If Else Display error message Else Display error message “Select File to be attached” End If
d o c s i t y . c o m
38 GUI
The GUI for attaching reference document has been shown below:
Figure 6-3: Attach reference document GUI
The GUI provides following functionalities: Browse Button: This is an html control called “Input File” and allow user to browse
files present on the hard disk. Upload Button: File is uploaded in database using Upload Button. Attach Reference Document Test Case
This test case involves following steps a. Browse directory to select reference document b. Upload reference document c. Verity reference document size d. Redirect to specific web page If “Upload” button is clicked and reference document path is empty then there will display the message to the user. Select reference document from the data drive.
If document path is given to store it in the database then verify its size. If size is zero then message will be displayed to the user is File can’t upload; File size is equal to zero.
Otherwise a unique attachment ID is allotted to reference document and stored in the binary format in the database.
d o c s i t y . c o m
39
Chapter 7 File Processing Build The Chapter throws light on design, implementation and integration of functionalities like add comments, close file, view file, request file and reactivate file. The FTS second main module i.e. File Processing has been defined completely in this Chapter.
7.1 Add Comments Functionality Once a file is receive for processing, the currently responsible person can add comments in it. Comments specify personal opinion or the action that must be taken. Pseudo Code
The Pseudo code has been given below: If Page loads Open Connection with database Execute Reader Retrieve File Id and Display it Retrieve File Name and Display it Retrieve Subject and Display it Retrieve File Category and Display it Retrieve File Type and Display it Retrieve Date & Time and Display it Retrieve Previous Comments and Display them Close Reader Close Connection End If If Employee enters new comments and clicks Add Comments Button Open Connection with database Execute Command Save File Id, Sender Id, Receiver Id, Date & time, new comments in database Close Reader Close Connection
d o c s i t y . c o m
40 End If GUI
The Add Comments GUI has been shown below:
Figure 7-1: Add comments GUI
7.2 Close File Functionality When a file is close, comments can’t be added until it is reactivated. By closing file means terminate the processing on file. The file status is changed when a file is closed. The closed files are not deleted from database. Pseudo Code
If Employee checks "Close file” check box Open Connection with database Execute Command Set File Status “Closed" in File table in database Close connection
d o c s i t y . c o m
41 End If Close File test Case
This functionality allow user to change the status of file as “Closed”. This test case involves following steps: a. Click at “Add comments and Send” Button b. Verify Closed status is checked c. Verify Sender designation is head of department (HOD) d. Add comments e. Change file status f.
Send File to the responsible person
If “File Closed” checkbox is checked and sender designation is not “HOD” then there will be the message displayed to the sender. You haven’t rights to ‘Close the File’.
Otherwise file status is updated as “Closed” and successfully marked to originator.
7.3 View File Functionality User can view information about file like file id, name, type, category etc. The list of attached reference documents with the particular is also shown. The options to add comments and view attachments are also available to open file. Pseudo Code
If Page loads Open Connection with database and Execute Reader Retrieve File Id and Display it Retrieve File Name and Display it Retrieve Subject and Display it Retrieve File Category and Display it Retrieve File Type and Display it Retrieve Date & Time and Display it Retrieve Previous Comments and Display them Close Reader Close Connection
d o c s i t y . c o m
42 End If GUI
The View File GUI has been shown below:
Figure 7-2: View file GUI View File Test Case
This test case verify following cases, If user hasn’t select the File ID and click at the view file buttons then there will be message displayed to the user. Select File ID if any File ID exists
Otherwise user is directed to “View File” web page. If file status is closed then user can only view file and its comments on its. If user clicked to add comments, there will be message displayed to the user. File status is closed; you can’t add comments at this file.
If file status is not closed then user is redirected to a dd comments web page.
7.4 Request File Functionality Request can be of two types either File Request or Reactivation Request. File Request can be made only by Head. As Head can send File Request therefore he can’t send reactivation request. Other Employees can send reactivation request to Head but they can directly request a file. The difference between request file and reactivation request is that file request means that file must be marked to the requesting person. While reactivation request means that an employee wants to reactivate a closed file. As Head has right to
d o c s i t y . c o m
43 reactivate file so the reactivation request will be sent to Head. The File Request can be sent to employees present in an organization. Request File Pseudo Code
If Employee’s Designation is Head Open Connection with database Execute Command Save selected File Id Save Sender and Receiver Id If there is no text message Set Text field in database equal to "No Message" Else Set Reminder Text field in database to the message written by Employee in textbox End If Set Type field to “File Request” Save Current Date and Time Close Connection Display Message “File Request sent to Current Responsible P erson” Else Display message “You don’t have right to request file” End If Send File Reactivate Request Pseudo Code
If Employee’s Designation is not Head Open Connection with database Execute Command Save selected File Id Save Sender and Receiver Id If there is no text message Set Text field in database equal to "No Message" Else
d o c s i t y . c o m
44 Set Reminder Text field in database to the message written by Employee in textbox End If Set Type field to “Reactivation Request” Save Current Date and Time Close Connection Display Message “Reactivation Request sent to Current Re sponsible Person” Else Display message “You can’t send file reactivation request” End If GUI
Figure 7-3 shows the Request file GUI.
Figure 7-3: Request file GUI Request File Test Case
There are two types of requests that user can do, Request a file and File reactivation request. This test case involves following steps: a. Click a link “File request” or “Reactivation request” b. Verify request eligibility constraint through designation c. Send request to responsible person If user click at the “File request” link and its designation is not “HOD” then there will be message displayed to the user. You don’t have rights to request a file
d o c s i t y . c o m
45 If user designation is “HOD” list of files will be visible to the user to which user can send a file request to currently responsible person. If head of department click at the “Reactivation request” link then the message will be displayed to him. You don’t have rights to request ‘Reactivate file’.
If user is not head of department then list of files having status “Closed” will be visible to the user for which he/she can send a file reactivation request to the head of department.
7.5 Reactivate File Functionality When a file is completely processed, it is closed. But a close file can be reactivated later. Only Head have authority to reactivate closed files. Pseudo Code
If Employee selects a file and clicks Reactivate Button Open Connection with database Execute Reader Update status of file Send Reactivation Request Approval Message Close Connection Else If Employee selects a file and clicks Deny Button Open Connection with database Execute Reader Update status of file Send Reactivation Request Denial Message Close Connection End If GUI
Figure 7-4 shows Reactivate File GUI.
d o c s i t y . c o m
46
Figure 7-4: Reactivate file GUI Reactivate File Test Case
This web page can only view by head of department otherwise the message will be displayed to the user. You don’t have rights to visit ‘Reactivate File’ webpage.
If user designation is “HOD” then user is redirected to “Reactivate File” web page. And user can see reactivation file request messages and whether deny or accept request actions can take place successfully. If user haven’t select the File ID and click at the view request message or deny or reactivate buttons then there will be message displayed to the user. Select File ID if any File ID exists
d o c s i t y . c o m
47
Chapter 8 File Tracking Build The chapter throws light on design and implementation of module File Tracking. The module further consists of track file, view history, send reminder, view personal register and edit database information functionalities.
8.1 Track File Functionality File Processing can be traced using the file Id or file name. The functionality allow user to locate where file is currently being processed. Only one entry is displayed that shows who is processing file at that time. Figure 8-1 shows flow chart for tracking file.
Figure 8-1: Track file flow chart
d o c s i t y . c o m
48 GUI
The GUI has been shown below:
Figure 8-2: Track file GUI Track File Test Case:
File ID or File name is used to track the current location of file. In this test case following steps are involved. a. Enter File ID or File name b. Verify File ID or File name c. Display current location If File ID and File name, both text fields are empty then there will be message displayed to the user. Enter File ID or File name.
If test fields are not empty then verify File ID or File name. If it is not matched then the message displayed to the user will be This File name or File ID is incorrect.
If File name or File ID is matched then current Location of file will be displayed to the user.
8.2 View History Functionality The functionality allow user to view history of file processing i.e. who has processed the file and when. Information related to file id, sender id, receiver id, comments and date and time are displayed. Flowchart is shown below:
d o c s i t y . c o m
49
Figure 8-3: View history flow chart GUI
The GUI for Viewing file history has been shown below:
Figure 8-4: View history GUI View History Test Case:
File ID or File name is used to view the File processing history. In this test case following steps are involved. a. Enter File ID or File name b. Verify File ID or File name c. Display complete File History
d o c s i t y . c o m
50
If File ID and File name, both text fields are empty then there will be message displayed to the user. Enter File ID or File name.
If test fields are not empty then verify File ID or File name. If it is not matched then the message displayed to the user will be This File name or File ID is incorrect.
If File name or File ID is matched then processing history of file will be displayed to the user.
8.3 Send Reminder The purpose of this functionality is to enable employee to remind other employees if they have to process files and they are not doing so. Always currently responsible person will receive reminder. The Reminder can be sent by file owner, previously responsible persons or by Head. The Reminder may or may not include message from the sender. Pseudo Code
Get Current File Location If Employee clicks Send Button and Receiver Id is not equal to Sender Id Open Connection with database Execute Command Save File Id Save Sender and Receiver Id If there is no text message Set Text field in database equal to "No Message" Else Set Text field in database to the message written by Employee in textbox End If Set Type field to “Reminder” Save Current Date and Time Close Connection Display Message “Reminder sent to Current Responsible Person”
d o c s i t y . c o m
51 Else Display message “You can't send reminder to yourself” End If GUI
Employee has to select File Id and Name displayed in a dropdown list. He/She can also write message. Send Button finally sends reminder to the current responsible person. Figure 8-1 shows Send Reminder GUI.
Figure 8-5: Send Reminder GUI Send Reminder Test Case
This test case verifies that user can’t send reminder to itself. If user select file of which he/she is currently responsible, then the message will be displayed to the user. You can’t send reminder to yourself; you are currently responsible to this file
Otherwise, message is successfully send to currently responsible person.
8.4 Generate and View Alert Functionality File alerts are generated whenever a file gets mark. The purpose of this functionality is to inform user that a file has been marked to him/her for processing. The popup window for alert has been generated by using control provided in Eeeksoft Namespace [8]. The EeekSoft Namespace must be imported in the VB code file. Also reference of its dll file
d o c s i t y . c o m
52 must be added to the application’s bin directory after copying that file to the bin directory of application folder. In addition to this following line must be included in the .aspx code. <%@ Register TagPrefix="cc1" Namespace="EeekSoft.Web" Assembly="EeekSoft.Web.PopupWin" %>
The advantage of using this namespace is that it provides facility of using popup window as control like html control and web controls. Moreover, its attributes like color, position, visible, action etc. can be also defined easily. The code to generate the alert, show count of alerts received and certain other actions was written in order to use this control in this software. Pseudo Code to Generate Alert
Create and Initialize Command Builder Create and Initialize Reader Create Counter and Initialize it with zero Open Connection with database Execute Reader While Reader reads from database Counter = Counter + 1 Loop Close Reader Close Connection Set popup window Action Type as Open Link and Set the Path Link Set popup window Title Set popup window Message to display the numbers of alerts received Set popup window Hide After property to 10000 Set popup window property visible as true Pseudo Code to View Received Alerts
If Page is not posted back then Clear List Create and Initialize Command Builder Open Connection with database Create and Initialize Reader Do While Reader Reads
d o c s i t y . c o m
53 Create item of type Radio Button List Assign File Id as read by Reader Add item to list Loop Close Reader Get Dataset Bind Dataset End If GUI
The GUI showing the Alert pop up window has been shown below:
Figure 8-6: Alert pop up window
Figure 8-7: Received alerts GUI
8.5 View Personal Register The Personal Register lists down all files that have been created or ever processed by an Employee. The sole purpose of this functionality is to help employee in remembering the File Ids and File Names. Pseudo Code
When Page loads Create Dataset Open Connection
d o c s i t y . c o m
54 Create and initialize Command Create Adapter Fill Dataset from File table and Mark table on the basis on Employee Id Bind Data Grid with Dataset GUI
The GUI for Personal Register has been shown below:
Figure 8-8: View personal register GUI
d o c s i t y . c o m
55
Chapter 9 FTS Security Build The Chapter explains security module in detail. The module consists of Sign In, Sign Out and Edit Database information functionalities. The module is named as security because all three functionalities are important from security point of view. Functionality sign in and sign out prevent illegal access to system information while editing functionality controls direct interaction with the database.
9.1 Sign In Functionality Each Employee of an organization using File Tracking System will have unique id and password. Every time employee wants to signs in FTS, he/she has to enter the id and password. Only employee who has entered correct employee id and password is able to view FTS main page. Access is denied incase employee id or password or both are invalid. Every time id and password is verified from the database server. Pseudo Code
The Pseudo code is given below: Open Connection Execute Reader Compare Id and Password entered by user with the one present in database If Password match Redirect control to "Home Pa ge" Else Display error message "Incorrect Employee Id or Password" End If Close the Reader and Close Connection GUI
The Sign in GUI has been shown in Figure 9-1: Sign In GUI.
Figure 9-1: Sign In GUI
d o c s i t y . c o m
56 The GUI has the following functionalities: a. Login Button: Allows employee to access system after verifying Employee Id and Password. b. Close Window Button: Closes the User Authentication Browser. c. Employee Id Textbox: Employee enters his/her Id in this textbox. Password Field: Employee enters his/her Password. Unit Testing
It is used to verify the Employee ID and Password. The following steps are involved in the testing. a. Enter Employee ID b. Enter Password c. Verifying Employee ID and Password d. Redirect to “Home Page” If Employee ID or Password not entered or does not match the message “Incorrect Employee ID or Password” will be displayed to the user. If Employee ID and Password
matched then user is redirected to “Home Page” and store the Employee ID in the session state for accessing the Employee ID in specific pages.
9.2 Sign Out Functionality The Sign out functionality is present on all web pages except the User Authentication web page. It allows Employee to end session. Pseudo Code
If Employee clicks Sign out button Clear Session Redirect control to User Authentication Page End If
9.3 Edit Database Information User having administrative rights can edit information related to department or an employee. He can create new departments as well. The FTS main page for displays extra options when an administrator signs in.
d o c s i t y . c o m
57 Create new department Pseudo Code
If Dept. Id = "" Or Dept. Name = "" Or Dept. Office = "" Then Display message “Enter values in empty text fields" Else If Office number already exists in database then Display message “Allot another office" Else Open Connection with database Execute Command Insert Dept. Id, Dept. Name, Dept. Office and Status in Department’s Table Close Connection Display message "New Department has been created successfully." End If Edit information related to a Department Pseudo Code
Get and Fill Departments list Get data of selected Department If Employee clicks Update Button Open Connection with database Execute Command Update information in Department Table Close Connection Else If Employee clicks Change Status Button Open Connection with database Execute Command Update status to “Not Exists” Close Connection Edit information related to an Employee Pseudo Code
If Employee clicks Create New Button/ Update Button If Employee id= "" or employee Name = "" or Designation= "" or Password = "" or Department’s id = "" Then Display Message “Enter values in mandatory text fields highlighted by (*)" Else If Department’s id = "" Then
d o c s i t y . c o m
58 Display Message “Enter Correct Department ID." Else Open Connection with database Execute Command Insert/Update information in Employee Table in database Display Message “New Employee Record is inserted succe ssfully” Close Connection End If GUI
Figure 9-2: Edit employee information GUI
Figure 9-3: Create new department GUI
d o c s i t y . c o m
59
Figure 9-4: Edit department information GUI Create New Department Test Case
This web page is only visible to the administrator. This test case involves following steps: a. Enter Department Name, ID, and Office b. Verify entered data c. Saved in the database If any of text field is empty, message will be displayed to the administrator. Enter values in the empty text fields.
Department ID should be unique otherwise the message will be displayed to the administrator. Department ID already exist
Two departments can’t have same office otherwise message will be displayed to the administrator. This office no. is already allotted to specific department. Edit Department Info Test Case
This web page is also only visible to administrator. Administrator can change the office no. allotted to specific department. Two departments can’t have same office otherwise message will be displayed to the administrator. This office no. is already allotted to specific department.
Administrator can also change the status of department “Not Exist”. Department status can any change if no employee belong to that department otherwise message will be displayed to the administrator. N employees belong to this department, so status of department can’t change
d o c s i t y . c o m
60 Where N denotes the no. of employees belong to specific department. If N=0 then department status will be changed successfully and disappear to the List of existing departments. Edit Employee Info Test Case
In this test case following steps involves. a. Select employee from drop down list b. Employee Info will displayed c. Update data d. Verify Employee ID, First name, Designation, Password and Department ID to which he/she belong If there is no employee in the department message will be displayed to the administrator. There is no employee in this department.
If administrator wants to add new employee, then data should be entered by the administrator in the mandatory text fields i.e. Employee ID, First name, Designation, Password and Department ID otherwise message will be displayed to the administrator. Enter values in mandatory text fields high light by (*).
If employee update the employee info then the employee ID can’t update, otherwise message will be displayed. Selected Employee ID can't change but Remaining Info is Updated.
Administrator can also change the status of employee “Not Exist”. After change the status employee info will be disappear from the existing employee list. If administrator wants to change the department ID for a specific employee, then verify department ID already exists otherwise message will be displayed. Enter Correct Department ID.
Otherwise employee info will successfully update.
d o c s i t y . c o m
61
Chapter 10 System Testing System Testing consists of series of different tests performed to verify that the system elements have been integrated properly and are functioning correctly. System testing is crucial in order to guarantee system reliability. System testing is a higher level testing and its sole purpose is to deliver quality product. System testing can be further divided into Performance testing, Stress testing, Security testing and Recovery testing [11]. The Chapter provides details about these system testing techniques and the test cases that have performed in order to ensure the quality and reliability of system. The tools that have been used to conduct test cases also have been mentioned in this Chapter.
10.1 Performance Testing The purpose of performance testing is to analyze the run-time performance of system [11]. The system performance can be measured with the help of different tools that simulate the heavy load. The Application Center Test (ACT) that is present by default in VB .NET is an example of such a tool. FTS performance tests have been performed by using ACT.
10.1.1 Graphs Generated by ACT for FTS This test has been performed by increasing the number of users, which can interact with FTS simultaneously. Results from different test reports are superimposed on a single graph, making it possible to view the changes in performance of FTS. Five reports have been generated using 5, 10, 15, 20 and 2 5 simultaneous browser connections. a) Graph-1: Connection versus Request per Second
This graph is useful, when trying to determine the maximum number of requests per second that can be handled by web server at a time. On X-axis, numbers of connections have been shown while on Y-axis Requests per second have been shown. As shown in Figure: 10-1, the graph is going upward which indicates that on increasing connections, the number of requests that can be entertained is also increasing without making the system crash.
d o c s i t y . c o m
62
Figure 10-1: Connection vs. requests per second b) Graph-2: Connection versus Time to Serve the Last Byte(TTLB)
This graph is useful, when trying to determine how much performance decreases when the number of simultaneous connections increases.
Figure 10-2: Connections vs. TTLB
d o c s i t y . c o m
63
10.1.2 Tests Report Generated by ACT for FTS Tests report provides some of the performance data of the test run, such as requests per second that the web server was able to handle, as well as the duration of the test and the total number of requests sent. Table 10-1: Performance tests report
d o c s i t y . c o m
64
10.2 Stress Testing In stress testing, the tester tries to devastate the system. Different tests are designed that requires resources in abnormal quantity, frequency, or volume in order to execute. Stress testing can be performed by increasing interrupts per second or increasing input data rates or maximizing usage of memory and other resources in such a way that leads to memory management problems [11].
10.3 Security Testing Security testing confirms that system is not vulnerable for improper penetration or illegal access. In order to perform security testing, test cases are designed in which tester try to acquire password by using a software or technique. The system must be secured enough to guarantee that penetration cost is more than the value of information that will be acquired [11].
10.4 Recovery Testing Recovery testing is performed to ensure that in case failure occurs in the system, it will be recovered within a pre specified time. Different test cases are designed that force system to fail in variety of ways. System can be recovered in two ways i.e. automatic recovery or manual recovery. In case system recovers automatically, tests are performed to analyze parameters like recovery time, re initialization, amount of data recovered etc. If recovery is manual, tests are performed to determine acceptable limits which are calculated from mean time to repair (MTTR).
d o c s i t y . c o m
65
Chapter 11 Conclusion The design and implementation of File Tracking System had been a challenging and exigent task. But eventually day and night effort and hard work have resulted in fully functional software product named as File Tracking System.
11.1FTS Navigation Map The FTS Navigation Map has been shown below: Login
HomePage
Create File
Track File
View History
Add Attachment
SignOut
View Alerts & Reminders
Reactivate Fi File
Personal Re Register
Current Location
Add Comments
View File
View Attachment
View Attachment
Related Pages
SignOut
Figure 11-1: FTS navigation map
In the figure shown above, the main web page is named as Home Page. Other web pages are Login (Sign In), Create File, Track File, View Alerts and Reminders, Reactivate File, Personal Register, Add Attachment, Add Comments, View File and View Attachment.
d o c s i t y . c o m
66 “View History” and “Current Location” are components of web page “Track File”. “View Attachment” is the component of “View File” web page. Sign Out is the component of all web pages shown in figure except the login page. Component represents a functionality for which separate web page is not being implemented. The lines show the possible navigation paths from one web page to another.
11.2 Application File Tracking System has applications in organizations which rely on files for all official activities especially government organizations where files are moved and processed on a large scale. It can be used in educational institutes, hospitals, and private as well as government offices. File Tracking System can be implemented in PIEAS. It can be helpful in speeding up the processes in Accounts and Procurement departments. Only restriction is that organization must have LAN (Local Area Network) in order to use this software product. The user interfaces have been designed in a way that it does not require to be a computer expert in order to use this software product. File Tracking System not only provides benefit of time saving but also provides solution to the problems faced in traditional system like file lost. In short File Tracking System is a worthwhile software product. File Tracking System can be implemented in different organizations after slight changes. In that case there will be no need to design and implement the whole system.
11.3 Future Recommendations File Tracking System provides almost all essential functionalities which may be required by an organization orga nization but bu t still there is room for future enhancements. enha ncements. Improvements can be made in User Interfaces. Different encryption techniques may be introduced. Digital Signatures may be used while marking file. More advance options can be introduction of formatting tool for sending requests. Printing facility may also be included. Another difficult enhancement may be that employees will be able to receive alerts on mobile phone.
d o c s i t y . c o m
67
References [1]
Microsoft Share Point [Online] Available: http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx
[2]
Matthew MacDonald, The Complete Reference ASP.NET , McGraw-Hill/Osborne: California, USA, 2002
[3]
Catherine Ricardo, Database Systems Principles, Design, and Implementation, Maxwell Macmillan: Iona College, New Rochelle, New York, p.59, p.148, p.209, p.223.
[4]
MySQL 5.0 – [Online] Available: http://dev.mysql.com/downloads/mysql/5.0.html
[5]
MySQL Connector/Net 1.0 – [Online] Available: http://dev.mysql.com/downloads/connector/net/1.0.html
[6]
MySQL Documentation – [Online] Available: http://dev.mysql.com/doc/
[7]
Ivan Bay Ross, Web Enabled Commercial Application Development Using HTML, DHTML, JavaScript, Perl Pe rl CGI , 2nd Revised Edition, BPB Publications, 2000: New
Delhi [8]
ASP.Net Popup Control – [Online] Available: http://www.codeproject.com/aspnet/asppopup.asp
[9]
Multi Tier Architecture – [Online] Available: http://en.wikipedia.org/wiki/Three-tier_(computing)
[10] Unit Testing, Microsoft Corporation, [Online], Available: http://msdn2.microsoft.com/en-us/library/aa292197(VS.71).aspx [11] Roger S. Pressman, Software Engineering, Sixth Edition, Pressman, p.80, p.408, p.409, p.410.
d o c s i t y . c o m
68
Appendices A. Abbreviations Table A- 1: List of abbreviations ABBREVIATION
MEANINGS
ASP
Active Server Pages
ERD
Entity Relationship Diagram Function Points
FP FTS
File Tracking System
FK
Foreign Key
GUI
Graphical User Interface
HTML
Hyper Text Markup Language
IIS
Internet Information Services Local Area Network
LAN NF
Normal Form
PC
Personal Computer
PK
Primary Key
RDBMS SQL
Relational Database Management System Structured Query Language
B. Definitions Table A- 2: Terms and their meanings
TERM Browser
DEFINITION
Relative to the Internet, the web browser is a client program that requests services from the web server. Clients can locate the appropriate Server and interact with it using browser.
d o c s i t y . c o m
69
TERM Client
DEFINITION
A computer program that makes a service request from server.
Relational Database
RDBMS manages and stores data repository in the
Management
form of tables and also store relationship among
System (RDBMS)
them.
Database server
A server that hosts one or more databases. All data manipulation commands are executed at this server.
Distributed System
A system in which components are distributed across multiple locations and computer networks.
HTML
Programming
language
used
mostly
for
programming the presentation layer
Information
Data that has been processed or reorganized into a more meaningful form for someone.
Internet
An
interconnected
system
of
networks
that
connects computers around the world via the TCP/IP protocol. The Internet is the largest internet (with a small "i") in the world. Intranet
Any network which provides similar services within an organization to those provided by the Internet outside it but which is not necessarily connected to the Internet.
Information System
An arrangement of people, data, processes, and information technology that interact to collect, process,
store,
and
provide
as
output
the
information needed to support an organization.
d o c s i t y . c o m
70
TERM
DEFINITION
Local Area Network
A set of client computers (PCs) connected over a
(LAN)
relatively short distance to one or more servers.
Server
It is a computer program that fulfills the request made by the client.
SQL
Universal standard language for database manipulation
Users
A “customer” who will use or is affected by an information system on a regular basis – capturing, validating, entering, responding to, storing, and exchanging data and information.
Web
"A web" is part of it on some specific website.
Web Page
A block of data available on the World-Wide Web, identified by a URL. In the simplest, most common case, a web page is a file written in HTML, stored on the server.
Web Server
Special software that runs on server is called Web Server. It allows the servers to respond to the clients for information or accepts data from the clients.
Web Site
(Or "website") Any computer on the Internet running a World-Wide Web server process. A particular website is usually identified by the hostname part of a URL.
d o c s i t y . c o m
71
C. Database Tables The attributes of tables that have been implemented for FTS are given below:
C.1 Department Table Table C- 1: Department table Attribute Name
Data Type
Not Null
Purpose
dept_id (PK)
varchar(4)
Yes
Stores department id
dept_name
varchar(45)
Yes
Stores department name
office
char(4)
Yes
Stores department office number
status
varchar(15)
Yes
Stores information that the department exists or not.
C.2 Employee Table Table C- 2: Employee table Attribute Name
Data Type
Not Null
Purpose
emp_id (PK)
char(15)
Yes
Stores employee id
password
varchar(10)
Yes
Stores password
emp_fname
varchar(15)
Yes
Stores employee first name
emp_lname
varchar(15)
Default Null
office_ph
char(4)
home_ph
varchar(15)
Default Null
designation
varchar(10)
Default Null Stores designation like Junior
Stores employee second name
Default Null Stores department office number Stores employee home phone no.
Scientist. email_address
varchar(40)
No
Stores email address
dept_id (FK)
varchar(4)
Yes
Stores department id to which employee belongs. The id comes from department table.
status
tinyint(1)
Yes
Stores information that the employee is organization member or not in the form of 1 or 0.
d o c s i t y . c o m
72
C.3 File Table Table C- 3: File table Attribute Name
Data Type
Not Null
Purpose
file_id (PK)
varchar(100)
Yes
Stores file id
file_name
varchar(100)
Yes
Stores file name
file_category
varchar(10)
Yes
Stores file category e.g. notice
file_type
varchar(20)
Yes
Stores information that the department exists or not
subject
varchar(100)
Yes
Stores file subject
status
varchar(30)
Yes
Stores file status e.g. closed
text
medium text
Yes
Stores original file contents
C.4 Reference Attachment Table Table C- 4: Reference attachment table Attribute Name
Data Type
Not Null
Purpose
ref_id (PK)
varchar(100)
Yes
Stores reference id
ref_text
MEDIUMBLOB
Yes
Stores reference document contents
ref_name
varchar(100)
Yes
Stores reference document name
type
varchar(30)
Yes
Stores reference document extension e.g. .doc
size
integer
Yes
Stores reference document size
C.5 Mark Table Table C- 5: Mark table Attribute Name
Data Type
Not Null
file_id (PK, FK)
varchar(100)
Yes
Purpose
Stores file id, comes from file table
d o c s i t y . c o m