DFD and Er Diagrams For Library Management System
DFD and Er Diagrams For Library Management System
A Report Submitted (In partial fulfillment of the award for the degree of)
MCA
Submitted By:
ANUPRIYA SINGH 0411624405
National Informatics Centre A-Block, CGO Complex Lodhi Road New Dellhi-110003
GOVERNMENT OF INDIA
MINISTRY OF COMMUNICATIONS & INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY
Project Guide/HOD
ACKNOWLEDGEMENT
It is a great sense of satisfaction and a matter of privilege to me to work at National Informatics Center, New Delhi. I wish to express my heartiest thanks to Training Division for providing me the opportunity to under go training in the esteemed organization. It is my pleasure to thank Dr. S. C. Gupta, Head Training Division (NIC) , to whom I owe a lot for giving me an opportunity to do my training in this organization. My heartfelt thanks to Mr. Rajeev Rathi, Technical Director, who accepted me as a project trainee in his group and helping in the projects with words of encouragement and has shown full confidence in my abilities. The project would not have been a success without the valuable guidance of Mr. Rajendra Prasad, Senior System Analyst , who rendered all sorts of help as and when required.
Anupriya Singh
ABSTRACT
Project Title: Call Management System
Call Management System will provide the smooth technical support in solving the problems of the end users. Earlier, when the problem came up, end user contacts the project leader or the person who has developed the product, but now, end user can lodge their complaints at the centralized call centre & get the solution to their problems through email or telephone. This project is web-based application. The main idea of this project is to record the details of the end-user, their problems, & the action taken by various experts in solving/resolving those problems. The project report consists of two major phases. In the first phase, along with the information regarding the organization, the project assigned to me has been mentioned. Second phase provide an insight into the development process involved. The first chapter gives the information regarding National Informatics Centre (NIC). It also gives brief introduction about the project & its objective. The next chapter is on Requirement Analysis, which is mainly concerned with study of various requirements. It includes DFD, ER Diagram & Database Design. It also includes feasibility study of the system. The next chapter is on System Design, which is concerned with detailed System Specification (DSS). It includes structure chart, interface design, validation checks & use case diagram.
The next chapter is on Testing, which consist of various test cases performed in the system. The next chapter is on Platform/Tool used, which describes the various hardware & software requirements of the system. The last chapter is regarding Conclusion about the above-mentioned project. In the end, Appendix is attached which includes Definitions & notations used. Then Reference is attached which includes a list of books and sites used during the system development.
Hardware Interface:
Pentium IV Processor, 1 GB RAM, 20 GB HDD
Keywords:
Call Management System, Asp.Net, Sql Server 2000, VB.net, National Informatics Centre, NIC, CMS, etc.
NIC Division:
Training Division
TABLE OF CONTENT
(In partial fulfillment of the award for the degree of)..............1 ..............................................................................2 ...................................................................................................................2
National Informatics Centre..................................................................................2 Anupriya Singh.........................................................................................................3
CHAPTER 1 INTRODUCTION
At the State level, NICs State/UTs Units provide informatics support to their respective State Government and at the District level lie the NIC District Informatics Offices. NIC has conceptualised, developed and implemented a very large number of projects for various Central and State Government Ministries, Departments and
Organisations. Many of these projects are continuing projects being carried out by various divisions of NIC at New Delhi Headquarters and State/District centres throughout the country. Some of the most important note worthy projects, which offer a glimpse of the multifaceted, diverse activities of NIC, touching upon all spheres of e-governance and thereby influencing the lives of millions of citizens of India is given below: Agricultural Marketing Information Network (AGMARKNET) Central Passport System Community Information Centres (CICs) Computerized Rural Information Systems Project (CRISP) Court Information System (COURTIS) Department of Agriculture Network (DACNET) Examination Results Portal India Image Land Records Information System (LRIS) National Hazardous Waste Information System (NHWIS) Spatial Data Infrastructure (SDI) Training Video Conferencing 10
Website of NIC
http://indiaimage.nic.in/
. .
11
1.3 OBJECTIVE
To develop a proper call lodging system, for a NIC centralized call centre, where the end user can lodge their complaints and get the solutions to their problems through email or telephone. The intended audiences of this project are the development team, the testing team and the end users of the product.
12
13
1.4.1.14
Creation of new users to access the functionalities & features of the system.
15
16
1.4.2.10
A create new user module to authenticate & authorize new users to access the system.
17
18
CHAPTER 2
REQUIREMENT ANALYSIS
19
20
This CMS software is economically feasible. As the hardware was installed from quite beginning, the cost on project of hardware is low. Similarly, the software loaded for this project was used for many other applications. The software cost was under budget. As student trainees were developing the application, there were no major personnel costs associated. Moreover, the technical requirements were already available so there was no further expenditure for buying software packages.
21
This application provides the necessary information to the user such as how to enter the information regarding different operations performed on the database. The application was planned in such a way that no prior knowledge was required to go through the various operations. The user just needed to have the basic knowledge of computers.
22
Administrator
Caller Info. Generated Problem info. Generated Call status info. Generated
23
24
Administrator
25
2.2.3.2
LOGIN
Login
User Account Info
Administrator
26
2.2.3.3
Caller details
27
2.2.3.4
Problem details
28
2.2.3.5
Administrator
Expert details Enter / Update / Delete Expert info Update / Delete Expert info.
2.2.3.6
29
2.2.3.10
Administrator
30
2.2.3.11
Project Administrator
Access ProjectExpert info.
Project-Expert details
31
2.2.3.12
32
2.2.3.13
33
2.2.3.14
Project-Expert details
34
2.3 ER DIAGRAM
35
Entity Name Entity Description S.No 1 2 3 4 5 6 7 8 9 10 Attribute Registration_no Mobile_no Landline_no Email Name State District Block Address1 Pincode
Caller_detail This caller_detail table stores all necessary caller. Type Char Char Char Char Char Char Char Char Char Char Length 11 11 14 50 50 30 30 30 50 6 Key/constraints Primary key Null Null Null Not null Null Null Null Null Null
details of
Description Registration number Callers Mobile number Callers Landline number Callers Email Id Callers Name State name District name Block name Callers Address Pincode
36
37
Problem_detail This problem_detail table stores details of callers Description Complaint number Registration number Project code Main projects name Sub projects name Problem types name Subject Problem detail Call Operators code Time of call Status of call
Problem pertaining to the project. S.No Attribute Type Length Key/constraints 1 Call_transaction_id Char 11 Primary key 2 Registration_no Char 11 Not Null 3 Project code Char 7 Not Null 4 Main_category Varchar 25 Not Null 5 Sub_category Varchar 50 Not null 6 Problem_type Varchar 50 Not Null 7 Subject Text Not Null 8 Problem_detail Text Not Null 9 Call_entered_by Char 8 Null 10 Call_entered_time Datetime Not Null 11 Call_status Char 7 Not Null 12 Call_closed_by Char 8 Not Null 13 Attached_file Varchar 50 null
38
Entity Name Entity Description S.No 1 2 3 4 Attribute Project_code Main_project Sub_project Problem_type
Project_detail This project_detail table stores the details of the project Type Char Varchar Varchar Varchar Length 7 25 50 50 Key/constraints Primary key Not Null Not Null Not Null Description Code of project Main projects name Sub projects name Problem types name
39
Entity Name Entity Description S.No 1 2 3 4 5 6 7 8 Attribute Expert_code Project_code Expert_Level Project_Level Service_Status Activate_date Deactivate_date Deactivate_remarks
Project_Expert_detail This project_expert_detail table stores the details of expert corresponding to the project Type Length Key/constraints Char 11 Not Null Char 7 Not Null Char 3 Not Null Char 3 Not Null Not Null/ Char 1 default y DateTime DateTime Text Description Code of expert Code of project Level of expert Level of project Experts service status
40
41
42
3.1
Entity Name Entity Description S.No 1 2 3 4 5 6 7 8 9 10 11 Attribute Expert_code Name Organization Email LandlineNo MobileNo Address Service_status Expert_detail This expert_detail table stores the details of the expert Type Char Char Char Char Char Char Char Char Length 11 50 50 50 12 11 50 1 default y Null Null Key/constraints Primary key Not Null Not Null Not Null Null number Experts Not Null Not Null Not Null / number Experts address Experts service status Mobile Description Code of expert Name of expert Experts organization Experts Email Id Experts Landline
43
3.2
STRUCTURE CHART
Login Page
Welcome Page
Expert
Call Status
Closed Call
Project
Project Expert
44
3.3
3.3.1.1
Description
This page authorizes the users to access the system based upon their login_id and password provided in the textbox controls. 3.3.1.2 Validity Check
45
3.3.2.1
Description
This page displays the welcome message of the application when the user successfully logged in. 3.3.2.2 Validity Check
46
3.3.3.1
Description
The call entry operator to register the call made by end user and store their problems pertaining to the projects accesses this page. 3.3.3.2 Validity Check
1) The e-mail field should be in appropriate format. 2) The Mobile No field must contain digits only. 3) The Mobile No. Field must be of length 10 or 11. 4) The Pin code field must contain digits only. 5) The Pin code field must be of length 6. 6) The main Category field cannot be blank. 47
7) The sub category field cannot be blank. 8) The problem Type cannot be blank. 9) The Subject field cannot be blank. 10) The state field cannot be blank. 11) The Name field cannot be blank. 12) The address field cannot be blank. 13) The address cannot contain more than 50 characters.
48
3.3.4.1
Description
This page displays the status of the problem, registered by end user. Status can be new, pending,closed& escalated. New means no action has been taken. Pending means problem is forwarded to first level expert. Closed means problem is closed. Escalated means problem is forwarded to next levels of expert. Only Call Operator has privileged to access this page. 3.3.4.2 Validity Check
49
3.3.5.1
Description
The call operator to edit the caller or problem details & to change the status of the problem by taking appropriate action against the problem uses this page. 3.3.5.2 Validity Check
50
3.3.6.1
Description
This page is used by the call operator to select the expert for solving / resolving the problem & to forward the details of the caller & problem to the selected expert. 3.3.6.2 Validity Check
51
3.3.7.1
Description
This page displays the email detail that has been sent to expert by call operator to solve or resolves the problem. This page can be used to take hard copy of sent email.
3.3.7.2
Validity Check
52
3.3.8.1
Description
This page is used to insert / modify the details of the experts who deal with projects problems corresponding to the project assigned to them. Only administrator has privileged to access this page. 3.3.8.2 Validity Check
53
3.3.9.1
Description
This page is accessed by the administrator to insert, delete and modify the details of project as desired. 3.3.9.2 Validity Check
1) Main project must be selected or entered. 2) Sub project must be selected or entered. 3) Problem type must be selected or entered. 4) Main project cannot be blank.
54
3.3.10Expert Page
3.3.10.1
Description
The administrator to insert, delete and modify the experts details as desired accesses this page 3.3.10.2 Validity Check
1) The name field cannot be blank. 2) The organization field cannot be blank. 3) The e-mail field should be in proper format. 4) The address field cannot be blank. 5) The mobile number field cannot be blank.
55
3.3.11.1
Description
This page displays the problems with closed status only. Call operator has privileged to access this page. 3.3.11.2 Validity Check
56
3.3.12.1
Description
This page is used to create new users, who will access the system based upon their assigned roles. Only administrator has privileged to access this page. 3.3.12.2 Validity Check
1) Login Id cannot be blank. 2) Password cannot be blank. 3) Confirm password field should match the password field.
57
Login
Administrator
Maintain Caller Details Maintain Problem Details Maintain Call Status
58
page
website should
59
ID
Objective
Test data
Username validation should appear. Please Password username validation username should appear. blank. Enter correct username, Username, The welcome enter
TC a8
password and Password click button. Enter username, Username, The textboxes should Password click button. cancel reset. get submit should appear.
TC a9
Password and
60
4.1.2 New Call Registration page ID Objective Steps Click the tab To TC-b1 Call Page. Registration available at the side page. Fill the entries Name, mobile TC-b2 and click no, etc. The textboxes and dropdowns should Cancel button. reset. The should inserted Fill the entries Name, mobile automatic TC-b3 and click no, etc. registration number complaint number should be generated. and details be and get of the check the New Call The New Call Test data Result
Submit button.
61
ID
Objective
Steps
available entering
details. Fill one of the Name, mobile The entries TC-b5 click button. and no, landline corresponding record should
be shown.
4.1.3 Call Status Page ID Objective Steps Click the tab To TC-c1 check the Call Status The Call Status Test data Result
functionality of the available at the Call Status page. side page. of the
screen appear.
should
ID TC-c2
Objective
Test data
62
should with
4.1.4 Action Taken Details Page ID Objective Steps Test data Result The Call Status To TC-d1 Action Taken details on the page. page. call should get closed. The required Click the Edit fields TC-d2 option on the get enabled to page. edit. should check the Click the functionality of the Closed option Page should
ID
Objective
Steps
Test data
63
The expert level page Click TC-d4 Forward the appear, option selected details & on the page. the level1 experts list. The expert level page Click TC-d5 the appear, Escalated option selected details & on the page. the list of higher level experts. The Call Status Page Click the appear TC-d6 Abandon option status of the call on the page. should abandoned. get & the should with should with should
64
4.1.5 Expert Level Page ID Objective Steps If the call is To TC-e1 the Expert Level click the level1 page. option to select the expert. The Select the expert TC-e2 from the grid. should get displayed. The mail should be sent to expert, Click the send TC-e3 mail button. Support ids. Message Remove Click the send TC-e4 mail button. id. available The sent e-mail Click the print TC-e5 button viewed. details should be expert email expert Email Id get displayed No e-mail should caller & Tech expert selected name check the forwarded from The level1 expert functionality of call status page, Test data Result
list
should
get
enabled.
65
ID
Objective
TC-e6 button. If the call is escalated TC-e7 click the level2 option to select the expert. from
page appear.
The level2 expert call status page, list should get enabled.
4.1.6 Expert Page ID To TC-f1 Objective check the tab available at functionality of the side of the the Expert page. page. Click the Edit TC-f2 button form. on the The required Steps Click the expert Test data Result
ID TC-f3
Objective
Test data
66
form. Click the new TC-f4 button form. Leave TC-f5 Name on the
deleted. A form
should
appear to insert new expert details. Validations should appear Name cannot be
field blank while field inserting. blank. Validations should Leave appear Organization
blank. Validations should Leave Address appear TC-f7 field blank while field inserting. blank. Validations should Leave Mobile appear TC-f8 field blank while field inserting. blank. cannot be Mobile cannot be Address
ID
Objective
TC-f9
Enter
TC-f10
Leave Email Id 67
field
blank
4.1.7 Closed Call Page ID To Objective check Steps the Click the closed of call tab available Test data Result
TC-g1
functionality
the Closed Call at the side of the page. page. Click the closed
All the calls with call tab available TC-g2 at the side of the should appear. page. closed status
68
4.1.8 Project Page ID To Objective check the tab available at of the side of the page. Click button TC-h2 selecting any project cannot be blank. Validation should appear and Main field. Click the main project TC-h3 dropdown insert without Steps Click the project Test data Result
TC-h1 functionality
Project
page
dont select any option. Click the project TC-h4 dropdown & sub
should be reset.
ID TC-h6
Objective Click
Test data
Problem
69
dropdown
&
Type selected
must
be or
dont select any option. Click the TC-h7 button. Click TC-h8 button grid. Click the cancel TC-h9 button in the grid the in edit edit
entered. The grid should be displayed. The required fields should get
4.1.9 Project-Expert Page ID To TC-i1 the Projectthe side of the Expert page. page. Objective Click check the project-expert functionality of tab available at The projectSteps the Test data Result
ID
Objective
Test data
TC-i2 button.
get cleared.
refreshed/
70
Click the submit button TC-i3 selecting Expert name field. Click TC-i4 button. Click the submit button TC-i5 selecting Main Project field. Click the edit TC-i6 button grid. in the without the edit without
71
4.1.10 Create New User Page ID To TC-j1 the Create New available at the User page. TC-j2 button. get reset. Validations should appear: Login Id Do not fill any cannot be blank TC-j3 entry & click & submit button. Password cannot be blank. Do not fill Login Password, name TC-j4 click button. Do not TC-j5 click button. submit Password be blank. submit Password fill Login name, Password field & Confirm Password cannot appear: cannot be blank. Validation should field & Confirm appear: Login Id Validation should side of the page. Click the Cancel Objective check Steps the Click the Create The Create New functionality of New User tab Test data Result
ID TC-j6
Objective Do
Steps not
Result
Confirm
password
72
Password
& fill password field & click password field. submit button. Enter different Validation should Confirm Password TC-j7 Password field & Confirm should match the click button. Login Enter TC-j8 data & correct Password, click Confirm submit button. Password created. successfully display: login name, Message should submit Password password field. Login name, appear: Confirm & Password, password field
73
74
For application server: Windows 2000 server IIS server 6.0 SQL Server 2000
Client Desktop: OS: Windows (98, NT, XP, 2000, 2003, Vista) Browser: Internet Explorer 6.0 or above
75
6.1 CONCLUSION
The final product is web application which will provide an interface, which in turn will make problem recording much less difficult & time consuming. It requires little or no time at all to see the status of various problems, as well as make this process more manageable in the long run. The software product Call Management System will enhance and simplify the work of the NICs employees and will easily resolve the problems of the end user through proper communication & without delay.
76
77
6.3 LIMITATION
6.3.1 Being a web based project requiring a web server to be used to deploy the application, sometimes due to network issues the project might not run properly. 6.3.2 6.3.3 Debugging the web application is a tedious task. There is no online registration of problem feature which can be highly beneficial for the end-user to describe his/her problem. 6.3.4 It will be very difficult for the person, to tell all the details of himself like address, mobile number etc & the details of the problem on phone.
78
APPENDIX
DFD:
A Data Flow Diagram (DFD) is a graphic representation of the "flow" of data through business functions or processes. More generally, a data flow diagram is used for the visualization of data processing. It illustrates the processes, data stores, and external entities, data flows in a business or other system and the relationships between these things. Physical DFD's represent physical files and transactions, while logical or conceptual DFD's can be used to represent business functions or processes. Data Flow Diagrams (DFDs) are a graphical/representation of systems and systems components. They show the functional relationships of the values computed by a system, including input values, output values, and internal data stores. It's a graph showing the flow of data values from their sources in objects through processes/functions that transform them to their destinations in other objects. Some authors use a DFD to show control information, others might not. A DFD can be seen as a method of organizing data from its raw state.
79
80
The rectangle is used to represent the Data Source / Data Destination within the system.
The arrow is used for showing the Data Flow in the system.
81
ER Diagram:
Data models are tools used in analysis to describe the data requirements and assumptions in the system from a top-down perspective. It is a major data modeling tool & will help organizing the data in our project into entities & define the relationship between the entities. They also set the stage for the design of databases later on in the SDLC. The Entity-Relationship model is a data model for high-level descriptions of conceptual data models, and it provides a graphical notation for representing such data models in the form of entity-relationship diagrams. Such data models are typically used in the first stage of information-system design; they are used, for example, to describe information needs and/or the type of information that is to be stored in the database during the requirements analysis.
82
Attributes: A data attribute is a characteristic common to all or most instances of a particular entity. An attribute or combination of attributes that uniquely identifies one & only one instance of an entity is called primary key or identifier.
Relationships: Relationship provides the structure needed to draw information from multiple entities. It is a natural association that exists between one or more entities. Cardinality: Cardinality defines the number of occurrences of one entity for a single occurrence of related entity.
83
Rectangles are used for showing the Entities in the database design.
84
UML Diagram:
The Unified Modelling Language is a standard language for specifying, visualizing, constructing &documenting the artifacts of software system, as well as for business modelling & other non-software system. The UML design process involves creation of various graphical or text based documents. In UML, these documents are called artifacts & they describe the outputs of a step in the process. The UML design process has two main parts: Analysis-What the problem? Design-How should the problem be solved? The reason for this analysis & design process is to allow the project to be broken down into component parts which provide the following project characteristics: Detail is hidden. The system is modular. Components are connected & interact. Layer complexity. Components may be reusable in other products. Variations on a theme.
A use case diagram is a diagram that shows the relationships among actors & use cases within a system. Use case diagram are often used to: Provide an overview of all parts of the usage requirements for a system or organization in the form of an essential model or a business model. Communicate the scope of a development project.
85
System Boundary: The rectangle around the use cases is called the system boundary box & as the name suggests it indicates the scope of your system the use case inside the rectangle represent the functionality that you intend to implement.
86
87
TESTING:
In a software project, errors can be injected at any stage during development. Because code is the only product that can be executed frequently & whose actual behavior can be observed, testing is the phase where the remaining errors from all the previous phases must be detected. Testing performs a critical role for quality assurance & for ensuring the reliability of software. During testing, the program to be tested is executed, with a set of test cases, & the output of the program for the test cases is evaluated to determine if the program is performing as expected. Due to this approach, dynamic testing can only ascertain the presence of errors in the program; the exact nature of errors is not usually decided by testing. Testing a large system is a complex activity, so for a project, incremental testing is generally performed, in which components & subsystems of the system are tested separately before integrating them to form the system for system testing. Testing is a procedure to execute a program with the intent of finding errors. Testing is an important part of the software development process, to detect bugs, improve software design and to reduce usability problems. There are a number of test techniques such as the traditional unit, system, integration and acceptance tests, and a large number of software tools which support testing in different ways. Testing flow proceeds from left to right and from top to bottom, user visible elements of the web application design are tested first followed by infrastructure design element.
88
Testing Objectives Testing is a process of executing a program with the intent of finding errors. A good test case is one that has a high probability of finding an as yet undiscovered error. A successful test is one that uncovers an undiscovered error. Testing Principle All tests should be traceable to the customers requirements. Tests should be planned long before the testing begins. Testing should begin in the small & progress towards the large. Exhaustive testing is not possible.
Interface Testing / Unit Testing The overall strategy for interface testing is to: Uncover errors related to specific interface mechanisms. For e.g. errors in the proper execution of a menu link or the way the data is entered in the form. Uncover in the way the interface implements the semantics of navigation, web application functionality, or content display. To accomplish this strategy, a number of objectives must be achieved: Interface features are tested to ensure that design rules, aesthetics and related visual content are available for the user without error. Individual interface mechanisms are tested that are equivalent to unit testing. Each interface is tested to ensure that it performs the requisite task. The interface is tested within a variety of environments to ensure that it will be compatible.
89
Navigation Testing The job of this testing is: To ensure that the mechanisms that allow the web application user to travel through the web application are all functional and To validate that each navigation semantic unit can be achieved by the appropriate user category. The first phase of navigation testing actually begins during Interface Testing. Navigation mechanisms are tested to ensure that each performs its intended function. Following navigation mechanisms should be tested: 1) Navigation links: Internal links within the web application, external links to other web application should be tested to ensure that proper content or functionality is reached when the link is chosen. Integration Testing The purpose of unit testing is to determine that each independent module is correctly implemented. This gives little chance to determine that the interface between modules is also correct, and for this reason integration testing must be performed. One specific target of integration testing is the interface: whether parameters match on both sides as to type, permissible ranges, meaning and utilization. The individual modules were aggregated one by one and functional testing was performed. The integrated product was considered as a black box and the output (report) is generated depending upon the data present in the flat files.
90
System Testing Software is to be incorporated with other system components (e.g. new hardware, information), and thus a series of special tests are to be conducted. Many times, software products are designed to run on a variety of hardware configurations. The software should actually be tested on much different hardware set ups, although the full range of memory, processor, operating system, and peripheral possibilities may be too large for complete testing. There are many types of specifications and we should be aware of those as we perform system testing. During system testing, we should evaluate a number of attributes of the software that are vital to the user. These attributes represent the operational correctness of the product. Some of the attributes tested are: Usable: The product is convenient and easy to use. A nave user can also compare the flat files by browsing the files from their computer and selecting the corresponding interface. User can also add the new interface and can also make modifications in the existing interface. Secure: Only the authorized user is able to use this tool. Compatible: The product runs correctly using YUI_EXT Library, works correctly in conjunction with existing software. Performance Testing Performance testing is used to uncover performance problems that can result from lack of server-side resources, inappropriate network bandwidth, inadequate database capabilities, faulty or weak operating system capabilities, poorly designed web application functionality, and other hardware and software issues that can lead to degraded client-server performance.
91
REFERENCES
1) 2) 3) 4) 5) Wrox Professional ASP.NET 2.0 NIC s website elearning.nic.in (for student trainee) Software Engineering By K.K. Aggarwal www.google.co.in Database Management Systems By Korth
92