THE BRITISH COMPUTER SOCIETY
Inventory and Sales
Management System
For Sasip Bookshop
August 2016
Professional Graduate Diploma
Submitted in partial fulfilment of the requirements of BCS
Professional Graduate Diploma Examination
Candidate Name : Vindya Thilakarathna
Membership No : 990487426
ISMS
Acknowledgment
The success and completion of this project acquired a lot of guidance and assistance from
many individuals. I would like to take this opportunity to acknowledge them and thank
them.
I owe a special thank to my project authenticator Mr.Asitha Goonewardena, Senior IT
& Software Product Manager of hShenid Business Solution (Pvt) Ltd, Colombo for giving me
strength and dedication. His valuable feedbacks, suggestions and perceptive criticism
immensely help throughout my project work.Without his guidance and continued
encouragement this task would not have been a reality.
I respect and thank to Mr.Upeksha Kulasekara, Chief Executive Officer of Sasip Institute,
Nugegoda for giving me an opportunity to work my project for them. I am extremely
grateful to him for providing such a nice support, guidance and spent his valuable time
for my project works despite his busiest schedule.
My sincere thanks to my cousin Mrs.N.Ekanayake for introduced of BCS HEQ and giving me
valuable advices since my first day of BCS till the end of this task.
I am also thankful to my beloved parents, my brother and the sister-in-law who encourages
me all the time, their innumerable scarifies and immensely supports for my project as well
as completing the BCS HEQ.
Last not least I would like to thank my seiner colleagues and who are in developing the
project and who are assisted me in various ways but those names have gone unmentioned.
Vindya Thilakarathna Membership No: 990487426 2|Page
ISMS
Abstract
Sasip Institute known for its pioneering business in secondary education in Sri Lanka,
established in 2009 and located at Nugegoda. The institute carries a well-known track
record for producing top scoring students in GCE A/L examination in the science,
mathematics, commerce and art screams.
Sasip Bookshop is a fully-owned subsidiary of Sasip institute, is in the merchandising
business of educational materials and stationeries. Nevertheless, institute has produce
students who obtain the Island wide best results; the bookshop is currently functioning on
manual file based system. This professional project is attempted to develop and replace
manual file based system to fully functional computer based solution to the bookshop.
With reference to the business of the entity I chose, this project has been named as
‘Inventory and Sales Management System‘. The project has been developed using windows
technologies supporting 2-tire deployment model (Client and Database are on same
network – LAN). Envisioned system facilitates to address key functional areas such as storing
and maintaining key master data of users, suppliers, and products. Application delivers
smooth flow of business processes for generating purchase orders; goods received note and
sales invoice (receipts) with highest accuracy and at the expected rate of response. Fully
fledged reporting and analytics provides day-to-day operational reports and periodic
statistics for all levels of users where the report accessibility is given from easy-to-access
menu.
This Inventory and Sales Management System has been designed according to the Object
Oriented Programming (OOP) concepts with C# as the main programming language and
Microsoft SQL Server as the database server.
This thesis illustrates all the detailed description and discussion about the process of
professional project, which include Requirement Specification, Design Specification,
Implementation, Testing, and Critical Appraisal which gives an overview of entire project.
Vindya Thilakarathna Membership No: 990487426 3|Page
ISMS
Table of Contents
Acknowledgment ........................................................................................... 2
Abstract ......................................................................................................... 3
Table of Contents........................................................................................... 4
List of Figures ............................................................................................... 13
List of Tables ................................................................................................ 20
List of Acronyms .......................................................................................... 22
Chapter 01: Introduction.............................................................................. 24
1.1 Introduction .................................................................................................................... 24
1.2 Company Background ..................................................................................................... 24
1.3 AS-IS process ................................................................................................................... 25
1.4 Project Scope .................................................................................................................. 27
1.4.1 Context Diagram of proposed system...................................................................... 27
1.4.2 Scope and Functionality ........................................................................................... 27
1.5 Objectives ....................................................................................................................... 28
1.6 Work Breakdown Structure (WBS) of ISMS Project ....................................................... 29
1.7 Document Arrangements ............................................................................................... 29
Chapter 02: Requirements Specification ...................................................... 31
1.1 Introduction .................................................................................................................... 31
2.2 Drawbacks of Existing System ........................................................................................ 31
2.3 Advantages of Envisioned System .................................................................................. 32
2.4 Requirement Gathering .................................................................................................. 32
2.4.1 Document Reviews................................................................................................... 32
2.4.2 Interviews ................................................................................................................. 33
2.4.3 Observation .............................................................................................................. 33
2.5 Literature Review............................................................................................................ 34
2.5.1 Enterprise Resource Planning (ERP) Systems........................................................... 34
2.5.2 Point Of Sales (POS) / Retail Management Systems ................................................ 34
2.6 Requirement Analysis ..................................................................................................... 35
2.6.1 Actor Glossary .......................................................................................................... 35
2.6.2 Use Cases.................................................................................................................. 35
2.6.2.1 Use Case Glossary..............................................................................................36
2.6.2.2 Use Case Diagram..............................................................................................38
2.6.2.3 Use Case Narratives...........................................................................................39
Vindya Thilakarathna Membership No: 990487426 4|Page
ISMS
2.7 Functional Requirements ............................................................................................... 47
2.7.1 User Management and Access Level Control .......................................................... 47
2.7.2 Supplier (Vendor) management ............................................................................... 47
2.7.3 Stock Monitoring ...................................................................................................... 47
2.7.4 Issue System Generated POs and GRNs. .................................................................. 48
2.7.5 Inventory Control ..................................................................................................... 48
2.7.6 Sales.......................................................................................................................... 48
2.7.7 MIS Report Generations ........................................................................................... 48
2.8 Non-functional Requirements ........................................................................................ 48
2.8.1 Performance ............................................................................................................. 49
2.8.2 Efficiency .................................................................................................................. 49
2.8.3 Reliability and Accuracy ........................................................................................... 49
2.8.4 Maintainability ......................................................................................................... 49
2.9 Functional Specification.................................................................................................. 49
Chapter 03: System Designing ...................................................................... 51
3.1 Introduction .................................................................................................................... 51
3.2 Process Model ................................................................................................................ 51
3.3 Methodology Selected.................................................................................................... 51
3.3.1 Waterfall Model ....................................................................................................... 51
1.3.2 Evolutionary Development Model ........................................................................... 52
3.4 Justification for Selection ............................................................................................... 53
3.4.1 Reasons implementing hybrid solution ................................................................... 54
3.5 Tools used for Design ..................................................................................................... 54
3.6 System Design ................................................................................................................. 55
3.6.1 User Management and Access Level Control Module ............................................. 55
3.6.2 Supplier Management Module ................................................................................ 55
3.6.3 Inventory Control Module........................................................................................ 55
3.6.4 Stock Monitoring Module ........................................................................................ 55
3.6.5 Issue PO and GRN Module ....................................................................................... 56
3.7 UML Diagrams for the Proposed System ....................................................................... 56
3.7.1 User View ................................................................................................................. 56
3.7.1.1 Use case diagram for User Management Module.............................................57
3.7.2 Structural View ......................................................................................................... 58
3.7.2.1 Class diagram for the system............................................................................58
3.7.2.2 Object diagram for the system..........................................................................59
3.7.3 Behavioural View (Process view) ............................................................................. 60
Vindya Thilakarathna Membership No: 990487426 5|Page
ISMS
3.7.3.1 Activity diagram for Report Generation Module..............................................60
3.7.3.2 Activity diagram for Stock Monitoring Module.................................................61
3.7.3.3 Sequential diagram for User Registration.........................................................62
3.7.3.4 Sequential diagram for Purchasing Items.........................................................63
3.8 Database Design ............................................................................................................. 64
3.8.1 ER Diagram for the system ....................................................................................... 64
3.9 User Interface Design ..................................................................................................... 65
3.9.1 Wireframes ............................................................................................................... 65
Chapter 04: System Development ................................................................ 67
4.1 Introduction .................................................................................................................... 67
4.2 Environment Preparation ............................................................................................... 67
4.2.1 Hardware Specification ............................................................................................ 67
4.2.2 Software Specification.............................................................................................. 67
4.2.2.1 Integrated Development Environment (IDE).....................................................67
4.2.2.2 Database Server................................................................................................67
4.3 Database Architecture .................................................................................................... 68
4.3.1 Database Architecture ............................................................................................. 68
4.3.2 Table Descriptions .................................................................................................... 69
4.3.2.1 Table ItemClass.................................................................................................69
4.3.2.2 Table ItemCategory...........................................................................................69
4.3.2.3 Table UnitOfMeasure........................................................................................70
4.3.2.4 Table Item.........................................................................................................71
4.3.2.5 Table ItemPrice .................................................................................................73
4.3.2.6 Table PurchaseOrderItems................................................................................74
4.3.2.7 Table PurchaseOrder.........................................................................................74
4.3.2.8 Table GoodsReceivedNote................................................................................75
4.3.2.9 Table Stock........................................................................................................77
4.3.2.10 Table Cart........................................................................................................77
4.3.2.11 Table Invoice...................................................................................................78
4.3.2.12 Table UserPrivilegas........................................................................................79
4.3.2.13 Table UserProfile.............................................................................................81
4.3.2.14 Table Supplier..................................................................................................83
Vindya Thilakarathna Membership No: 990487426 6|Page
ISMS
4.4 User Interface Development .......................................................................................... 85
4.4.1 Common user controls adopted for this solution .................................................... 85
4.5 Development of Modules ............................................................................................... 87
4.5.1 Server and Database Connection ............................................................................. 87
4.5.2 Login Module............................................................................................................ 89
4.5.3 User Input Data Validation ....................................................................................... 90
4.5.3.1 Name Validation................................................................................................90
4.5.3.2 Number Validation............................................................................................90
4.5.3.3 Empty Field Validation......................................................................................91
4.5.3.4 Email Validation.................................................................................................91
4.5.3.5 Report Generations...........................................................................................91
Chapter 05: System Testing & Evolution ...................................................... 94
5.1 User Interface Development .......................................................................................... 94
5.2 Testing Strategies & Sequence ....................................................................................... 94
5.2.1 Testing Strategies ..................................................................................................... 94
5.2.2 Testing Sequence ..................................................................................................... 95
5.2.2.1 Unit Testing.......................................................................................................95
5.2.2.2 Integration Testing............................................................................................96
5.2.2.3 Validation Testing..............................................................................................96
5.2.2.4 System Testing..................................................................................................96
5.2.2.5 Acceptance Testing...........................................................................................96
5.4 Test Plan, Test Cases Design and Test Results................................................................ 97
5.5 User Evaluation of the System........................................................................................ 99
5.5.1 Evaluation Methodology ........................................................................................ 100
5.5.2 Evaluation Result .................................................................................................... 101
5.6 Security Evaluation ....................................................................................................... 102
5.7 System Acceptance ....................................................................................................... 102
5.8 UAT ............................................................................................................................... 102
Chapter 06: Software Implementation Approach & Maintenance .............. 103
6.1 Introduction .................................................................................................................. 103
6.2 Implementation Strategy.............................................................................................. 103
6.2.1 Common implementation strategies ..................................................................... 103
6.2.1.1 Direct changeover...........................................................................................103
Vindya Thilakarathna Membership No: 990487426 7|Page
ISMS
6.2.1.2 Parallel Running..............................................................................................103
6.2.1.3 Phase Implementation....................................................................................104
6.2.1.4 Pilot Running...................................................................................................104
6.2.2 Strategy adopted for the deployment of the software ......................................... 105
6.3 Pre Implementation Plan .............................................................................................. 105
6.4 Authoring Environment ................................................................................................ 106
6.5 Production Environment .............................................................................................. 107
6.6 User Training................................................................................................................. 107
6.7 Data Backups Plan ........................................................................................................ 108
6.9 Application Support and Maintenance Plan ................................................................. 108
6.10 Change Request Handling & Version Controlling ....................................................... 108
Chapter 07: Critical Appraisal ..................................................................... 110
7.1 Introduction .................................................................................................................. 110
7.2 Summary of each chapter ............................................................................................ 110
7.2.1 Requirement Specification ..................................................................................... 110
7.2.2 System Designing ................................................................................................... 110
7.2.3 System Development ............................................................................................. 110
7.2.4 System Testing and Evolution ................................................................................ 111
7.2.5 System Implementation & Maintenance ............................................................... 111
7.3 Final Product ................................................................................................................. 111
7.4 Future enhancements .................................................................................................. 112
7.5 SWOT Analysis .............................................................................................................. 112
7.6 Lessons Learnt .............................................................................................................. 113
7.7 Time Line....................................................................................................................... 115
References ................................................................................................. 116
Appendixes ................................................................................................ 117
Appendix A: Design Documentation .......................................................... 117
A.1 Alternative Process Models.......................................................................................... 117
A.1.1 Incremental Development Model.......................................................................... 117
A.1.3 Agile Software Development ................................................................................. 118
A.2 Use Case Narratives...................................................................................................... 119
A.2.1 Use case narrative for Add Products ..................................................................... 119
A.2.2 Use case narrative for Manage Products ............................................................... 120
A.2.3 Use case narrative for Order Products .................................................................. 121
Vindya Thilakarathna Membership No: 990487426 8|Page
ISMS
A.2.4 Use case narrative for Delete User Accounts ........................................................ 124
A.2.5 Use case narrative for Selling Products ................................................................. 125
A.3 Use Case Diagrams ....................................................................................................... 127
A.2.2 Use case diagram for Supplier Management Module ........................................... 127
A.2.3 Use case diagram for Inventory Control Module .................................................. 128
A.3 Sequence Diagram........................................................................................................ 129
A.3.1 Sequence Diagram for User Registration............................................................... 129
A.3.2 Sequence Diagram for Update Records ................................................................. 130
A.4 Activity Diagram ........................................................................................................... 131
A.4.1 Activity Diagram for Sales Module......................................................................... 131
A.5 Wireframes ................................................................................................................... 132
A.5.1 Wireframe for User Registration ........................................................................... 132
A.5.2 Wireframe for User Management ......................................................................... 132
A.5.3 Wireframe for Inventory Control ........................................................................... 133
A.5.4 Wireframe for Stock Monitoring ........................................................................... 133
Appendix B: System Documentation .......................................................... 134
B.1 System Requirements................................................................................................... 134
B.1.1 Hardware Requirements ........................................................................................ 134
B.1.2 Software Requirement ........................................................................................... 134
B.2 Configuration ................................................................................................................ 134
B.2.1 How to Configured System .................................................................................... 134
B.2.2 Find out IP address for SQL Server machine .......................................................... 135
B.2.3 Find Out Port Address for SQL Server .................................................................... 136
B.2.4 Install and enable SQL Server browser .................................................................. 137
B.2.5 Open firewall setting for SQL Server and SQL Server Browser .............................. 139
B.2.6 Enable the Port forwarding to SQL Server Ports .................................................... 139
B.2.7 Connect the SQL server using Windows Authentication and Create user account
......................................................................................................................................... 140
B.2.8 Connect the SQL server using IP Address and SQL Server Authentication ............ 144
B.2.9 Create a New Database Using This Name of ‘Bookshop’ ...................................... 145
B.2.10 restore the database from fresh backup from the device................................... 146
B.2.11 Connection string contain the User Id and Password, these two fields must be fill
in users computer sql server user name and password. ................................................ 148
B.3 Software Installation .................................................................................................... 148
B.3.1 Double click setup files or Run as administrator ................................................... 148
Vindya Thilakarathna Membership No: 990487426 9|Page
ISMS
Appendix C: User Documentation .............................................................. 152
C.1 User Guide .................................................................................................................... 152
C.1.1 Getting Started ....................................................................................................... 152
C.1.2 Login to the System ................................................................................................ 152
C.1.3 Main Window ......................................................................................................... 153
C.1.3.1 Functional Description....................................................................................154
C.1.4 File (Menu Elements) ............................................................................................. 156
C.1.5 Edit Files (Menu Elements) .................................................................................... 156
C.1.5.1 Edit User Details..............................................................................................156
C.1.5.2 Edit Supplier Details........................................................................................157
C.1.5.3 Edit Item Class.................................................................................................158
C.1.5.4 Edit Item Category...........................................................................................158
C.1.5.5 Edit Unit of Measure.......................................................................................159
C.1.5.6 Edit Product Details.........................................................................................160
C.1.6 Reference Files (Menu Elements) .......................................................................... 161
C.1.6.1 User Registration.............................................................................................161
C.1.6.2 Supplier Registration.......................................................................................162
C.1.6.3 Item Class........................................................................................................163
C.1.6.4 Item Category..................................................................................................163
C.1.6.5 Unit of Measure..............................................................................................164
C.1.6.6 Product Registration.......................................................................................165
C.1.7 Control and Management ...................................................................................... 166
C.1.7.1 User Management..........................................................................................166
C.1.7.2 Supplier Management.....................................................................................167
C.1.7.3 Inventory Control............................................................................................168
C.1.7.4 Stock Monitoring.............................................................................................169
C.1.8 Transaction Files (Menu element) ......................................................................... 169
C.1.8.1 Opening Stock Entry........................................................................................170
C.1.8.2 Purchase Order ...............................................................................................171
C.1.8.3 Goods Received Note......................................................................................172
C.1.8.4 Point Of Sales..................................................................................................174
C.1.9 Reports ................................................................................................................... 176
C.1.9.1 Reference Reports (Menu Elements)..............................................................176
Vindya Thilakarathna Membership No: 990487426 10 | P a g e
ISMS
C.1.9.2 Stock Reports (Menu Elements)......................................................................176
C.1.9.3 Transaction Inquiry Reports (Menu Elements)...............................................176
C.1.9.4 User Reports (Menu Elements).......................................................................177
C.1.10 Tools (Menu Elements of Tools) .......................................................................... 177
C.1.10.1 User Privileges...............................................................................................177
C.1.10.2 Change Password..........................................................................................178
C.1.11 About .................................................................................................................... 179
Appendix D: MIS Report Generation .......................................................... 180
D.1 Print Reports ................................................................................................................ 180
D.2 Sample Report of Item Class ........................................................................................ 180
D.3 Sample Report of Unit of Measure .............................................................................. 181
D.4 Sample Report of Inventory ......................................................................................... 181
D.5 Sample Report of Sales ................................................................................................ 182
D.6 Sample Report of Profit ................................................................................................ 182
D.7 Sample Report of Sales Summary ................................................................................ 183
D.8 Sample Report of Stock At Hand .................................................................................. 183
D.9 Sample Report of Stock Balance .................................................................................. 184
D.9 Sample Report of Users ................................................................................................ 184
Appendix E: Test Plan, Test Cases Design and Test Results ......................... 185
E.2 Test Case for Add New User ......................................................................................... 185
E.3 Test Case for Delete User ............................................................................................. 187
E.4 Test Case for Update User Record ................................................................................ 189
E.5 Test Case for Grant Privileges ....................................................................................... 191
E.6 Test Case for Check Privileges ...................................................................................... 193
E.7 Test Case for Supplier Registration .............................................................................. 195
E.8 Test Case for Edit Supplier Records .............................................................................. 197
E.9 Test Case for Delete Suppler ........................................................................................ 199
E.10 Test Case for Opening Stock Entry ............................................................................. 201
E.11 Test Case for Search Current Stock ............................................................................ 204
E.12 Test Case for Search All Stock Records ....................................................................... 205
E.13 Test Case for Item Registration .................................................................................. 206
E.14 Test Case for Search Item ........................................................................................... 208
E.15 Test Case for Control Stock Input ............................................................................... 211
E.16 Test Case for Control Stock Output ............................................................................ 213
Vindya Thilakarathna Membership No: 990487426 11 | P a g e
ISMS
E.17 Test Case for Generate PO.......................................................................................... 215
E.18 Test Case for Generate GRN ....................................................................................... 217
E.19 Test Case for Generate Sales Invoice ......................................................................... 219
E.20 Test Case for Inventory Report ................................................................................... 221
E.21 Test Case for Sales Report .......................................................................................... 222
E.22 Test Case for MIS Report Generation ......................................................................... 224
E.23 Test Case for Number Validation ................................................................................ 225
E.24 Test Case for Email Validation .................................................................................... 226
E.25 Test Case for Duplication entry .................................................................................. 227
E.26 Test Case for Checking for empty fields ..................................................................... 229
E.27 Test Case for Name Validation ................................................................................... 231
E.28 Test Case for Check for Accuracy................................................................................ 232
E.29 Filled UAT feedback from ........................................................................................... 234
Appendix F: Code List ................................................................................. 235
F.1 Save Data ...................................................................................................................... 235
F.2 Edit Data........................................................................................................................ 236
F.3 Delete Data ................................................................................................................... 237
F.4 Validation Data ............................................................................................................. 238
Appendix G: Client Certificate .................................................................... 240
Glossary ..................................................................................................... 241
Vindya Thilakarathna Membership No: 990487426 12 | P a g e
ISMS
List of Figures
Figure 1.Institute Sections 24
Figure 2: Current Process 26
Figure 3: Proposed System – Context Diagram 27
Figure 4: Work breakdown hierarchy 29
Figure 5: Requirement Specification and Analysis [6] 31
Figure 6: Manual Sales Receipt 33
Figure 7: Use Case Diagram for ISMS 38
Figure 8: Proposed System Architecture - Component 50
Figure 9: Waterfall model Diagram 51
Figure 10: Evolutionary Model Diagram 52
Figure 11: Use case Diagram for User Management Module 57
Figure 12: Class Diagram for ISMS 58
Figure 13: Object Diagram for ISMS 59
Figure 14: Activity Diagram for Report Generation Module 60
Figure 15: Activity Diagram for Stock Monitoring Module 61
Figure 16: Sequential Diagram for User Registration 62
Figure 17: Sequential Diagram for Purchasing Items 63
Figure 18: ER Diagram for ISMS 64
Figure 19: Wireframe for the Mail Window 65
Figure 20: Database Architecture 68
Figure 21: Table of Item Class 69
Figure 22: Table of Item Category 70
Figure 23: Table of Unit of Measure 71
Figure 24: Table of Item 72
Figure 25: Table of Item Price 73
Figure 26: Table of Purchase Order Items 74
Figure 27: Table of Purchase Order 75
Figure 28: Table of Goods Received Note 76
Figure 29: Table of Stock 77
Vindya Thilakarathna Membership No: 990487426 13 | P a g e
ISMS
Figure 30: Table of Cart 78
Figure 31: Table of Invoices 79
Figure 32: Table of User Privileges 80
Figure 33: Table of User Profile 82
Figure 34: Table of Suppliers 84
Figure 35: MDI form tool 85
Figure 36: Menu Strip tool 85
Figure 37: Tool Strip tool 85
Figure 40: User Interface of the System Mail Window 86
Figure 38: Textbox tool 86
Figure 39: Button tool 86
Figure 41: Developing of Goods Received Note 93
Figure 42: Black Box Testing [6] 94
Figure 43: White Box Testing[6] 95
Figure 44: User Invalid Test Result 98
Figure 45: User Valid Test Result 99
Figure 46: User Feedback Form 100
Figure 47: User Evaluation Summary Results 101
Figure 48: Password encryption 102
Figure 49: Direct Changeover 103
Figure 50: Parallel Run 104
Figure 51: Phase Implementation 104
Figure 52: Pilot Run 104
Figure 53: Software Environment Diagram 106
Figure 54: Network diagram 107
Figure 55: Change Request Form 109
Figure 56: SWOT Analysis 113
Figure 57: Time Line 115
Figure 58: Incremental Development Model 117
Figure 59: Agile Software Development Model 118
Figure 60: Use case Diagram for Supplier Management Module 127
Figure 61: Use case Diagram for Inventory Control Module 128
Vindya Thilakarathna Membership No: 990487426 14 | P a g e
ISMS
Figure 62: Sequential Diagram for User Registration 129
Figure 63: Sequential Diagram for Update Records 130
Figure 64: Activity Diagram for Sales Module 131
Figure 65: Wireframe for User Registration 132
Figure 66: Wireframe for User Management 132
Figure 67: Wireframe for Inventory Control 133
Figure 68: Wireframe for Stock Monitoring 133
Figure 69: Run SQL Server 134
Figure 70: Connect to the server using Windows Authentication 135
Figure 71: IP address appear in command prompt 135
Figure 72: SQL configuration manager 136
Figure 73:TCP/IP properties 136
Figure 74: Administrative tools 137
Figure 75: Administrative tools services 137
Figure 76: SQL server browse 138
Figure 77: Firewall settings 139
Figure 78: Create firewall new rule 139
Figure 79: Competed new rule 140
Figure 80: Connecting to the sql server 140
Figure 81: Create new login account 141
Figure 82: Login account general details 142
Figure 83: Login account ser role 142
Figure 84: Login account user mapping 143
Figure 85: Login account status 143
Figure 86: Connecting to the server using IP address 144
Figure 87: Create new database 145
Figure 88: Restore database from backup 147
Figure 89: Application installation and Run 151
Figure 90: Splash Screen 152
Figure 91: Login form 152
Figure 92: System Main Window 153
Figure 93: Menu Element of File Menu 156
Vindya Thilakarathna Membership No: 990487426 15 | P a g e
ISMS
Figure 94: Menu element of Edit Menu 156
Figure 95: Edit User Registration Form 157
Figure 96: Edit Supplier Details Form 157
Figure 97: Edit Item Class Form 158
Figure 98: Edit Item Category Form 159
Figure 99: Edit Unit of Measure Form 159
Figure 100: Edit Product Details Form 160
Figure 101: Menu element of Reference Menu 161
Figure 102: User Registration Form 162
Figure 103: Supplier Registration Form 162
Figure 104: Item Class Form 163
Figure 105: Item Category Form 164
Figure 106: Unit of Measure Form 164
Figure 107: Product Registration Form 165
Figure 108: User Management Form 166
Figure 109: Navigation Panel 166
Figure 110: Supplier Management Form 167
Figure 111: Inventory Control Form 168
Figure 112: Control button panel. 168
Figure 113: Stock Monitoring Form 169
Figure 114: Menu element of transaction 169
Figure 115: Opening Stock Entry Form 170
Figure 116: Purchase Order Form 171
Figure 117 : PO navigation button panel. 172
Figure 118: Goods Received Note Form 173
Figure 119: Buttons Panel. 174
Figure 120: Point of Sales Form 175
Figure 121: Cart list navigation button panel 175
Figure 122: Item update and remove buttons 175
Figure 123: Menu element of Reference Menu 176
Figure 124: Menu element of Stock Report Menu 176
Figure 125: Inventory Report Form 176
Vindya Thilakarathna Membership No: 990487426 16 | P a g e
ISMS
Figure 126: Menu element of User report 177
Figure 127: Menu element of Tools Menu 177
Figure 128: User Privileges Form 177
Figure 129: Change Password of logged user Form 178
Figure 130: Form About 179
Figure 131: Print Report 180
Figure 132: Item Class Report 180
Figure 133: Unit of Measure Report 181
Figure 134: Inventory Report 181
Figure 135: Sales Report 182
Figure 136: Profit Report 182
Figure 137: Sales Summary Report 183
Figure 138: Stock At Hand Report 183
Figure 139: Stock Balance Report 184
Figure 140: User Report 184
Figure 141: Before User Registration 186
Figure 142: After Registered User 187
Figure 143: Before Deactivate User 188
Figure 144: After User Deactivation 189
Figure 145: Before update user record 190
Figure 146: After update user record 191
Figure 147: Granting Privileges to the user 192
Figure 148: After privileges granted to the user 193
Figure 149: Before press ‘Delete’ button 194
Figure 150: After press ‘Delete’ button 195
Figure 151: Filled User Details Need to Register 196
Figure 152: After supplier registration 197
Figure 153: Before edit record 198
Figure 154: After edit record 199
Figure 155: Before delete supplier 200
Figure 156: After delete supplier 201
Figure 157: Test result of invalid quantity 202
Vindya Thilakarathna Membership No: 990487426 17 | P a g e
ISMS
Figure 158: Test result of valid quantity 203
Figure 159: Stock at hand 205
Figure 160: Search all stock result 206
Figure 161: Input item details 207
Figure 162: After Item registration 208
Figure 163: Search by item class 209
Figure 164: Search by item category 210
Figure 165: Search by item name 210
Figure 166: Search by item no 210
Figure 167: Invalid stock input result 212
Figure 168: Valid stock input result 212
Figure 169: Result of invalid sale qty 214
Figure 170: Result of valid sales output 214
Figure 171: System generated purchase order 216
Figure 172: System generated goods received note 218
Figure 173: System generated sales invoice 220
Figure 174: Inventory report 222
Figure 176: Sales report 223
Figure 176: Product report 225
Figure 177: Number validation of valid entry 226
Figure 178: Number validation of invalid entry 226
Figure 179: Email validation of valid entry 227
Figure 180: Email validation of invalid entry 227
Figure 181: Induplication entry 228
Figure 182: Duplication of entry 229
Figure 183: Valid entry 230
Figure 184: Invalid entry 230
Figure 185: Valid entry 231
Figure 186: Invalid entry 231
Figure 187: Valid entry for quantity 233
Figure 188: Invalid entry for quantity 233
Figure 189: Feedback form from Chief Executive Officer of Institute 234
Vindya Thilakarathna Membership No: 990487426 18 | P a g e
ISMS
Figure 197: Client Certificate 240
Vindya Thilakarathna Membership No: 990487426 19 | P a g e
ISMS
List of Tables
Table 1: Estimate Cost of Current Process...............................................................................26
Table 2: Actor Glossary............................................................................................................35
Table 3: Use case glossary.......................................................................................................37
Table 4: Use Case Narrative for Create User Account.............................................................40
Table 5: Use Case Narrative for Login to the System..............................................................42
Table 6: Use Case Narrative for Logout from System..............................................................43
Table 7: Use Case Narrative for Searching records.................................................................44
Table 8: Use Case Narrative for Add Supplier..........................................................................45
Table 9: Use Case Narrative for View Reports.........................................................................47
Table 10: Tools Used For Design..............................................................................................54
Table 11: Test case of Login to the system..............................................................................97
Table 12: Cost of Ownership..................................................................................................112
Table 13: Use Case Narrative for Add products.....................................................................120
Table 14: Use Case Narrative for manage products..............................................................121
Table 15: Use Case Narrative for Order products..................................................................123
Table 16: Use Case Narrative for delete user accounts.........................................................125
Table 17: Use Case Narrative for selling products.................................................................126
Table 18: Functional Description of Main Window Buttons..................................................155
Table 19: Test case for Add New User...................................................................................185
Table 20: Test case for Deactivate User................................................................................188
Table 21: Test case for Update User Record..........................................................................190
Table 22: Test case for Grant Privileges................................................................................192
Table 23: Test case for Check Privileges................................................................................194
Table 24: Test case for Supplier Registration........................................................................196
Table 25: Test case for Edit Supplier Records........................................................................198
Table 26: Test case for Delete Suppler..................................................................................200
Table 27: Test case for Opening Stock Entry.........................................................................202
Table 28: Test case for Search Current Stock........................................................................204
Vindya Thilakarathna Membership No: 990487426 20 | P a g e
ISMS
Table 29: Test case for Search All Stock Records...................................................................206
Table 30: Test case for Item Registration..............................................................................207
Table 31: Test case for Search Item.......................................................................................209
Table 32: Test case for Control Stock Input...........................................................................211
Table 33: Test case for Control Stock Output........................................................................213
Table 34: Test case for Generate PO.....................................................................................215
Table 35: Test case for Generate GRN...................................................................................217
Table 36: Test case for Generate Sales Invoice......................................................................219
Table 37: Test case for Inventory Report...............................................................................221
Table 38: Test case for Sales Report......................................................................................223
Table 39: Test case for MIS Report Generation.....................................................................224
Table 40: Test case for Number Validation...........................................................................226
Table 41: Test case for Email Validation...............................................................................227
Table 42: Test case for Duplication entry..............................................................................228
Table 43: Test case for Checking for empty fields.................................................................230
Table 44: Test case for Name Validation...............................................................................231
Table 45: Test case for Check Accuracy.................................................................................232
Vindya Thilakarathna Membership No: 990487426 21 | P a g e
ISMS
List of Acronyms
Acronyms Meaning
ADSL Asymmetric Digital Subscriber Line
BCS - HEQ British Computer Society – Higher Education Qualification
CEO Chief Executive Officer
CM Configuration Manager
ER Entity Relationship
ERP Enterprise Resource Planning
FK Foreign Key
GCE – A/L General Certificate of Education – Advanced Level
GRN Goods Received Note
IDE Integrated Development Environment
IEEE Institute of Electrical and Electronics Engineering
IP Internet Protocol
ISMS Inventory and Sales Management System
IT Information Technology
LAN Local Area Network
MIS Management Information System
NBT Nation Build Tax
OOP Object Oriented Programming
PC Personal Computer
PGD Professional Graduate Diploma
PK Primary Key
PO Purchase Order
POS Point Of Sales
QA Quality Assurance
Rs Rupee
Sasip Definition of ‘Knowledge’ in Sinhala
SQL Structured Query Language
Vindya Thilakarathna Membership No: 990487426 22 | P a g e
ISMS
SWOT Strength, Weakness, Opportunities and Threats
TCO Total – Cost of Ownership
TCP/IP Transmission Control Protocol / Internet Protocol
UAT User Acceptance Test
UC Use Cases
UI User Interfaces
UML Unified Modelling Language
UOM Unit Of Measure
VAT Value Added Tax
Wi-Fi Wireless Fidelity
Vindya Thilakarathna Membership No: 990487426 23 | P a g e
ISMS
Chapter 01: Introduction
1.1 Introduction
The British Computer Society- Chartered Institute for IT is a leading global awarding body for
Information Technology. Successfully completion on BCS Higher Education Qualification
(HEQ) is equal to a UK honors degree qualification and accreditation for apply Britain and
overseas universities for the master degree [1]. In order to complete BCS HEQ and to
become a professional member of British Computer Society (MBCS), completion of BCS PGD
Professional Project is mandatory. Therefore I came up with to develop ‘Inventory and Sales
Management System’ to the bookshop of Sasip Institute for my project.
1.2 Company Background
Sasip Institute (http://sasip.lk/) is one of pioneer secondary education institute in Sri Lanka.
In 2009 established at the Nugegoda. Over the past years institute has produce some of the
top scoring students in GCE A/L examination in the science, mathematics, commerce and
art screams. Sasip Bookshop is a fully-owned subsidiary of the institute which provides
educational materials to the institute’s students
Food
Services
HR
Bookshop
Institute
Financial
Department
Education
Department
Figure 1.Institute Sections
Vindya Thilakarathna Membership No: 990487426 24 | P a g e
ISMS
1.3 AS-IS process
Manual hand written purchase order raised to suppliers in order to procure
merchandize to the shop
Challenge: Real-time stock status is not available, hence facing a risk in proper
understanding of the existing inventory.
Good receive note is issued against the items received that stock receiving point
Challenge: The complete business functions are manages using manual forms and
passed from one point of business to another creating delays and mis-management of
the documents.
Invoices are maintained manually at the point of sales counters.
Challenge: The stock counts are maintained in ad-hoc manner while there were
incidents of data duplication and missing of essential information.
Daily reconciliation of invoices are carried out manually
Challenge: Not be able to keep track of the stock-at-hand and inability to generate daily
inventory reports and sales reports. Procedure of daily invoice reconciliation of stocks,
revenue management and profitability calculations are repeated several times as the
information is scattered over the manual documents.
Estimate Cost of Current Process per Month
Cost of Time For manual process
Create purchase order 15 Minutes
Create goods received note 10 Minutes
Search Item details 20 Minutes
Search supplier details 20 Minutes
Calculate inventory details 30 Minutes
Search stock records 30 Minutes
Create invoice (receipt) 10 Minutes
Create report (per one report) 30 Minutes
Vindya Thilakarathna Membership No: 990487426 25 | P a g e
ISMS
Cost of Wages
Number of required employees to the bookshop 5
Cost of wages for store keepers = 30000 Rs x 2 60 000 Rs
Cost of wages for Cashier= 20000 Rs x 3 60 000 Rs
Table 1: Estimate Cost of Current Process per month
Following figure illustrate the as-is process of the bookshop
Problems
No current status of the
stock
Supplies Missing essential information
Supplier
Make Payment
Problems
Store
Keeper
Problems No records of inventory
No record of products details
Provide Manual Purchase order No records of supplier details
and Goods Received Note
Calculation errors
Issue to the shop
Duplication entry
Missing essential information
Shop
Problems Problems
Time Consuming
Manual Invoice
Calculation errors
Processing delay
Immediate Payment Delivery Items
Sales
Counter
Reports
Manager
Reports
Problems
Supplier report?
Inventory report?
Sales report?
Figure 2: Current Process
Vindya Thilakarathna Membership No: 990487426 26 | P a g e
ISMS
1.4 Project Scope
1.4.1 Context Diagram of proposed system
User
Supplier Management
Management and Access
Module Level Control
Inventory
Control Issue PO
Module and GRN
Module
Inventory and
Sales Management
System
Inventory Sales
Control Module Module
Report
Generation
Module
Figure 3: Proposed System – Context Diagram
1.4.2 Scope and Functionality
User Management and access level controls
Login
Registering new user
Managing user information
Manage user access privileges and credentials
Supplier/Vendor Management
Adding and maintaining supplier/vendor information
Stock Monitoring
Adding and maintaining stock details by assigning system generated unique code
Vindya Thilakarathna Membership No: 990487426 27 | P a g e
ISMS
Inventory Control
Manage inventory by assigning stock.
Controlling stock input and output.
Issue PO and GRN
Issue system generated Purchase Order.
Issue system generated Goods Received Note.
Sales
Issue system generated sales invoice
MIS Report Generation
Generating reports for all necessary business functions
1.5Objectives
Validate all data entries to minimize data redundancy to the system.
Quick search facility in all merchandise and look up for all history data and trends of
sales.
Increase efficiency by system generating purchase order note and goods received note
and enable real time tallying of stock of sales and stock at hand.
Replace all challenging manual business activities with effective and integrated system
while enabling the organization to enjoy the rapid total-cost of ownership (TCO).
MIS report generation that fulfils the management expectations and assist in making
strategic decisions with up-to-date information decisions with up-to-date information.
Vindya Thilakarathna Membership No: 990487426 28 | P a g e
ISMS
1.6Work Breakdown Structure (WBS) of ISMS
Project
ISMS Project
Summary
Requirement System System System
System Designing System Testing
Specification Development Implementation Maintenance
Application support
Analyze current Design conceptual
Develop database Design test case System deployment and maintenance
process diagram
plan
Identify scope and Conduct user Request handling
Design database Develop modules Testing and result
objectives training and version control
Identify drawbacks Conduct user
Design ER diagram Debug coding
of current process evaluation
Design user
Gathering client Conduct security
interfaces with Apply coding
requirements evaluation
Wireframes
Analyze gathered Client review & Conduct user
requirements approval for design acceptance testing
Conduct literature
survey
Design use case
diagrams
Document
requirement
specification
Figure 4: Work breakdown hierarchy
1.7Document Arrangements
Documentation is organized as follows.
The Chapter 1 discuss the introduction about the purpose of this project and organization
background where going to develop the proposed system. Current manual business process
of the system described here. Objectives based on the organization (client’s) priorities of the
proposed system are also described.
Vindya Thilakarathna Membership No: 990487426 29 | P a g e
ISMS
The Chapter 2 consists of the requirement specification of this project. Drawback of the
existing system and advantages of the envisioned system included here. The ways of
requirement gathering and technique that used to analyzing those requirements are
described. Further functional requirement and non functional requirements are explained
here.
The Chapter 3 describes the system designing methods that used in this project. Process
model and reasons of selecting those process model and tools used for designing where
described here. Description about the user interface designing include here.
The Chapter 4 includes description of the system development process. Chapter described
the implementation environment, user interface development, major codes and module
structure.
The Chapter 5 describes the system testing and evaluation process. Testing strategies, test
cases and the test results are includes here. The way of user evaluation of the system
demonstrated.
The Chapter 6 describes the implementation and maintenance of this project.
Implementation strategies and plans were explained here.
The Chapter 7 is describes critical appraisal of the project. Overall achievement of the
current project and suggestion for future enhancement were emplaned here. This section
also described SWOT analysis and lesson learnt during the project.
In this project also includes appendices that consist of further information which
is not essential to be included in the main report. User documentation also attaches.
Moreover final section of this documentation include description about MIS report
generation, Code list and client certificate.
Vindya Thilakarathna Membership No: 990487426 30 | P a g e
ISMS
Chapter 02: Requirements Specification
1.1Introduction
Requirement identification stage has been challenging due to the non-existence of any
automated system at the Sasip bookshop. The main purpose of this section is get to a clear
idea about the business process and current challenges which requires fulfilling with the
proposed solution. This chapter describes drawbacks of current process and the advantages
of proposed system. Chapter will also explain overview of requirement gathering, way of
analyse requirements, functional and non-function requirements.
1.Reruirement
Discovery
2.Requirement
4.Requirement
Classification and
Specification
Organization
3.Requirememts
Prioritization and
Negotiation
Figure 5: Requirement Specification and Analysis [6]
2.2 Drawbacks of Existing System
Real-time stock statuses are not available on request hence facing a risk in figuring out
real-time stock status.
The complete business functions are manually handled and passed from point-to-point
creating mis-management of documents and delays in processing
Redundancies of data are experienced while data duplication is observed at various
points of the business process.
Unable keep track of the stock-at-hand
Vindya Thilakarathna Membership No: 990487426 31 | P a g e
ISMS
Time consuming as a result of searching previous records through manual files.
Calculation errors are observed due to manual procedures.
Management cannot response quickly for making decision and decision could be in-
efficient because of searching records through manually.
2.3 Advantages of Envisioned System
Quick search facilities about supplier and user details.
Real-time maintenance of supplier and user records.
Quick search facilities about product details.
Stock categorized using a standard coding system.
Increase efficiency through printing facilities for generating POs and GRNs.
Quick search facilities on stock details.
Sales invoices (receipts) are printed on request with increased efficiencies.
MIS report generation on demand by the management for making decisions on
accurate information.
2.4 Requirement Gathering
Requirement gathering has been conducted through user interviews, observations, focus
group discussions, and existing documents reviews. Combination of these techniques has
yield in better quality results. Following are the technique I used.
2.4.1 Document Reviews
Because of Sasip Bookshop is currently use manual file based system document review
method has been chosen as my primary requirement gathering technique. Document
review is one of the elicitation techniques to gathered requirements through the existing
Vindya Thilakarathna Membership No: 990487426 32 | P a g e
ISMS
system via documents. Such as policy manuals, instruction manuals, staff duty descriptions,
job description, organization charts and investigation of manual records. Sample manual
invoice (Receipt) shown at below for reference.
Figure 6: Manual Sales Receipt
2.4.2 Interviews
On the completion of requirement gathering via document reviews, I conducted end user
interview sessions to further clarification of requirements. During the interview sessions I
was able to understand of the existing business challenges in details from each user
perspective even though the interviewing being considered as the basic model of
requirement elicitation method.
2.4.3 Observation
Observation method has been adopted to further establish my understanding on the
existing business practices. Physically visited the bookshop and spend time at each key user
to observe their routine activities in fulfilling each business transaction. The series of
physical visits and observations has given me visual understanding of the user interactions
with manual procedures.
Vindya Thilakarathna Membership No: 990487426 33 | P a g e
ISMS
2.5 Literature Review
The literature review is an overview of researching of alternative systems exists in market to
facilitate similar business challenges. From this review I was able to understand the common
nature of the similar software solutions. Understanding these common features helped me
in formulating solution to address specific business needs of Sasip bookshop. Refer below
the two solutions I reviewed for the above purpose;
2.5.1 Enterprise Resource Planning (ERP) Systems
Enterprises resource planning systems is business management software which integrated
of several applications according to the business organization needs. Such as, Inventory and
Sales, Human Recourses, Financial, Production and manufacturing, Point of Sales systems.
[2]
Advantages
High quality and efficiency product.
Provides many benefits, robust and adaptability for customer needs.
Saving time consuming.
Disadvantages
Huge maintaining and software cost.
2.5.2 Point Of Sales (POS) / Retail Management
Systems
The Point of Sales (POS) or Retail Management systems are computer aid retails systems
which handle retails business. IT is very popular software in these days. This software is very
powerful, adaptable and it takes complete with all lager to small types of retail businesses.
[3]
Advantages
Flexible and rich functionality
Vindya Thilakarathna Membership No: 990487426 34 | P a g e
ISMS
Easy to use
High and consistent operating speed
Remote supportability
Disadvantages
Costly software upgrades
Connection reliability.
2.6 Requirement Analysis
After initial feasibility study next step is requirement analysis. This phase include the
methods and models I have adopted to segregate requirements to identify requirements of
specific business processes. Clear understanding of the requirements gives comprehensive
view of the scope of the proposed solution.
2.6.1 Actor Glossary
Actor is an anything or anyone who interact with the system.
Term Synonym Description
(level)
Managing Admin The person who manage the activities of institute
Director and the bookshop.
Stock Keeper User The person who is responsible for stock inventory
and keep tracks of stock details.
Cashier User The person who keep track of the daily sales
volumes.
Table 2: Actor Glossary
2.6.2 Use Cases
Use cases is an object oriented technique that describes who interact with the system and
system functionality in users preferred language.
Vindya Thilakarathna Membership No: 990487426 35 | P a g e
ISMS
2.6.2.1 Use Case Glossary
Use Use Case Overview Participating Actors & Roles
Case No Name (Depend on user Privileges)
UC-01 Create User Create User Accounts Admin: Ability to create user
Accounts for the users accounts for the employees who
interact with the system.
UC-02 Modify User Update user accounts All actors: Ability to update, delete
Accounts user accounts and grant privileges
to the users.
UC-03 Grant User Grant Privileges to the Admin: Ability to granting save,
Privileges users update, delete records to the users
UC-04 Delete User Delete user account Admin: Ability to delete user from
Account the system.
UC-05 Login to the Allow the user to login All actors: Ability to login to the
system to the system system using user name and
password.
UC-06 Add Supplier Supplier registration All actors: Ability to register new
supplier to the system.
UC-07 Modify Update and delete All actors: Ability to update and
Details supplier details delete details in entered data.
UC-08 Add Product Involve adding product All actors: Ability to register new
to the system product to the system.
UC-09 Manage Involve editing & All actors: Ability to editing and
product deleting details related deleting product
to the ordered product
UC-10 Order product Involve purchasing All actors: Ability to create
product to the stock. purchase order.
Vindya Thilakarathna Membership No: 990487426 36 | P a g e
ISMS
UC-11 Manage stock Capturing and entering, All actors:
editing & deleting Ability creates, edit, and delete
statutory details related stock
to stock.
UC-12 Searching Searching of data from All actors: Ability to search records.
data the database
UC-13 Selling Selling product at the All actors: Ability to sell product
Products cashier counter. and print receipts.
UC-14 View reports Viewing the reports Admin: Ability to view all reports to
from the database. make business decisions
UC-15 Logout from Allow to logged user to All actors: Ability to logout from
system logout from system. the system.
Table 3: Use case glossary
Vindya Thilakarathna Membership No: 990487426 37 | P a g e
ISMS
2.6.2.2 Use Case Diagram
Inventory and Sales Management System
«uses»
Using valid user
Login to the system
name & password
«extends»
Create user
accounts Delete user account
«uses»
Admin Grant privileges
«extends» Manage supplier
Add supplier details
«extends»
Manage product
Add product
details
«extends» Create purchase
Order product order
«extends»
User (Store Keeper / Chasheir)
Create goods
Manage stock received note
Salling products
User records
«extends»
Logout from system
«extends» Supplier records
View reports Search records
«extends»
«extends»
Products records
Print report
Figure 7: Use Case Diagram for ISMS
Vindya Thilakarathna Membership No: 990487426 38 | P a g e
ISMS
2.6.2.3 Use Case Narratives
Use case narrative for Create User Accounts
Use Case No UC-01
Use Case Create User Accounts
Name
Last Date 2016-07-12
Modified
Overview Function enable to create user accounts for the users
Actors Primary : Admin
Secondary : -
Conditions Pre-condition: Administrating user must login to the system
Post-condition:
1. Registration complete-Register new user to the system and
provide user level
2. Cancelation-Cancel performance.
3. Successful deletion-User can deactivate by clicking ‘Delete’ button.
4. The system reject performance-Data duplication avoid when
registering same user to the system.
Business Only administrator level user can register new users and deactivate
Rules current users.
Main Flow of 1. User click ‘User’ button.
Event
2. The system will display User Registration form.
3. The user entering details of new user and provide necessary user
level by selecting ‘User Level’ combo Box and clicking ‘Save’
button.
Vindya Thilakarathna Membership No: 990487426 39 | P a g e
ISMS
4. Use case terminates with the post-condition 1.
5. Deactivate users from clicking ‘Delete’ button
6. Use case terminates with the post-condition 3
Alternative 1. User click ‘User’ button.
Flow of
2. The system will display User Registration form.
Events
3. User wants to abort from performance.
4. User click ‘Cancel’ button.
5. Use case terminates with the post-condition 2
6. The user trying to save registered user again to the system.
7. The system display error message.
8. Use case terminates with the post-condition 4
Associate Use Uses: Delete User Account
Cases Uses: Grant User Privileges
Assumption User already logged to the system and user must be administrative level
user.
Table 4: Use Case Narrative for Create User Account
Use case narrative for Login to the system
Use Case No UC-05
Use Case Name Login to the system
Last Date 2016-07-12
Modified
Overview Function enables users to login to the system.
Vindya Thilakarathna Membership No: 990487426 40 | P a g e
ISMS
Actors Primary: All actors.
Secondary : -
Conditions Pre-condition: User must register with the system with username,
password, user level and privileges provided by the administrator.
Post-condition:
1. Login successful: user access to the system
2. Cancelation-Cancel performance.
3. The system rejects performance-The user is not register with
the system or user deactivated by administrator.
Business Rules The system will not let unauthorized access login to the system.
Main Flow of 1. The system will display login form after splash screen when
Event user click system icon.
2. User enter valid user name and password and click ‘Login’
button
3. Use case terminates with the post-condition 1.
Alternative Flow 1. The system will display login form after splash screen when
of Events user click system icon.
2. The user wants to abort from login form.
3. User click ‘Exit’ button.
4. Use case terminates with the post-condition 2.
5. New user or user enter invalid user name and pass word and
click ‘Login’ button.
6. The system will display error message.
7. Use case terminates with the post-condition 3.
Vindya Thilakarathna Membership No: 990487426 41 | P a g e
ISMS
8. Deactivated user try access by entering previous user name and
password.
9. The system will display error message.
10. Use case terminates with the post-condition 3.
Associate Use Uses: Logout from the system.
Cases Used By None
Assumption User already logged to the system.
Table 5: Use Case Narrative for Login to the System
Use case narrative for Logout from system
Use Case No UC-15
Use Case Name Logout from system
Last Date Modified 2016-07-12
Overview Function enable to user logout from the system
Actors Primary : All actors
Secondary : -
Conditions Pre-condition: The user already login to the system
Post-condition:
1. Logout success-user directed to the login from.
2. Cancelation-Cancel performance.
Business Rules System allows cancel of logout performance if it is necessary.
Main Flow of Event 1. User click ‘Logout’ button.
2. System will display confirmation message.
3. User click ‘OK’ button.
4. Use case terminates with the post-condition 1.
Vindya Thilakarathna Membership No: 990487426 42 | P a g e
ISMS
Alternative Flow of 1. User click ‘Logout’ button.
Events
2. System will display confirmation message.
3. User click ‘Cancel’ button.
4. Use case terminates with the post-condition 2.
Associate Use Uses: Login to the system
Cases Used By None
Assumption User already logged to the system.
Table 6: Use Case Narrative for Logout from System
Use case narrative for Searching records
Use Case No UC-12
Use Case Name Searching data
Last Date Modified 2016-07-13
Overview Function enables to search record from the database.
Actors Primary : Admin
Secondary : -User
Conditions Pre-condition: All actors must login to the system
Post-condition:
1. Search complete-System provides results related to the
search.
2. Cancelation-Cancel performance.
Business Rules All registered user can perform actions.
Main Flow of Event 1. Users enter what object he/she need to search.
2. The system will display the result related to entered object.
Vindya Thilakarathna Membership No: 990487426 43 | P a g e
ISMS
3. Use case terminates with the post-condition 1.
Alternative Flow of 1. User click ‘Search All’ button.
Events
2. The system will display the results.
3. User wants to abort from performance.
4. User click ‘Cancel’ button.
5. Use case terminates with the post-condition 2.
Associate Use Used By None
Cases
Assumption User already logged to the system.
Table 7: Use Case Narrative for Searching records
Use case narrative for Add supplier
Use Case No UC-06
Use Case Name Add Supplier
Last Date 2016-07-13
Modified
Overview Function enable to register new supplier to the system
Actors Primary : Admin
Secondary : -User
Conditions Pre-condition: All actors must login to the system
Post-condition:
1. Registration complete-Register new supplier to the system.
2. Cancelation-Cancel performance.
3. The system reject performance-Data duplication avoid when
Vindya Thilakarathna Membership No: 990487426 44 | P a g e
ISMS
registering same supplier to the system.
Business Rules All registered user can perform actions.
Main Flow of 1. User click ‘Supplier’ button.
Event
2. The system will display Supplier Registration form.
3. The user entering details of new supplier and click ‘Save’
button.
4. Use case terminates with the post-condition 1.
Alternative Flow 1. User click ‘Supplier’ button.
of Events
2. The system will display Supplier Registration form.
3. User wants to abort from performance.
4. User click ‘Cancel’ button.
5. Use case terminates with the post-condition
6. The user trying to save registered supplier again to the
system.
7. The system display error message.
8. Use case terminates with the post-condition 3
Associate Use Uses: Modify Details
Cases Used By None
Assumption User already logged to the system.
Table 8: Use Case Narrative for Add Supplier
Vindya Thilakarathna Membership No: 990487426 45 | P a g e
ISMS
Use case narrative for View report
Use Case No UC-14
Use Case Name View reports
Last Date Modified 2016-07-13
Overview Function enables to view reports generation from the system.
Actors Primary : Admin
Secondary : -
Conditions Pre-condition: Administrator must login to the system
Post-condition:
1. Report generation complete-Register new supplier to the
system.
2. Cancelation-Cancel performance.
3. The system reject performance-Unauthorized user try to
view reports.
Business Rules Only administrative users can view reports.
Main Flow of Event 1. User selects what he/she need to view and click ‘Print’
button.
2. The system will display report.
3. Use case terminates with the post-condition 1.
Alternative Flow of 1. User wants to abort from performance.
Events
2. User click ‘Cancel’ button.
3. Use case terminates with the post-condition 2.
4. The non-administrator trying to view reports.
5. The system display error message.
Vindya Thilakarathna Membership No: 990487426 46 | P a g e
ISMS
6. Use case terminates with the post-condition 3
Associate Use Used By None
Cases
Assumption Administrators already logged to the system.
Table 9: Use Case Narrative for View Reports
Please Refer Appendix A- Design Documentation A. 2 for rest of the Use Case Narratives:
2.7 Functional Requirements
Functional requirements include features or business processes that the system is expected
to fulfill from automation. Functional requirements describe behavior of the system with
respect to a particular situation.
2.7.1 User Management and Access Level Control
Register new user.
Managing user information.
Granting privileges to the user.
Change user password.
2.7.2 Supplier (Vendor) management
Register new supplier details.
Managing supplier information.
Search supplier records.
2.7.3 Stock Monitoring
Stock Category
Adding new stock details by assigning unique code.
Vindya Thilakarathna Membership No: 990487426 47 | P a g e
ISMS
Searching facilities of category.
Search stock at present time
2.7.4 Issue System Generated POs and GRNs.
Generate purchase order.
Generate goods received note.
2.7.5 Inventory Control
Adding product by assigning unique code.
Controlling product inputs and outputs.
Managing products.
2.7.6 Sales
Issue System Generated Invoice (Receipt).
Search Facilities
Availability of search any record stores in the system
2.7.7 MIS Report Generations
Generating reports for all necessary things.
Generate inventory and sale report date wisely
2.8 Non-functional Requirements
Non functional requirements are constraints on the services or functions offered by the new
system or behavior of the new system with the technical aspects. Such as system properties
and constraints, system performance, maintainability, robustness, efficiency, availability and
reliabilities.
Vindya Thilakarathna Membership No: 990487426 48 | P a g e
ISMS
2.8.1 Performance
The important aspect of the developed system is time constrain, fast response when
accessing system through internet which helps in reducing the time consumption and the
workloads.
Fast response rate of the system will improve efficiency. On completion of creating master
records for the product details, supplier details, inventory details, user details, query and
search for any record will take le than 3 seconds.
2.8.2 Efficiency
The new system delivers efficiency in shop floor with data accuracy and rapid response to
user queries. Further, the solution improved the productivity in printing, inventory
consolidation and maintains real-time inventory statistics.
2.8.3 Reliability and Accuracy
Thoroughly tested application delivers highest satisfaction to the users with reliable
information across all business processes.
2.8.4 Maintainability
The system has been structured in a manner that new modules or features can be
seamlessly integrated to the existing platform with minimum downtime. Also the database
structures and the queries are optimized to handle higher data volumes on operational
basis.
2.9 Functional Specification
Following figure illustrate the component specification of the proposed system
Vindya Thilakarathna Membership No: 990487426 49 | P a g e
ISMS
Server Printer
Firewall
PC 1
Network Router Wifi Router
Laptop
PC 2
Figure 8: Proposed System Architecture - Component
Vindya Thilakarathna Membership No: 990487426 50 | P a g e
ISMS
Chapter 03: System Designing
3.1 Introduction
The main purpose of system design is to determine how the proposed solution is intended
to function including the architecture, logical and physical design, structure, behaviour, data
flow, interface, data analysis and process design. This chapter will explain process model
that I pursuit, tools used to design, UML diagrams and how I design user interfaces including
wireframes for satisfaction of requirements.
3.2 Process Model
Software development methodology or process model is systematic approach to develop
software. It is a sequence of activities that leads to the development of software product.
The selection of the methodology depends on nature the problem and business
requirements of the client. Each methodology has its own pros and cons. [4]
3.3 Methodology Selected
3.3.1 Waterfall Model
Figure 9: Waterfall model Diagram[4]
Vindya Thilakarathna Membership No: 990487426 51 | P a g e
ISMS
Waterfall model is the initial software development model introduces which is also known
as the Classic Software Life Cycle or Sequential Process. Waterfall Model requires all the
predecessor process phases to fully complete before moving into the next phases. This
model is mostly suited when the requirements are fully discussed and finalized. Further the
model is more practical for small projects with no ambiguity in business requirements.
Advantages
Simple and easy to understand
Well suited for requirements are very well understood
Suitable for smaller projects and higher reliability and efficiency
Disadvantages
Difficult to changing requirements
Once process is started there is no turning back
No flexible and high amount of risk for complex projects
1.3.2 Evolutionary Development Model
Figure 10: Evolutionary Model Diagram [4]
Evolutionary Development process model is iterative approach based on the idea of rapidly
developing an initial software implementation from very abstract specification rather than
Vindya Thilakarathna Membership No: 990487426 52 | P a g e
ISMS
separate specification, development and validation activities. Each version is refined based
on feedback from the client. This model base on the prototyping and there are two
prototyping techniques namely,
1. Exploratory programming.
2. Throw-away prototyping.
Advantages
Always welcome requirement changes.
Provide quickly version of developing system.
Association with all team of project.
Disadvantages
Not supporting for documentation part.
Invisible process.
3.4 Justification for Selection
The selection of the process model depends on the type and nature of the project. The
proposed “Inventory and Sales Management System” will be build using hybrid solution
combining traditional Waterfall model with Evolutionary development model.
Traditional waterfall approach has distinct process phase such as requirement analysis,
system and software design, implementation and unit testing, integration and system
testing and operation and maintaining. It is simple, easy to understand and use. Well suited
for requirements are very well understood projects.
Main drawback is requirements cannot change during the project. Accommodating changes
during the process leads to greater degree of rework and schedule variances. Hence the
water fall model is more suited for smaller projects. Evolutionary development model has
been introduced as a solution to accommodate the above drawbacks of the traditional
Vindya Thilakarathna Membership No: 990487426 53 | P a g e
ISMS
waterfall model. Evolutionary approach encourages user involvement. Incremental
deliverables are validated and verified by the client.
3.4.1 Reasons implementing hybrid solution
Reasons implementing hybrid solution as traditional waterfall model combining with
Evolutionary development process to the project,
The proposed Inventory and Sales Management System includes limited
business processes and clear scope.
Requirements are very well understood.
The project intends to launch of a new product.
A client expects to bring in new functionality.
Clients will be able to change the scope of the project.
Please Refer Appendix A- Design Documentation A. 1 for Alternative Process Models:
Figure 49: Incremental Development Model
Figure 50: Agile Software Development Model
3.5 Tools used for Design
Diagram / Task Tool
UML diagrams Microsoft Visio 2007
Wireframe Design Evolus Pencil
Design Images Adobe Photoshop CS5
User Inter faces Microsoft Visual Studio 2013
ER Diagram Microsoft Visio 2007
Table 10: Tools Used For Design
Vindya Thilakarathna Membership No: 990487426 54 | P a g e
ISMS
3.6 System Design
Proposed solution is divided into module as discussed below for clarity.
3.6.1 User Management and Access Level Control
Module
This module provides features for the administrator to create user accounts for the
employee to use the system. According to the client requirement account can be either user
account or administrative account. Only administrative level users are allowed to create
user account for the other users. The system privileges also manage by the administrator.
3.6.2 Supplier Management Module
The supplier management module provides features of registering new supplier to the
system or edits supplier details or delete supplier from the system. The supplier can be
either person or organization. The system allows to all users who are registered in system
access to this module.
3.6.3 Inventory Control Module
This module consists of register and manages items, item class, item category, unit of
measure details and unit price. This module is available for all users registered in the
system. Each item assigned with unique code, re-order level and limit of that item should be
available at the stock.
3.6.4 Stock Monitoring Module
This module provides details of the stock. Opening stock details are maintained in the
system and can review the details of the stock through this module. The stock monitoring
module assists the user to understand real time stock status and also to take critical
business decisions.
Vindya Thilakarathna Membership No: 990487426 55 | P a g e
ISMS
3.6.5 Issue PO and GRN Module
This module consists of generating purchase order and goods received note when the point
of purchasing new items to the stock. All users can accessible to use this module.
3.6.6 Sales Module
This module provides necessary features to manage transactions of the sales at the point of
sales. The main purpose of this module is storing sales details and generates sales invoices.
All users registered in at the system can access this module.
3.6.7 Report Generation Module
The report generation module produce reports for all necessary business functions and
analytics for real time decision support for the management. This module can only
accessible for the administrative level users.
3.7 UML Diagrams for the Proposed System
The Unified Modeling Language (UML) is a standard modeling language in the field of
software engineering which consists of 9 types of diagrams divided into five views namely
user view, structural view, behavioral view, implementation view, environment view. The
UML is kind of the software blueprint language for the different types of stakeholders
including analysts, designers, developers, end users and also sales & marketing professionals
of the project. The UML gives everyone to a common vocabulary to discuss about software
design.
3.7.1 User View
User view diagram only consists of use case diagram. Use case diagram is graphically
describes who are interact with the system and what system does. Highest level view as
seen by uses of the software system. It is closely connected to the scenario. [4]
Vindya Thilakarathna Membership No: 990487426 56 | P a g e
ISMS
Use Cases is a subset of scenario for single task.Actors are anythin or anyone that involeved
in tasks.In between actors and usecases has a connection communication.
3.7.1.1 Use case diagram for User Management Module
User Managements and Access Level Control
Login to the system
«uses»
Using valid user
name & password
«extends»
Create user account
Edit user account
«extends»
«uses»
Admin
User
Delete user account
Grant system
privileges
Search user
View reports
Logout from the
system
Figure 11: Use case Diagram for User Management Module
Please Refer Appendix A- Design Documentation A.2 for Use Case Diagrams:
Figure 51: Use case Diagram for Supplier Management Module
Figure 52: Use case Diagram for Inventory Control Module
Vindya Thilakarathna Membership No: 990487426 57 | P a g e
ISMS
3.7.2 Structural View
Consist of Class diagrams and Object diagrams which represent the static relationship of the
system. [4]
3.7.2.1 Class diagram for the system
Class diagram include classes and their relationships. It is static structure gives an overview
of the proposed system. Class diagram directly mapped with the Object Oriented
Programming (OOP) concept.
Item_Class User_Profile User_Privileges
Supplier
-idItemClass : int -idUser : int -idUP : int
-class_no : char -idSupplier : int -user_no : char -user_no : char
Unit_of_Measure
-class_name : string -supplier_no : char -title : string -user_name : string
-idUOM : int -title : string
-remark : string -userf_name : string -password : string
-uom_no : char -supplier_name : string
-mode : string -userm_name : string -designation : string
-uom_name : string -gender : string
+createItemClass() -userl_name : string -access_data : string
-remark : string -reference_no : string -gender : string 1 -save_data : string
-mode : string -bA_no : string -reference_no : string -update_data : string
10..* +createUOM() -bA_street : string -dob : Date -delete_data : string
-bA_state : string -civil_status : string -
Item_Category -bA_city : string -religion : string
1 -bA_country : string +grantPrivilege()
-idItemCategory : int -uA_no : string
-category_no : char Item_Price -bA_tel : char -uA_street : string
-category_name : string -idIP : int -bA_cell : char -uA_state : string 1 Invoice
-remark : string -price_date : Date -bA_fax : char -uA_state : string
-bA_email : string -idInv : int
-class_no : string -purchase_price : Date -uA_city : string
-bA_web : string -inv_no : char
-mode : string -selling_price : float -uA_country : string
-remark : string -inv_date : Date
+createItemCategory() -discount : float -telephone_no : string Stock
-supplier_image : byte -sub_total : float
-vat : float -cell : char 0..*
-mode : string -idStock -discount : float
-nbt : float -email : string
0..1 1 +addSupplier() -stock_no -grand_total : float
-maximum_stock : int -user_image : byte
-type 0..* -cash : float
-re_order_level : int -remark : string
-item_no -balance : float
Item -item_no : char 11 1 -mode : string
-stock_in -items : int
+getPrice() -user_level : int
-idItem : int -stock_out -total_qty : int
-system_privileges : string
-item_no : char -date -user_no : char
-item_name : string 10..* +addUser() -status
0..* +createInvoice()
-image : byte 1 -mode
-remark : string 1 1 +addStock()
1
-uom_no : string
-category_no : string Purchase_Order
0..* 0..*
-mode : string -idPO
1..*
-po_no Cart
+createItem()
-supplier_no Goods_Received_Note
-transaction_no
-order_date 0..* -idGRN : int -inv_no
1..* -expected_date -grn_no : char -item_no
Purchase_Order_Items -sub_total -po_no : char -qty
-discount -supplier_no : char -rate
-transaction_no : int 1 1
-nbt -reference_no : string -line_total
-item_no : char
-vat -sub_total : float
-order_qty : int +addItems()
-grand_total -discount : float
-rate : float
-mode -vat : float
-amount : float 1 -nbt : float
-user_no
-discount_percentage : float
+createPO() -other_charges : float
-discount_amt : float
-grand_total : float
-line_total : float
-grn_date : Date
-po_no : char
-remark : string
-stock_no : char
-user_no : char
+addItems()
+createGRN()
0..*
Figure 12: Class Diagram for ISMS
Vindya Thilakarathna Membership No: 990487426 58 | P a g e
ISMS
3.7.2.2 Object diagram for the system
Object diagram illustrates the instances instead of class and used to render a set of objects
and their relationships as an instance.
SUP01 : Supplier
ICL01 : Item_Class idSupplier : int = 1
supplier_no : char = SB/SUP-001
idItemClass : int = 1
title : string = Other
class_no : char = SB/ICL-001
supplier_name : string = Ceylon Pencil Company (Pvt) Ltd
class_name : string = Books
gender : string = Other
remark : string = CR-Books, Drawing Books...
reference_no : string = 28135-lk
mode : string = Active
bA_no : string = 96
bA_street : string = Parakrama Road
bA_state : string = Peliyagoda
bA_city : string = 11830 UPF01 : User_Profile
bA_country : string = Sri Lanka
bA_tel : char = 0115320320 idUser : int = 1 UPL01 : User_Privileges
bA_cell : char = 0772345675 user_no : char = SB/UPF-001 idUP : int = 1
UOM01 : Unit_of_Measure
ICT01 : Item_Category bA_fax : char = 0115320320 title : string = Other user_no : char = SB/UPF-001
idUOM : int = 1 userf_name : string = Admin
idItemCategory : int = 1 bA_email : string = [email protected] user_name : string = Admin
uom_no : char = SB/UOM-001 userm_name : string = -
category_no : char = SB/ICT-001 bA_web : string = - password : string = 123
uom_name : string = Unit userl_name : string = -
category_name : string = CR-Book remark : string = - designation : string = Admin
remark : string = An individual thing gender : string = Other
remark : string = - supplier_image : byte = (img) access_data : string = YES
mode : string = Active reference_no : string = -
class_no : string = SB/ICL-001 mode : string = Active save_data : string = YES
dob : Date = - update_data : string = YES
mode : string = Active
civil_status : string = - delete_data : string = YES
religion : string = -
uA_no : string = -
IPR01 : Item_Price uA_street : string = -
uA_state : string = -
idIP : int = 1
uA_state : string = -
price_date : Date = 2012-02-12 INV01 : Invoice
uA_city : string = -
ITM01 : Item purchase_price : Date = 250
uA_country : string = - idInv : int = 1
selling_price : float = 250
idItem : int = 1 telephone_no : string = - inv_no : char = SB/INV-003
discount : float = 0
item_no : char = SB/ITM-0070 cell : char = - inv_date : Date = 2016-04-14
vat : float = 0
item_name : string = CR Book 240 Pgs email : string = - sub_total : float = 250
nbt : float = 0
image : byte = .png) user_image : byte = (img) discount : float = 0
maximum_stock : int = 500
remark : string = - remark : string = - grand_total : float = 250
re_order_level : int = 50
uom_no : string = SB/UOM-001 mode : string = Active cash : float = 300
item_no : char = SB/ITM-0070
category_no : string = SB/ICT-001 user_level : int = 1 balance : float = 50
mode : string = Active system_privileges : string = yes items : int = 1
total_qty : int = 1
GRN01 : Goods_Received_Note user_no : char = SB-UPF-001
idGRN : int = 1
grn_no : char = SB/GRN-003
PO01 : Purchase_Order po_no : char = SB/POR-003
supplier_no : char = SB/SUP-001 STK01 : Stock
POI01 : Purchase_Order_Items idPO = 1 CRT01 : Cart
reference_no : string = 5678E idStock = 1
po_no = SB/POR-003
transaction_no : int = 1 sub_total : float = 500 stock_no = SB/STK-001 transaction_no : int = 200
supplier_no = SB/SUP-001
item_no : char = SB/ITM-0070 discount : float = 0 type = Inventory inv_no : char = SB/INV-003
order_date = 2016-03-24
order_qty : int = 2 vat : float = 0 item_no = SB/ITM-0070 item_no : char = SB/ITM-0070
expected_date = 2016-03-30
rate : float = 250 nbt : float = 0 stock_in = 48 qty : int = 1
sub_total = 500
amount : float = 500 other_charges : float = 25 stock_out = 0 rate : float = 250
discount = 0
discount_percentage : float = 0 grand_total : float = 525 date = 2012-09-09 line_total : float = 250
nbt = 0
discount_amt : float = 0 grn_date : Date = 2016-07-12 status = Arrived
vat = 0
line_total : float = 500 remark : string = - mode = Complete
grand_total = 500
po_no : char = SB/POR-003 user_no : char = SB/UPF-001
mode = Active
stock_no : char = SB/STK-001 user_no = SB/UPF-001
Figure 13: Object Diagram for ISMS
Vindya Thilakarathna Membership No: 990487426 59 | P a g e
ISMS
3.7.3 Behavioural View (Process view)
The largest and most complex view including Sequence diagram, Collaboration diagram,
State diagram and Activity diagram which represent the actual behavior of the software. [4]
3.7.3.1 Activity diagram for Report Generation Module
Inventory and Sales Management
Admin
System
Login
Click system icon Display login form
Enter valid user name & password Validate information provide by user
Valid
Dispaly main form
Invalid
Display error message
Select report from form menu bar Dispaly the report
Generate report
Print report
Logout
Figure 14: Activity Diagram for Report Generation Module
Vindya Thilakarathna Membership No: 990487426 60 | P a g e
ISMS
3.7.3.2 Activity diagram for Stock Monitoring Module
Inventory and Sales Management
Admin
System
Login
Click system icon Display login form
Enter valid user name & password Validate information provide by user
Dispaly main form
Valid
Invalid
Display error message
Select stock management form Dispaly stock management form
Add new opening stock Check stock availability
Display message Add stock
Not
Available
available
Display stock status
Logout
Figure 15: Activity Diagram for Stock Monitoring Module
Please Refer Appendix A- Design Documentation A.4 for Activity Diagrams:
Figure 55: Activity Diagram for Sales Module
Vindya Thilakarathna Membership No: 990487426 61 | P a g e
ISMS
3.7.3.3 Sequential diagram for User Registration
Admin Interface Validation Database
Request registration form ()
Check user level of user()
Provide requested form () Result validate user
Submit filled form ()
Send user details()
Check()
Send details
Display message Registration success message Result Success
Figure 16: Sequential Diagram for User Registration
Vindya Thilakarathna Membership No: 990487426 62 | P a g e
ISMS
3.7.3.4 Sequential diagram for Purchasing Items
Admin User System Database
Request for stock details ()
Verify login
Stock detais
Result to request Result Validation
Create purchase order note ()
Request to approval () Purchase order () Item details
Approval
Print purchase order Save Details
Create goods received note
Request to payment Provide details Recall PO details
Print GRN Stock entry ()
End transaction Transaction success message Update details
Figure 17: Sequential Diagram for Purchasing Items
Please Refer Appendix A- Design Documentation A.3 for Sequence Diagrams:
Figure 53: Sequential Diagram for User Registration
Figure 54: Sequential Diagram for Update Records
Vindya Thilakarathna Membership No: 990487426 63 | P a g e
ISMS
3.8 Database Design
3.8.1 ER Diagram for the system
User_Privileges
Item_Class
PK class_no User_Profile
Supplier Goods_Received_Note idUP
PK user_no
idItemClass PK supplier_no FK1 user_no
class_name PK grn_no user_name
idUser
remark idSupplier password
idGRN title
mode title designation
FK1 po_no user_fname
supplier_name access_data
supplier_no user_mname
gender save_data
reference_no user_lname
reference_no update_data
Unit_Of_Measure sub_total gender
address delete_data
Item_Category discount reference_no
PK uom_no telephone_no dob
vat
PK category_no cell_no nbt civil_status Invoice
idUOM fax_no religion
other_charges
idItemCategory uom_name email_address address PK inv_no
grand_total
category_name remark web_address telephone_no
grn_date
remark mode remark cell_no idInv
remark
FK1 class_no image email inv_date
FK2 user_no
mode image sub_total
remark discount
user_level grand_total
Item status_of_privileges cash
mode balance
PK item_no items
total_qty
idItem user_no
item_name
image
remark
Stock
FK1 category_no
mode PK stock_no
FK2 uom_no
idStock
Purchase_Order type
Purchase_Order_Items
Item_Price item_no
PK po_no stock_in
PK transaction_no Cart
stock_out
idPO date
FK1 item_no PK transaction_no
idIP FK1 supplier_no status
order_qty
price_date order_date mode
rate FK3 inv_no
purchase_price expected_date
amount FK2 item_no
selling_price sub_total
discount_percentage qty
discount discount
discount_amt rate
vat nbt
line_total line_total
nbt vat
FK2 po_no FK1 stock_no
maximum_stock grand_total
FK3 stock_no
re_order_level mode
FK1 item_no FK2 user_no
Figure 18: ER Diagram for ISMS
Vindya Thilakarathna Membership No: 990487426 64 | P a g e
ISMS
3.9 User Interface Design
The User Interface Designing or UI Engineering is used to design a user friendly software
interfaces which focuses on convenient of users who interact with the software application
to accomplish some set of tasks. The user interface designing consist of interaction
techniques that provides benefits to this human-machines communication and it is most
important part of any software product. Because of powerful software could be less
valuable with a poorly designed user interfaces.
3.9.1 Wireframes
Wireframes is a technique to demonstrate the proposed system to the client before
designing actual system interfaces. I was able to present wireframes to the client and got
their approval.
Figure 19: Wireframe for the Mail Window
Vindya Thilakarathna Membership No: 990487426 65 | P a g e
ISMS
Please Refer Appendix A- Design Documentation A.5 for Wireframes:
Figure 56: Wireframe for User Registration
Figure 57: Wireframe for User Management
Figure 58: Wireframe for Inventory Control
Figure 59: Wireframe for Stock Monitoring
Vindya Thilakarathna Membership No: 990487426 66 | P a g e
ISMS
Chapter 04: System Development
4.1 Introduction
System development also called software application development is that the development
(building) of a software product. The term of development may be used to refer to the
activity of programming which is the process of writing and maintaining the source code.
4.2 Environment Preparation
4.2.1 Hardware Specification
ISMS was developed by the use of computer with the following hardware configuration.
Operating System – Windows 7 Ultimate
Processor – Intel (R) Core (TM) i5 CPU
Processor speed - 2.67 GHz
Installed Memory (RAM) – 4.00 GB
System Type – 64-bit Operating System
4.2.2 Software Specification
4.2.2.1 Integrated Development Environment (IDE)
Microsoft Visual Studio 2013 Ultimate
Integrated Development Environment allows for rapid application development that
integration with features like drag and drop design, auto syntax checking facility, debugging
tools. Microsoft Visual Studio is such an IDE. It is mainly used for developing proposed
application.
4.2.2.2 Database Server
Microsoft SQL Server 2008 R2
Microsoft SQL Server is a relational model database server product by Microsoft. It is free to
use and available multiple edition with different features. Microsoft SQL Server is used to
create database and manipulate tables and their relationships.
Vindya Thilakarathna Membership No: 990487426 67 | P a g e
ISMS
4.3 Database Architecture
4.3.1 Database Architecture
Database Name = Bookshop
Figure 20: Database Architecture
Vindya Thilakarathna Membership No: 990487426 68 | P a g e
ISMS
4.3.2 Table Descriptions
4.3.2.1 Table ItemClass
This table contains record of Item Class which is items divide into mains types such as books,
pens, papers, educational materials etc… If record of item class delete that will mark as a
‘deactivated’ item class in the field of ‘mode’ because of foreign key constraint
Table Description
Consist of 5 fields and class_no is the primary key.
Sample Data
Figure 21: Table of Item Class
4.3.2.2 Table ItemCategory
This table contains record of Item Category which is item class further divides into sub types
such as item class of ‘Books’ divide into CR-Book, Drawing Book and Note Book etc… If
Vindya Thilakarathna Membership No: 990487426 69 | P a g e
ISMS
record of item category delete that will mark as a ‘deactivated’ item category in the field of
‘mode’ because of foreign key constraint
Table Description
Consist of 6 fields and category_no as primary key and class no is the foreign key.
Sample Data
Figure 22: Table of Item Category
4.3.2.3 Table UnitOfMeasure
This table contains record of unit of measure such as unit, grams, kilo grams, educational
etc… If record of unit of measurements were delete that will mark as a ‘deactivated’ unit of
measure in the field of ‘mode’ because of foreign key constraint
Vindya Thilakarathna Membership No: 990487426 70 | P a g e
ISMS
Table Description
Table is containing 5 fields and umo_no is primary key.
Sample Data
Figure 23: Table of Unit of Measure
4.3.2.4 Table Item
Item table contains information about the items with images. Also if records of item delete
that will mark as a deactivated item in the ‘mode’ field because of foreign key constraint
Table Description
Table is containing 8 fields and item_no is primary key and uom_no, category_no were
foreign keys.
Vindya Thilakarathna Membership No: 990487426 71 | P a g e
ISMS
Sample Data
Continuation of the table structure
Figure 24: Table of Item
Vindya Thilakarathna Membership No: 990487426 72 | P a g e
ISMS
4.3.2.5 Table ItemPrice
Item table contains prices of the items including Item purchase price, selling price and tax
records.
Table Description
Table is containing 10 fields including maximum stock quantity and re-order level for each
item. item_no is the foreign key.
Sample Data
Figure 25: Table of Item Price
Vindya Thilakarathna Membership No: 990487426 73 | P a g e
ISMS
4.3.2.6 Table PurchaseOrderItems
When creating a purchase order this table store the record of item lists that related to the
purchase order.
Table Description
Table is containing 10 fields and transaction_no is the primary_key and po_no is the foreign
key.
Sample Data
Figure 26: Table of Purchase Order Items
4.3.2.7 Table PurchaseOrder
This table stores the records of purchase order including order date, expected date,
discount and tax details. When ordered stock arrived that will record as ‘complete’ on the
field of ‘mode’ column.
Vindya Thilakarathna Membership No: 990487426 74 | P a g e
ISMS
Table Description
Table is containing 12 fields and po_no is the primary_key and supplier_no is the foreign
key. Accountable user will store in the field of ‘operator’.
Sample Data
Figure 27: Table of Purchase Order
4.3.2.8 Table GoodsReceivedNote
Goods Received Note will create when the ordered stock received to the bookshop. Manual
invoice no of supplier’s invoice will store as the reference_no and accountable user who was
create goods received note will store in the field of ‘operator’.
Table Description
Vindya Thilakarathna Membership No: 990487426 75 | P a g e
ISMS
Table is containing 12 fields and grn_no is the primary_key and supplier_no is the foreign
key.
Sample Data
Continuation of the table structure
Figure 28: Table of Goods Received Note
Vindya Thilakarathna Membership No: 990487426 76 | P a g e
ISMS
4.3.2.9 Table Stock
This is the where all stock details are stored, entered by the store keeper.
Table description
Table is containing 11 fields and stock_no is the primary_key and item_no is the foreign key.
Sample Data
Figure 29: Table of Stock
4.3.2.10 Table Cart
At the point of selling counter when selling items cart will store the item list related to each
receipt.
Vindya Thilakarathna Membership No: 990487426 77 | P a g e
ISMS
Table Description
Consist of 7 fields including transaction_no as the primary_key and inv_no is the foreign key.
Sample Data
Figure 30: Table of Cart
4.3.2.11 Table Invoice
This table stores the record of sales receipts.
Table Description
Table is containing 11 fields and inv_no is the primary_key.
Vindya Thilakarathna Membership No: 990487426 78 | P a g e
ISMS
Sample Data
Figure 31: Table of Invoices
4.3.2.12 Table UserPrivilegas
User privileges were stored in this table including user name, password and user
designations and the accountable authenticator person who was granted privileges to each
user. Password of each user is encrypted for the security purpose.
Table Description
Table is containing 10 fields and including privileges and user_no is foreign key.
Vindya Thilakarathna Membership No: 990487426 79 | P a g e
ISMS
Sample Data
Continuation of the table structure
Figure 32: Table of User Privileges
Vindya Thilakarathna Membership No: 990487426 80 | P a g e
ISMS
4.3.2.13 Table UserProfile
This table stored the details of users who are use the system. Users will be the employee of
bookshop. User level for the each user will provide using this table
Table Description
Table is containing 24 fields and user_no is the primary key.
Vindya Thilakarathna Membership No: 990487426 81 | P a g e
ISMS
Sample Data
Continuation of the table structure
Continuation of the table structure
Figure 33: Table of User Profile
Vindya Thilakarathna Membership No: 990487426 82 | P a g e
ISMS
4.3.2.14 Table Supplier
Supplier details were stored in this table. Supplier can be person, sales person or
organization
Table Description
Table is containing 39 fields and supplier_no is the primary key.
Vindya Thilakarathna Membership No: 990487426 83 | P a g e
ISMS
Sample Data
Continuation of the table structure
Continuation of the table structure
Figure 34: Table of Suppliers
Vindya Thilakarathna Membership No: 990487426 84 | P a g e
ISMS
4.4 User Interface Development
The users and the system communicate through the user interfaces. It is a one of the most
important part of any software product. Microsoft Visual Studio offer several ways to
develop interfaces with convenient tools libraries with drag and drop option for reducing the
time for the development of each interface.
4.4.1 Common user controls adopted for this solution
MDI form
Multiple Document Interfaces that allows creating an application that maintain multiples
forms within a single container form.
Figure 35: MDI form tool
Menu Strip Control
Figure 36: Menu Strip tool
Tools Strip
Figure 37: Tool Strip tool
Vindya Thilakarathna Membership No: 990487426 85 | P a g e
ISMS
Text Box
Figure 38: Textbox tool
Button
Figure 39: Button tool
Below is the illustration of the actual user interface of the ‘Main Window’.
Figure 40: User Interface of the System Mail Window
Please Refer Appendix C- User Documentation C.1 User Guide for rest of the user interfaces:
Vindya Thilakarathna Membership No: 990487426 86 | P a g e
ISMS
4.5 Development of Modules
4.5.1 Server and Database Connection
Database connection is important part of the project. I used separate class file to create
connection and it’s also include some common methods for retrieved records from the
database. The file was named as ‘Connection.cs’ and it will use in many forms.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Sasip.Bookshop
{
class Connection
{
//Data Source=USER-PC\\SQLEXPRESS (Server name)
//Initial Catalog=Bookshop (Database name)
SqlConnection sasip = new SqlConnection("Data Source=USER-PC\\SQLEXPRESS; Initial
Catalog=Bookshop;Integrated Security=true");
SqlCommand cmdBookShop = new SqlCommand(); //Create object of
System.Data.SqlClient.SqlCommand class
SqlDataAdapter daBookShop = new SqlDataAdapter();//Create object of
System.Data.SqlClient.SqlDataAdapter class
DataTable dtBookShop = new DataTable();//Create object of System.Data.DataTable
class
DataSet dsBookShop = new DataSet();//Create object of System.Data.DataSet
int s;
//Creat common methods for retrieve records
public int exeCommand(string query)
{
try {
sasip.Open(); //Open connection
cmdBookShop = new SqlCommand(query, sasip);//Set execute command
cmdBookShop.CommandType = CommandType.Text;
s = cmdBookShop.ExecuteNonQuery(); }
catch { }
finally { sasip.Close(); //Close connection }
Vindya Thilakarathna Membership No: 990487426 87 | P a g e
ISMS
return s;
}
public SqlCommand ReturnComm(string query)
{
try{
sasip.Open(); //Open connection
cmdBookShop = new SqlCommand(query, sasip); // Set return command
cmdBookShop.ExecuteScalar(); }
catch { }
finally { sasip.Close(); //Close connection }
return cmdBookShop;
}
public SqlDataAdapter ReturnDataAdapter(string query)
{
try {
sasip.Open(); //Open connection
daBookShop = new SqlDataAdapter(query, sasip);// Set return data adapter
sasip.Close(); }
catch { }
finally { sasip.Close(); //Close connection }
return daBookShop;
}
public DataSet ReturnDataSet(string query)
{
try {
sasip.Open(); //Open connection
cmdBookShop = new SqlCommand(query, sasip);// Set return data set
daBookShop.SelectCommand = cmdBookShop;
daBookShop.SelectCommand.ExecuteNonQuery();
daBookShop.Fill(dsBookShop);
sasip.Close(); }
catch { }
finally { sasip.Close(); //Close connection }
return dsBookShop;
}
public DataTable ReturnData(string query)
{
try
{
sasip.Open();//Open connection
cmdBookShop = new SqlCommand(query, sasip); // Set return data
daBookShop = new SqlDataAdapter(cmdBookShop);
dtBookShop.Clear();
//Bind values in data table using data adpapter
daBookShop.Fill(dtBookShop);
sasip.Close(); }
catch { }
Vindya Thilakarathna Membership No: 990487426 88 | P a g e
ISMS
finally { sasip.Close(); //Close connection }
return dtBookShop;
}
}
}
4.5.2 Login Module
Login module provides user to access to the system based on privileges and by entering valid
user name and password.
private void btnLogin_Click(object sender, EventArgs e)
{
try
{
if (txtUserName.Text == "" || txtPwd.Text == "")// check for the empty fields
{ MessageBox.Show("Every fields must be filled", "Information..!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
else
{
string decryptPwd = txtPwd.Text;// decryption of user password
string decryptedText = CryptorEngine.Decrypt(decryptPwd, true);
// retrieve user details
DataTable dt = obj.ReturnData("select * from UserPrivilegas where user_name='"
+ txtUserName.Text + "'and password='" + decryptedText + "'");
if (dt.Rows.Count > 0)
{
// retrieve user status
DataTable dt1 = obj.ReturnData("select * from
dbo.UserProfile,dbo.UserPrivilegas where
dbo.UserProfile.user_no=dbo.UserPrivilegas.user_no and dbo.UserPrivilegas.user_name='" +
txtUserName.Text + "' and mode='Active'");
userName = txtUserName.Text;
if (dt1.Rows.Count > 0)
{
Form1 child = new Form1(userName);// pass user name to the main form
child.Show();
this.Hide();
}
else { MessageBox.Show("Your profile has been deactivated by administrator",
"Access Denied", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
else { MessageBox.Show("Invalid Username or Password\nPlease Contact
Administrator", "Invalid User", MessageBoxButtons.OK, MessageBoxIcon.Error); }
Vindya Thilakarathna Membership No: 990487426 89 | P a g e
ISMS
}
}
catch (SqlException ex) { MessageBox.Show("Database Connection Error" +
ex.InnerException, "Exception Caption", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation); }
catch (Exception ex) { MessageBox.Show("No Data Received From DataTable,\n Please
Check Availability of Data. \n" + ex.InnerException, "Exception Caption ",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
4.5.3 User Input Data Validation
User input validation is important when the matter of check user submit details according to
correct the format and prevent data redundancy. Following are some events that I used to
validate system.
4.5.3.1 Name Validation
private void txtName_KeyPress(object sender, KeyPressEventArgs e)
{
errorProvider1.Dispose();
if (!Char.IsLetter(e.KeyChar) && !Char.IsControl(e.KeyChar))
{ e.Handled = true;
errorProvider1.SetError(txtFname, "Invalid Format for Name");
}
}
4.5.3.2 Number Validation
private void txtCell_KeyPress(object sender, KeyPressEventArgs e)
{
errorProvider1.Dispose();
if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) && e.KeyChar != '.' &&
e.KeyChar != '-' && e.KeyChar != '(' && e.KeyChar != ')' && e.KeyChar != '#')
{
e.Handled = true;
errorProvider1.SetError(txtCell, "Invalid Character");
}
}
Vindya Thilakarathna Membership No: 990487426 90 | P a g e
ISMS
4.5.3.3 Empty Field Validation
if (txtClassName.Text == " ")
{
MessageBox.Show("Every fields must be filled", "Information..!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{ // rest of the code
}
4.5.3.4 Email Validation
private void txtEmail_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && !Char.IsLetter(e.KeyChar) &&
!Char.IsControl(e.KeyChar) && e.KeyChar != '@' && e.KeyChar != '.' && e.KeyChar != '_')
{
e.Handled = true;
errorProvider1.SetError(txtEmail, "e-mail address must be valid e-mail address
format.\n" + "For example '
[email protected]'");
}
4.5.3.5 Report Generations
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using System.Data.SqlClient;
namespace Sasip.Bookshop
{
public partial class rptGoodsReceivedNote : Form
{
Connection obj = new Connection();//create object of Connection class
Vindya Thilakarathna Membership No: 990487426 91 | P a g e
ISMS
ReportDocument crd = new ReportDocument(); // create object of
CrystalDecisions.CrystalReports.Engine.ReportDocument class
string grnreceipt; // variable for grn id
public rptGoodsReceivedNote(string grn) // get grn id fron frmGoodsReceivedNote.cs
{
grnreceipt = grn; // set grn id to variable
InitializeComponent();
}
private void rptGoodsReceivedNote_Load(object sender, EventArgs e)
{
try
{
lblNo.Text = grnreceipt;
SqlDataAdapter da = new SqlDataAdapter(); // create varible of
System.Data.SqlClient.SqlDataAdapter class
// call Connection class ReturnDataAdapter method by object
da = obj.ReturnDataAdapter("select * from
dbo.GoodReceivedNote,dbo.PurchaseOrderItems,dbo.Supplier where
dbo.GoodReceivedNote.po_no=dbo.PurchaseOrderItems.po_no and
dbo.GoodReceivedNote.supplier_no=dbo.Supplier.supplier_no and
dbo.GoodReceivedNote.grn_no='" + lblNo.Text + "'");
DataSet ds = new DataSet(); // create object of System.Data.DataSet class
da.Fill(ds, "GoodReceivedNote");
da.Fill(ds, "PurchaseOrderItems");
da.Fill(ds, "Supplier");
crd.SetDataSource(ds);
crystalReportViewer1.ReportSource = crd;
}
catch (Exception ex)
{
MessageBox.Show("Error Occurred while connecting with Database" +
ex.InnerException,"Error Occured",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
Please Refer for rest of the Codes Appendix F- Code List
Vindya Thilakarathna Membership No: 990487426 92 | P a g e
ISMS
Following figures illustrate the data set (dsGoodsReceivedNote.xsd) used for cerate goods
received note and designing of goods received note (cryGoodsReceivedNote.rpt)
dsGoodsReceivedNote.xsd
cryGoodsReceivedNote.rpt
Figure 41: Developing of Goods Received Note
Please Refer Appendix D- MIS Report Generation:
Vindya Thilakarathna Membership No: 990487426 93 | P a g e
ISMS
Chapter 05: System Testing & Evolution
5.1 User Interface Development
Software testing is a process used to ensure that the software program or application
conforms to its specification and meets the user requirements as expected. It can be also
describe as the process of Verification and Validation (V&V) of the software program or
application. Verification and Validation is not the same thing. Following are the different
between them,
Validation “Is the deliverable fit for purpose?”
Verification “Is the deliverable built according to the specification?”
5.2 Testing Strategies & Sequence
5.2.1 Testing Strategies
Mainly software testing could be done by using three techniques
Black Box Testing/Functional Testing
Black Box testing or known as Behavioral Testing is software testing method in which the
internal structure of the system or application being tested is not known to the tester. Black
Box Testing attempt to find incorrect or missing function, interface errors, data structure
errors, external database access, behavior errors, performance errors, initialization and
termination errors…
Input causing
Input test data I
anomalous behaviour
System
Out put which reveal the
Input test data Oe presence of defects
Figure 42: Black Box Testing [6]
Vindya Thilakarathna Membership No: 990487426 94 | P a g e
ISMS
White Box Testing / Structural Testing
White Box Testing is software testing method deals with the internal logic and structure of
the code. It is also called as glass, structure, open box or clean box testing. It incorporate
coverage of the code written ,branches, statement, condition, multiple condition, loop, path,
call and internal logic of the code.
Test data
Tests Derives
Component
Test outputs
code
Figure 43: White Box Testing[6]
Gray Box Testing
Gray Box Testing is a software testing method which is a combination of (hybrid of Black Box
and White Box) Black Box Testing and White Box Testing methods. Gray box Testing effort
when the internal structure is partially known. This involves having access to internal data
structure and algorithms for designing the test cases, but testing at the user or testing at the
black box level.
5.2.2 Testing Sequence
Testing Sequence is some specific order of related action or steps that belongs to run the
test. The sequences of testing are:
5.2.2.1 Unit Testing
“Unit testing focuses on the verification of the smallest unit of software design that is the
software component module. Using the component level design description as a guide,
important control paths are tested to uncover the error within the boundary of the module.
This testing focuses on the internal processing logic and the internal data structures. “
[Software Engineering 2- Esoft Computer Studies]
Vindya Thilakarathna Membership No: 990487426 95 | P a g e
ISMS
5.2.2.2 Integration Testing
Integration testing is testing of the integrated units. There are three types of strategy used
for the integration and test.
Big bang approach
Top-down Integration
Bottom-up testing
5.2.2.3 Validation Testing
Validation testing ensures that software satisfies the functions and requirements of the user.
There are two different approaches, namely:
Alpha Testing
Beta Testing
5.2.2.4 System Testing
System testing involves more than just the software product. Whole system will be tested.
That include:
Recovery Testing
Security Testing
Stress Testing
Performance Testing
5.2.2.5 Acceptance Testing
Acceptance testing begins after build and release the software product in order to clear the
bugs or defects missed out in the system testing.
Vindya Thilakarathna Membership No: 990487426 96 | P a g e
ISMS
5.4 Test Plan, Test Cases Design and Test Results
“A set of test inputs, execution conditions, and expected results developed for a particular
objective, such as to exercise a particular program path or to verify compliance with a
specific requirement.”
[IEEE Standard 610 (1990)]
Test case designing is an act of creating a testing suite, structure for testing software. It is
describes inputs actions or events and expected results to validate whether the features and
functions of software application working correctly.
5.4.1 Test Case for Login to the system
Test Case Number 01
Test Case Type Security Test
Test Case Name Login to the system
Test Case Description Authentication of user login to the system using valid user name
and password.
Module User Management and access level controls
Test Data
Valid Invalid
User Name : Admin User Name : Ravi
Password : 123 Passwords : efkdg
Expected Output
Valid Invalid
User direct to the main Window. Error message will appear.
Result
Pass Pass
Reference
Figure 45: User Valid Test Result Figure 44: User Invalid Test Result
Table 11: Test case of Login to the system
Vindya Thilakarathna Membership No: 990487426 97 | P a g e
ISMS
Test result with invalid data.
Figure 44: User Invalid Test Result
Vindya Thilakarathna Membership No: 990487426 98 | P a g e
ISMS
Test result with valid data.
Figure 45: User Valid Test Result
Please Refer for rest of the test cases Appendix E- Test Plan, Test Cases Design and Test
Results
5.5 User Evaluation of the System
User evaluation is the formal process of obtaining feedback from the end users of their level
of satisfaction of the provided software solution.
Vindya Thilakarathna Membership No: 990487426 99 | P a g e
ISMS
5.5.1 Evaluation Methodology
The following form given to the users and gathered their feedback with respect to the
developed system.
User Feedback Form
Please take a few moments to complete this satisfaction survey. Your cooperation is greatly
appreciated. Thank you for spending your valuable time.
Very Very
Test Measure Unsatisfied Neutral Satisfied
Unsatisfied Satisfied
The system is responsive.
Enable login and logout security
The user interfaces is friendly and
easy to use
Quick search facility
The system is effective and efficient
Ability of saving and manage records
Purchaser order and goods received
note module work properly
Invoice (receipt) generating work
properly
System Increase bookshop
productivity
Satisfaction of report generation
Satisfaction of the system functions
and modules it handle
Overall satisfaction for system
General Feedback
…………………………………………… …………………………………
Signature Date
Figure 46: User Feedback Form
Vindya Thilakarathna Membership No: 990487426 100 | P a g e
ISMS
5.5.2 Evaluation Result
On completion of the feedback session, the following summary shows the percentage of the
results based on the user feedback for the above questionnaire.
User Evaluation Result (Percentage – wise)
Date : 2016-07-14
Percentage Notation 0-20 21-40 41-60 61-80 81-100
: * ** *** **** *****
Test Measure Percentage (%)
1. The system is responsive. *****
2. Enable login and logout security ****
3. The user interfaces is friendly and easy to use ****
4. Quick search facility *****
5. The system is effective and efficient ****
6. Ability of saving and manage records *****
7. Purchaser order and goods received note module ****
work properly
8. Invoice (receipt) generating work properly ****
9. System increase bookshop productivity *****
10. Satisfaction of report generation ****
11. Satisfaction of the system functions and modules it ****
handle
12. Overall satisfaction for system ****
Figure 47: User Evaluation Summary Results
Vindya Thilakarathna Membership No: 990487426 101 | P a g e
ISMS
5.6 Security Evaluation
Security evaluation ensures that security functionality has been implemented to the system.
It is proves whether the information is sufficiently protected in terms of security such as data
encryption logic, user authentication and password security.[5] Following figure illustrate the
password encryption of the project.
Figure 48: Password encryption
5.7 System Acceptance
System acceptance ensures that to determine whether a system satisfies the acceptance
criteria and to enable the client to determine whether or not to accept the system
5.8 UAT
User Acceptance Testing is final step in the development process which is done for in order
to get feedback from the user/client to make sure final requirement to the programming
before release the software product.
Please refer Appendix E for filled copies of feedback from Chief Executive Officer of the
Institute.
Vindya Thilakarathna Membership No: 990487426 102 | P a g e
ISMS
Chapter 06: Software Implementation
Approach & Maintenance
6.1 Introduction
System implementation is a process of deploying the system at the installation location
directed by the client including installation of hardware and software across the
organization; file conversion, making data backup plans, application supports and
maintenance plans.
6.2 Implementation Strategy
6.2.1 Common implementation strategies
6.2.1.1 Direct changeover
Direct changeover is a process of replacing old system into new system. It is recommended
when the implementing very new system or current system is relatively small one.
Figure 49: Direct Changeover
6.2.1.2 Parallel Running
Parallel running is a process of running both systems concurrently and eventually, the
manual procedures will be terminated and the activities will be transferred to the software.
(Ex: user training).Recommended for when the product is of critical nature.
Vindya Thilakarathna Membership No: 990487426 103 | P a g e
ISMS
Figure 50: Parallel Run
6.2.1.3 Phase Implementation
Phase implementation is the process of introduced new system in stages or phases while the
old system is in operation. The new system divides into stages and replaces the old system
one at a time and eventually takes over the complete system.
Figure 51: Phase Implementation
6.2.1.4 Pilot Running
Pilot running is a process of implementing new system only in one part of the organization. If
the pilot system is running successfully, the new system will be introduced to the complete
organization. This approach is recommended for the introducing a new system.
Figure 52: Pilot Run
Vindya Thilakarathna Membership No: 990487426 104 | P a g e
ISMS
6.2.2 Strategy adopted for the deployment of the software
I have chosen the “Phase Implementation” as the model for deployment. Below are the key
justifications for my decision
Deploy the system at each core business, ensure the users are comfortable with
solution and then move over to the next business area.
There has not been any automated application/software with the client
The proposed solution addresses the complete business procedures of the client.
There will not be a risk in down-time of the client’s regular business as a result of
unpredicted challenges of the deployed solution.
To manage initial user reactions with live system and to assist them accordingly to
bring then up to the expected speed with the system.
6.3 Pre Implementation Plan
During the pre-implementation planning stage, I have addressed the critical pre-
requirements that need to be readily available at the client’s location. These pre-
requirements are essential for a successful deployment of the system and to address all non-
functional requirements.
Hardware Configuration: Since bookshop is run by using manual file based system they
need to have some computers which meet at least minimum system requirements (Refer
Appendix B: System Documentation-System Requirements). Initially they need four
computers one for manager, another one for store keeper and two for the cashier. A printer
is needed for the point of transactions which need to print Purchase Order and Goods
Received Notes for Store keeper and Invoices for the Cashiers. Another printer need to have
Manager’s Computer when need for print reports. I recommended Laser Printer or Report
Printer.
Vindya Thilakarathna Membership No: 990487426 105 | P a g e
ISMS
I recommended them to purchase Flash Drive or Portable Hard drive to use during regular
database backup activities.
Internet Connection: Internet is the medium to access the system. Hence, they need to
have internet connection. I asked from the management to have a consistent internet
connection which can be purchased by ADSL provider.
Database Configuration: The system backend supported by MS SQL server database and
are expected to configure as per the configuration document. (Refer Appendix B: System
Documentation-Configuration)
6.4 Authoring Environment
System authoring environment was in the Institute CEO’s office using some of the computers
in the office and in the CEO’s Laptop. After received client satisfaction and approval the
system was moved to the next step of production environment.
Authoring Live items Production
Environment Environment
Live items
All items
(manual)
(manual)
Site UAT
Figure 53: Software Environment Diagram
Vindya Thilakarathna Membership No: 990487426 106 | P a g e
ISMS
6.5 Production Environment
Production Environment is the prepared environment at the bookshop. After preparation of
client environment the system was successfully configured at the client site of bookshop.
Store keeper’s
Printer
Wireless Store
keeper’s PC
Firewall with Server
Cashier Laptop
1
Network Router
Wifi Router
Cashier Printer
Cashier Laptop
1
2
Cashier Printer
2
Figure 54: Network diagram
6.6 User Training
Once a new system has been introduced for the production environment required a proper
training for the users. Manager was trained as the trainer and the system administrator. He
has given training of all modules of the system. Store keepers were trained to manage
system according to his responsibility and cashier trained with cashier operation of the
system.
Vindya Thilakarathna Membership No: 990487426 107 | P a g e
ISMS
6.7 Data Backups Plan
Backup copies of the database should be made on a regular basis because various reasons
such as hardware failure, network failure, human errors, and natural disaster. When the
stage of pre implementation I recommended to the management to purchase Flash Drives or
Portable Hard Drives to manage backups.
Backup copies are expected to store in a secure location physically away from the main
building for safety reasons.[5] MS SQL server backup mechanism to be used as the primary
backup management tool.
6.9 Application Support and Maintenance Plan
Application support and maintenance plan includes include the regular maintenance of the
application including
Bug fixes
Facilitation of change requests
User training
System technology upgrades
Routine inspections of system usage
Assist in re-deployment of the system in case of disaster.
6.10 Change Request Handling & Version
Controlling
Change requests are expected from the client as the business processes get streamlines and
matured. All change requests are to be communicated formally using a Change Request
form.
The following page shows example of a change request form. [6]
Vindya Thilakarathna Membership No: 990487426 108 | P a g e
ISMS
Change Request Form
Project : Number :
Change requester : Date :
Requested change :
Change analyzer : Analysis date :
Components affected :
Associated components :
Change assessment :
Change priority :
Change implementation :
Estimated effort :
Change implementer : Date of change :
Date submitted to QA : QA decision :
Date submitted to CM :
Comments :
Figure 55: Change Request Form
On the receipt of change request I have recommended below action list of activities for
effective delivery of the same.
1) Discuss the change request with the originator for clarity
2) Get signed off acceptance to the change by email
3) Suggest the work effort and schedule
4) On completion of the development and testing, deploy the change after obtaining a
backup of the existing database.
5) Get user acceptance for the change
6) Email notification of the completion of the Change request.
Vindya Thilakarathna Membership No: 990487426 109 | P a g e
ISMS
Chapter 07: Critical Appraisal
7.1 Introduction
This chapter discussed step by step approach from the inception of the project to the
completion. Further, overview of critical incidents occurred during the project, future
enhancements and strengths and weaknesses of the final project were included.
7.2 Summary of each chapter
7.2.1 Requirement Specification
Requirement identification phase had the challenging step due to the non-existence of any
automated system at the bookshop. The sources for requirement identification I decide to
use document reviews, interviews from the key users, observations. The uses cases used to
get clear idea about client’s requirements.
7.2.2 System Designing
According to the requirement I decided the appropriate development methodology that
suites for the intended project. After considering the pros and cons of each development
methodology and considering the challenges at present I have chosen the hybrid solution by
combining the traditional Waterfall process with Evolutionary development model. UML
diagrams are used to design system and ER diagram used to design the database structure.
For phase of user interfaces design I used wireframes and get from client approval before
actual commencement of the interfaces development.
7.2.3 System Development
Upon completion of the designing, the appropriate development environment has been
adopted considering the client infrastructure requirements. I have chosen MS SQL database
as the backend and adopted C# as the development language.
Lack of my software development skills has been a major bottleneck at the inception of the
project. But spending time over the internet and continuous practice with several mock
Vindya Thilakarathna Membership No: 990487426 110 | P a g e
ISMS
projects, I was able to get good understanding of the coding practices, best development
methodologies and all critical troubleshooting mechanisms.
7.2.4 System Testing and Evolution
On completion of the development milestone, the complete product has gone through the
details test cases that has been designed for each business processes and for each module.
During the test iterations, I found several system issues and test case statues being updated.
Testing phase completed as reaching the threshold release criteria as per the test plan.
Completed software being implemented at the clients UAT environment for their feedback
and I was able to obtain their level of satisfaction of the delivered software.
7.2.5 System Implementation & Maintenance
I have adopted the “Phase implementation” model for the deployment of the system at the
client location. This was done soon after completing the User Acceptance Testing. Upon the
completion of the deployment, I have conducted the end user training on the specific
module areas and full system training for core users. User trainings are conducted along with
reference to the user manuals and the system in parallel.
Proper backup and server maintenance routines were also recommended during the training.
7.3 Final Product
On completion of the successful roll-out of the “Inventory and Sales Management System”
for the Sasip Bookshop, I have visited the work locations to see the satisfaction of the end
users and to obtain further feedback as improvement suggestions. Following table will
evident that achievement of this project will cause to make an effective success.
Estimate Cost of Ownership
Cost of Time For manual For computer Saving
process based system
Create purchase order 15 Minutes 1 Minute 14 Minute
Create goods received note 10 Minutes 1 Minute 14 Minute
Vindya Thilakarathna Membership No: 990487426 111 | P a g e
ISMS
Search Item details 20 Minutes 3 Sec 19 Minute and 57 Sec
Search supplier details 20 Minutes 3Sec 19 Minute and 57 Sec
Calculate inventory details 30 Minutes 3 Sec 29Minute and 57 Sec
Search stock records 30 Minutes 3 Sec 29 Minute and 57 Sec
Create invoice (receipt) 10 Minutes 3 Sec 9 Minute and 57 Sec
Create report (per one report) 30 Minutes 3 Sec 29 Minute and 57 Sec
Cost of Wages (per month)
No of required employees to the 5 2
bookshop
Cost of wages for store keepers 60000 Rs 30000 x 1 = 30000
= 30000 Rs x 2 30000
Cost of wages for Cashier= 60000 Rs 20000 x 1 = 40000
20000 Rs x 3 20000
Table 12: Cost of Ownership
7.4 Future enhancements
Expand the functionality to manage issue reporting and analysis.
Features of automated sql backup
Features of automated server connection
Normalized the database structure
Technology upgrade to elevate the client server system to a pure web based system.
Expanding to mobile application
7.5 SWOT Analysis
Details and background information for the SWOT analysis has been gathered during the
course of the project. The discussions, observations and the suggestions of the core users
and my understanding the similar business in the segment has helped to document a
comprehensive SWOT analysis for the Sasip Bookshop.
Vindya Thilakarathna Membership No: 990487426 112 | P a g e
ISMS
STRENGTHS
WEAKNESSES
1.Managing Information Systems. 1.Not running on a over the web and mobile
appication.
2.Centralized system.
2.Lack of competitive strength.
3.Customer Satisfaction and saving of time.
3.Lack of movement.
4.Ability to get information from the
distance. 4.Not using credit card and debit card for all
activies.
5.Improve desicion meking process.
6.Remote access
SWOT
Analysis
THREATS
OPPORTUNITIES
1.New technologies and threats could be
1.Enhance customer satisfaction and change.
knowledge.
2.System can be expended to other areas
3.Minimun cost and increase profite
opportunities.
Figure 56: SWOT Analysis
7.6 Lessons Learnt
At the inception of the project I only had some understanding of the software systems but
not in detail knowledge of the methodologies require adopting for a real-life software
development project. But with this project I was able to get clear understanding of the
disciplines to follow in developing a product that delivers business value to the client.
Refer below for the list of lessons learnt during the progression of the project at each phase;
Vindya Thilakarathna Membership No: 990487426 113 | P a g e
ISMS
Management of time according to project plan and project management skills.
Requirement gathering from real client in a production environment.
Proper design and architecting of the system with appropriate diagrams.
Usage of industry model for designing user interfaces and databases.
Through understanding and knowledge about software development life cycle.
Knowledge on good coding practices.
Planning for test and practical approach for test execution.
Evaluation of the software project with client.
Knowledge on business importance of having backups in production systems.
Opportunity for learning etiquettes of professional working culture. .
Knowledge of how to write standard project documentation.
Improved liaising skills with users in terms of verbal, written and presentation skills
Vindya Thilakarathna Membership No: 990487426 114 | P a g e
ISMS
7.7 Time Line
May 2016 Jun 2016 Jul 2016 Aug 2016
ID Task Name
4/24 5/1 5/8 5/15 5/22 5/29 6/5 6/12 6/19 6/26 7/3 7/10 7/17 7/24 7/31 8/7 8/14
1 Investigation and Analysis
2 System Design
3 System Development
4 Testing
5 Implementation
6 Training
7 User Acceptance Testing (UAT)
8 Document the Project
9 Complete the Project Documentation
Figure 57: Time Line
Vindya Thilakarathna Membership No: 990487426 115 | P a g e
ISMS
References
1. [1]:- http://www.bcs.org/category/18881
2. [2]:- https://en.wikipedia.org/wiki/Enterprise_resource_planning
3. [3]:- https://en.wikipedia.org/wiki/Point_of_sale
4. [4] :- Software engineering 2 (Esoft Computer Studies (PVT) Ltd. – 2015)
5. [5] :- Advanced Database Management (Esoft Computer Studies (PVT) Ltd. – 2015)
6. [6]:- Sommerville, SOFTWARE ENGINEERING Ninth Edition, Massachusetts:Pearson
Education, 2011.
7. C# 2.0 The Complete Reference Second Edition, Herbert Schildt,2006
8. W3School Online Web Tutorial, http://www.w3schools.com/sql/
9. http://www.codeproject.com/?cat=3
10. http://www.codeproject.com/?cat=24
11. http://www.codeproject.com/?cat=9
12. http://www.c-sharpcorner.com/
Vindya Thilakarathna Membership No: 990487426 116 | P a g e
ISMS
Appendixes
Appendix A: Design Documentation
A.1 Alternative Process Models
A.1.1 Incremental Development Model
Figure 58: Incremental Development Model
Incremental development model is more like hybrid of waterfall model combining with
evolutionary development model which broken down into increments and deliver the system
part by part rather than deliver the whole system as single product.
Advantages
Better support for process iteration
Early delivery of increments
Lower risk for software frailer
Disadvantages
Relatively increments could be small
Need proper planning
Vindya Thilakarathna Membership No: 990487426 117 | P a g e
ISMS
A.1.3 Agile Software Development
Figure 59: Agile Software Development Model
Agile is a collection of software development methods likewise conceptual framework for
software development projects. Most agile methods attempts iterative and incremental
process to minimized risk by developing software in short time period called time box (one to
three weeks).Following are some of agile development methods,
1. Extreme Programming (XP)
2. Scrum
3. Dynamic System Development Model (DSDM)
4. Adaptive Software Development
Advantages
Delivering a working software in short time period
Saving time, rescuers and money
All about agile, therefore always encourage requirements changes
Lower risk of project failure
Disadvantages
Referring previous requirements could be difficult
Lack of documentation for future references
Vindya Thilakarathna Membership No: 990487426 118 | P a g e
ISMS
A.2 Use Case Narratives
A.2.1 Use case narrative for Add Products
Use Case No UC-08
Use Case Add Products
Name
Last Date 2016-07-12
Modified
Overview Function enables to register new products to the system.
Actors Primary : Store Keeper
Secondary : Admin
Conditions Pre-condition: User must login to the system
Post-condition:
1. Registration complete-Register new product to the system
2. Cancelation-Cancel performance.
3. The system reject performance-Data duplication avoid when
registering same product to the system.
Business All users can register new product to the system.
Rules
Main Flow of 1. User click ‘Item’ button.
Event
2. The system will display Product Registration form.
3. The user entering details of new product and clicking ‘Save’ button.
4. Use case terminates with the post-condition 1.
Alternative 1. User click ‘Item’ button.
Flow of
2. The system will display Product Registration form.
Events
Vindya Thilakarathna Membership No: 990487426 119 | P a g e
ISMS
3. User wants to abort from performance.
4. User click ‘Cancel’ button.
5. Use case terminates with the post-condition 2
6. The user trying to save registered product again to the system.
7. The system display error message.
8. Use case terminates with the post-condition 3
Associate Use Used by none
Cases
Assumption User already logged to the system.
Table 13: Use Case Narrative for Add products
A.2.2 Use case narrative for Manage Products
Use Case No UC-09
Use Case Manage Products
Name
Last Date 2016-07-13
Modified
Overview Function enables to edit product details stored in the system.
Actors Primary : Store Keeper
Secondary : Admin
Conditions Pre-condition: User must login to the system
Post-condition:
1. Update complete-Update product registered in the system
2. Cancelation-Cancel performance.
3. Deletion- Delete product registered in the system.
Vindya Thilakarathna Membership No: 990487426 120 | P a g e
ISMS
Business All users can delete product based on the user privileges from the system.
Rules
Main Flow of 1. User click ‘Edit Item’ button.
Event
2. The system will display Edit Product Details form.
3. The user entering details need to update and clicking ‘Edit’ button.
4. Use case terminates with the post-condition 1.
Alternative 1. User click ‘Edit Item’ button.
Flow of
2. The system will display Edit Product Details form.
Events
3. User wants to abort from performance.
4. User click ‘Cancel’ button.
5. Use case terminates with the post-condition 2
6. The user wants to delete product from the system.
7. User click ‘Delete’ button.
8. Use case terminates with the post-condition 3
Associate Use Used by none
Cases
Assumption User already logged to the system.
Table 14: Use Case Narrative for manage products
A.2.3 Use case narrative for Order Products
Use Case No UC-10
Use Case Order Products
Name
Vindya Thilakarathna Membership No: 990487426 121 | P a g e
ISMS
Last Date 2016-07-13
Modified
Overview Function enables to create purchase order
Actors Primary : Store Keeper
Secondary : Admin
Conditions Pre-condition: User must login to the system
Post-condition:
1. Data saved complete-Create purchase order
2. Cancelation-Cancel performance.
3. Termination- none-effected user trying to create purchase order.
4. Transaction complete – Create goods received note.
5. Paused transaction – Transaction temporally stopped.
6. Deletion – Delete Transaction
Business Only store keeper and administrator can perform ordering product based on
Rules the user privileges from the system.
Main Flow of 1. User click ‘PO’ button.
Event
2. The system will display Purchase Order form.
3. The user entering details need to order and clicking ‘Save’ button.
4. Use case terminates with the post-condition 1.
5. User click ‘GRN’ button.
6. The system will display Goods Received Form.
7. User recall purchase order note through purchase order no.
8. The will display purchase order details.
Vindya Thilakarathna Membership No: 990487426 122 | P a g e
ISMS
9. User check and edit item list and click ‘Save’ button.
10. Use case terminates with the post-condition 4.
Alternative 1. User click ‘PO’ button.
Flow of
2. The system will display Purchase Order form.
Events
3. User wants to abort from performance.
4. User click ‘Cancel’ button.
5. Use case terminates with the post-condition 2
6. The user wants to temporally pause the transaction.
7. User click ‘Stop’ button.
8. Use case terminates with the post-condition 4
9. Ineligible user trying to order products
10. Display error message
11. Use case terminates with the post-condition 3
12. User wants to end transaction.
13. User click ‘Delete’ button.
14. Use case terminates with the post-condition 6
Associate Use Used by none
Cases
Assumption User already logged to the system.
Table 15: Use Case Narrative for Order products
Vindya Thilakarathna Membership No: 990487426 123 | P a g e
ISMS
A.2.4 Use case narrative for Delete User Accounts
Use Case No UC-04
Use Case Delete User Accounts
Name
Last Date 2016-07-13
Modified
Overview Function enables to deactivate user account from the system.
Actors Primary : Admin
Secondary : -
Conditions Pre-condition: Admin must login to the system
Post-condition:
1. Deletion complete-Update product registered in the system.
2. Cancelation-Cancel performance.
Business Only administrator can delete users from the system..
Rules
Main Flow of 1. User click ‘Edit User’ button.
Event
2. The system will display Edit User Details form.
3. The user click ‘Delete’ button.
4. Use case terminates with the post-condition 1.
Alternative 1. User click ‘Edit User’ button.
Flow of
2. The system will display Edit User Details form.
Events
3. User wants to abort from performance.
4. User click ‘Cancel’ button.
5. Use case terminates with the post-condition 2
Vindya Thilakarathna Membership No: 990487426 124 | P a g e
ISMS
Associate Use Used by none
Cases
Assumption User already logged to the system.
Table 16: Use Case Narrative for delete user accounts
A.2.5 Use case narrative for Selling Products
Use Case No UC-13
Use Case Selling Products
Name
Last Date 2016-07-13
Modified
Overview Function enables to create sales invoice
Actors Primary : Cashier
Secondary : Store keeper,
Conditions Pre-condition: User must login to the system
Post-condition:
1. Transaction complete-Create sales invoice (receipt)
2. Cancelation-Cancel performance.
3. Search items – Search item from the stock.
4. Modify item list – add and remove from the cart.
Business All cashiers can create sales invoice.
Rules
Main Flow of 1. User click ‘Sales’ button.
Event
2. The system will display Point of Sales form.
Vindya Thilakarathna Membership No: 990487426 125 | P a g e
ISMS
3. The user entering details for the item list and clicking ‘Save’ button.
4. Use case terminates with the post-condition 1.
Alternative 1. User click ‘Sales’ button.
Flow of
2. The system will display Point of Sales form.
Events
3. User wants to abort from performance.
4. User click ‘Cancel’ button.
5. Use case terminates with the post-condition 2
6. The user wants to search item from the stock.
7. User enters name, class or category name to the search box.
8. System will filter result.
9. Use case terminates with the post-condition 3
10. User wants to remove or add product to the cart.
11. User click ‘Remove or Update’ button of cart.
12. Use case terminates with the post-condition 4
Associate Use Used by none
Cases
Assumption User already logged to the system.
Table 17: Use Case Narrative for selling products
Vindya Thilakarathna Membership No: 990487426 126 | P a g e
ISMS
A.3 Use Case Diagrams
A.2.2 Use case diagram for Supplier Management
Module
Supplier Management
«uses»
Using valid user
Login to the system
name & password
«extends»
Admin Edit supplier
Add supplier
details
«extends»
Delete supplier
details
User Search records
Logout from the
View reports
system
Figure 60: Use case Diagram for Supplier Management Module
Vindya Thilakarathna Membership No: 990487426 127 | P a g e
ISMS
A.2.3 Use case diagram for Inventory Control Module
Inventory Control
«uses»
Using valid user
Login to the system
name & password
«extends»
Add Item Class Manage Item Class
«extends»
Manage Item
Actor1 Add Item Category
Category
Add UOM «extends»
Manage UOM
Add Item «extends»
«uses» «uses» Manage Item
Set maximum stock
Set re-order level
qty
User
View reports
Logout from the
system
Figure 61: Use case Diagram for Inventory Control Module
Vindya Thilakarathna Membership No: 990487426 128 | P a g e
ISMS
A.3 Sequence Diagram
A.3.1 Sequence Diagram for User Registration
Admin/User Interface Validation Database
Request registration form ()
Check user level of user()
Provide requested form () Result validate user
Submit filled form ()
Send user details()
Check()
Send details
Display message Registration success message Result Success
Figure 62: Sequential Diagram for User Registration
Vindya Thilakarathna Membership No: 990487426 129 | P a g e
ISMS
A.3.2 Sequence Diagram for Update Records
Admin/User System Database
Search product details ()
Verify user login
Request details ()
Search details Results Search data
Provide details want to update Send details
Result Result Update data
Request to save details () Send details ()
Save success message responsce Save data
Figure 63: Sequential Diagram for Update Records
Vindya Thilakarathna Membership No: 990487426 130 | P a g e
ISMS
A.4 Activity Diagram
A.4.1 Activity Diagram for Sales Module
Inventory and Sales Management
Admin
System
Login
Click system icon Display login form
Enter valid user name & password Validate information provide by user
Dispaly main form
Valid
Invalid
Display error message
Select sales form Dispaly sales form
Add item to cart Check stock availability
Display message Add item to cart
Not
Available
available
Proceed transaction Display grand total
Print receipt
Logout
Figure 64: Activity Diagram for Sales Module
Vindya Thilakarathna Membership No: 990487426 131 | P a g e
ISMS
A.5 Wireframes
A.5.1 Wireframe for User Registration
Figure 65: Wireframe for User Registration
A.5.2 Wireframe for User Management
Figure 66: Wireframe for User Management
Vindya Thilakarathna Membership No: 990487426 132 | P a g e
ISMS
A.5.3 Wireframe for Inventory Control
Figure 67: Wireframe for Inventory Control
A.5.4 Wireframe for Stock Monitoring
Figure 68: Wireframe for Stock Monitoring
Vindya Thilakarathna Membership No: 990487426 133 | P a g e
ISMS
Appendix B: System Documentation
B.1 System Requirements
B.1.1 Hardware Requirements
Intel Core i3, i5, i7 or above equivalent processor CPU
Minimum 1GB RAM or more
Minimum 20 GB Hard Disk Drive or higher
Ink jet printer or laser printer
Router, Modem or Internet Connection
B.1.2 Software Requirement
Microsoft Windows 7 or above (64 or 32)
.net frame work 3.5 or above
Microsoft SQL Server 2005 or higher
B.2 Configuration
B.2.1 How to Configured System
1. Run SQL Server
Figure 69: Run SQL Server
Vindya Thilakarathna Membership No: 990487426 134 | P a g e
ISMS
2. Connect to the server using Windows Authenticator
Figure 70: Connect to the server using Windows Authentication
B.2.2 Find out IP address for SQL Server machine
3. Run Command Prompt and type ‘ipconfig’.Then find IP address at the result of “Wireless LAN
adapter Wireless Network Connection- IPv4 Address”
Figure 71: IP address appear in command prompt
Vindya Thilakarathna Membership No: 990487426 135 | P a g e
ISMS
B.2.3 Find Out Port Address for SQL Server
4. Run SQL Server Configuration Manager
Figure 72: SQL configuration manager
5. Under the ‘Protocol for SQLEXPRESS’ TCP/IP Properties Set TCP/IP Port Address
to 1433 (Address to for default it is 1433)
Figure 73:TCP/IP properties
Vindya Thilakarathna Membership No: 990487426 136 | P a g e
ISMS
B.2.4 Install and enable SQL Server browser
6. Run Administrative Tools
Go to Control Panel All Control Panel Items Administrative Tools
Figure 74: Administrative tools
Select Services
Figure 75: Administrative tools services
Start SQL Server Browser
Vindya Thilakarathna Membership No: 990487426 137 | P a g e
ISMS
Figure 76: SQL server browse
Vindya Thilakarathna Membership No: 990487426 138 | P a g e
ISMS
B.2.5 Open firewall setting for SQL Server and SQL
Server Browser
7. Enable both ‘SQL Browser’ and ‘SQL Server’ to private and also to public.
Figure 77: Firewall settings
B.2.6 Enable the Port forwarding to SQL Server Ports
8. Run ‘Windows Firewall with Advanced Security’ and create ‘New Rule’
Figure 78: Create firewall new rule
Vindya Thilakarathna Membership No: 990487426 139 | P a g e
ISMS
Figure 79: Competed new rule
B.2.7 Connect the SQL server using Windows
Authentication and Create user account
9. Connect to the server using Windows Authenticator
Figure 80: Connecting to the sql server
Vindya Thilakarathna Membership No: 990487426 140 | P a g e
ISMS
10. Create new user account
Figure 81: Create new login account
Vindya Thilakarathna Membership No: 990487426 141 | P a g e
ISMS
I. Genera Details
Login Name: Admin
Password : 1234
Figure 82: Login account general details
II. Server Roles
Figure 83: Login account ser role
III. User Mapping
Vindya Thilakarathna Membership No: 990487426 142 | P a g e
ISMS
Figure 84: Login account user mapping
IV. Status
Figure 85: Login account status
Vindya Thilakarathna Membership No: 990487426 143 | P a g e
ISMS
B.2.8 Connect the SQL server using IP Address and SQL
Server Authentication
11. Connect to the server providing IP address and as SQL Server Authentication
Figure 86: Connecting to the server using IP address
Vindya Thilakarathna Membership No: 990487426 144 | P a g e
ISMS
B.2.9 Create a New Database Using This Name of
‘Bookshop’
12. Create new database
Figure 87: Create new database
Vindya Thilakarathna Membership No: 990487426 145 | P a g e
ISMS
B.2.10 restore the database from fresh backup from the
device
Vindya Thilakarathna Membership No: 990487426 146 | P a g e
ISMS
Figure 88: Restore database from backup
Vindya Thilakarathna Membership No: 990487426 147 | P a g e
ISMS
B.2.11 Connection string contain the User Id and
Password, these two fields must be fill in users
computer sql server user name and password.
"Data Source=192.168.1.4\\SQLEXPRESS; Initial Catalog=Bookshop;Integrated
Security=true;User ID=Admin;Password=1234"
B.3 Software Installation
B.3.1 Double click setup files or Run as administrator
Click Next
Vindya Thilakarathna Membership No: 990487426 148 | P a g e
ISMS
Browse destination location and click next
Click next
Vindya Thilakarathna Membership No: 990487426 149 | P a g e
ISMS
Wait for the installation
Click close
Vindya Thilakarathna Membership No: 990487426 150 | P a g e
ISMS
After successfully installation click application icon appear on desktop or
Go to All Program and ‘Sasip Bookshop ISMS’ then click ‘Sasip Bookshop ISMS’.
Figure 89: Application installation and Run
Vindya Thilakarathna Membership No: 990487426 151 | P a g e
ISMS
Appendix C: User Documentation
C.1 User Guide
C.1.1 Getting Started
By clicking system icon initially splash screen will appear. Splash Screen automatically moves to
the Login of the system.
Figure 90: Splash Screen
C.1.2 Login to the System
Before to be able to start ISMS system, you need to be identified. Using this window you can
login to the system using valid user name, password.
Enter valid user name
Enter valid password
Press Login to login Press Cancel to exit
to the system from application
Figure 91: Login form
Vindya Thilakarathna Membership No: 990487426 152 | P a g e
ISMS
C.1.3 Main Window
You are now in system main window.
Edit Details Reference Transaction System System About Exit
Files
Files Files Files Reports Tools System
Logout
Button
Exit
Button
Logged User Version Date Time
Figure 92: System Main Window
Vindya Thilakarathna Membership No: 990487426 153 | P a g e
ISMS
C.1.3.1 Functional Description
References
Button Descriptions
This button allows the store user details including user level to who are willing
to use the system. This form only accessible for administrative level users.
Provide to store supplier details into the database.
Button of Item classes provide to store details about item class which items
divided into main types. (Ex. Books, Pens etc…)
This button allows storing item category details which item class further divide
into sub types. (Ex. Drawing books, CR-books etc…)
Storing item master details to the database.
Control & Management
Form of user management helps to search user, add new, update user records
and delete user in the system. Additionally user reports for the reference also
provide.
Form of supplier management helps to search user, add new supplier, update
supplier records and delete supplier in the system.
Provide to control inventory to the system using this form.
Form of stock monitoring will help to monitoring current stock details and also
store detail of opening stock entries.
Transaction
Contain to adding Opening Stock details to the system.
Vindya Thilakarathna Membership No: 990487426 154 | P a g e
ISMS
Handling transaction details about purchase order.
Transaction Good Received Note
Handling point of sales details to the system.
System
Button of logout from the system.
Button of exit from the system.
Table 18: Functional Description of Main Window Buttons
Vindya Thilakarathna Membership No: 990487426 155 | P a g e
ISMS
C.1.4 File (Menu Elements)
Figure 93: Menu Element of File Menu
C.1.5 Edit Files (Menu Elements)
Figure 94: Menu element of Edit Menu
C.1.5.1 Edit User Details
Following form is allowed to edit user details store in database. By checking auto clear check
box, form will automatically clear after click edit button.
1. Select user from ‘User No’ Combo Box. By selecting user no, user details will automatically
fill according to the user.
2. Edit details you want to update.
3. Click ‘Edit’ button.
4. If you want to clear fields click ‘Clear’ button.
Vindya Thilakarathna Membership No: 990487426 156 | P a g e
ISMS
Figure 95: Edit User Registration Form
C.1.5.2 Edit Supplier Details
This form is used to edit supplier details store in database
Figure 96: Edit Supplier Details Form
Vindya Thilakarathna Membership No: 990487426 157 | P a g e
ISMS
Above form is allows to edit supplier details store in database. By checking auto clear check
box, form will automatically clear after click edit button.
1. Select supplier from ‘Supplier No’ Combo Box. By selecting supplier no, supplier details will
automatically fill according to the supplier.
2. Edit details you want to update.
3. Click ‘Edit’ button.
4. If you want to clear fields click ‘Clear’ button.
C.1.5.3 Edit Item Class
This form is used to edit item class details store in database. By checking auto clear check box,
form will automatically clear after clicks edit or delete button.
Figure 97: Edit Item Class Form
1. Select item class from ‘Class No’ Combo Box. By selecting class no, details will automatically
fill according to the item class no.
2. Edit details you want to update.
3. Click ‘Edit’ button.
4. If you want to delete item class, click ‘Delete’ button after selecting item class need to
delete.
5. If you want to clear fields click ‘Clear’ button.
C.1.5.4 Edit Item Category
Below form is used to edit item category details store in database. By checking auto clear check
box, form will automatically clear after clicks edit or delete button.
Vindya Thilakarathna Membership No: 990487426 158 | P a g e
ISMS
Figure 98: Edit Item Category Form
1. Select item category from ‘Category No’ Combo Box. By selecting category no, details will
automatically fill according to the item category no.
2. Edit details you want to update.
3. Click ‘Edit’ button.
4. If you want to delete item category, click ‘Delete’ button after selecting item category need
to delete.
5. If you want to clear fields click ‘Clear’ button.
C.1.5.5 Edit Unit of Measure
This form is used to edit unit of measure details store in database. By checking auto clear check
box, form will automatically clear after clicks edit or delete button.
Figure 99: Edit Unit of Measure Form
Vindya Thilakarathna Membership No: 990487426 159 | P a g e
ISMS
1. Select item unit of measurement from ‘UOM No’ Combo Box. By selecting uom no, details
will automatically fill according to the uom no.
2. Edit details you want to update.
3. Click ‘Edit’ button.
4. If you want to delete unit of measure, click ‘Delete’ button after selecting unit of measure
you want to delete.
5. If you want to clear fields click ‘Clear’ button.
C.1.5.6 Edit Product Details
This form is used to edit Product details store in database. By checking auto clear check box,
form will automatically clear after clicks edit or delete button
Figure 100: Edit Product Details Form
Vindya Thilakarathna Membership No: 990487426 160 | P a g e
ISMS
1. Select product no from ‘Product No’ Combo Box. By selecting product no, details will
automatically fill according to the product no.
2. Edit details you want to update.
3. Click ‘Edit’ button.
4. If you want to delete product, click ‘Delete’ button after selecting necessary product you
want to delete.
5. If you want to clear fields click ‘Clear’ button.
C.1.6 Reference Files (Menu Elements)
Figure 101: Menu element of Reference Menu
C.1.6.1 User Registration
Below form is use to user registration. By checking auto clear check box, form will automatically
clear after clicks save button. Users no will systematically generate through the form. Only
administrative users can access this form.
1. Fill user detail.
2. Select user level from ‘User Level’ Combo Box.
3. Browse user image stored in computer.
4. Click ‘Save’ button.
5. If you want to clear fields click ‘Clear’ button.
Vindya Thilakarathna Membership No: 990487426 161 | P a g e
ISMS
Figure 102: User Registration Form
C.1.6.2 Supplier Registration
This form used to store new supplier to the database. By checking auto clear check box, form
will automatically clear after clicks save button. Supplier no will systematically generate
through the form.
Figure 103: Supplier Registration Form
Vindya Thilakarathna Membership No: 990487426 162 | P a g e
ISMS
1. Fill supplier details.
2. Browse supplier image stored in computer.
3. Click ‘Save’ button.
4. If you want to clear fields click ‘Clear’ button.
C.1.6.3 Item Class
This form used to store item class details for the reference. (Ex: Books, Pens, Papers etc…).Class
no will systematically generate through the form.
Figure 104: Item Class Form
1. Fill class details.
2. Click ‘Save’ button.
3. If you want to clear fields click ‘Clear’ button.
4. By checking auto clear check box, form will automatically clear after clicks save button.
C.1.6.4 Item Category
This form used to store item category details for the reference. (Ex: Books-CR Book/Drawing
Book/Note Book etc…).Category no will systematically generate through the form.
1. Select appropriate item class from ‘Class Name’ Combo Box to the category.
2. Fill category details.
3. Click ‘Save’ button.
4. If you want to clear fields click ‘Clear’ button.
Vindya Thilakarathna Membership No: 990487426 163 | P a g e
ISMS
5. By checking auto clear check box, form will automatically clear after clicks save button.
Figure 105: Item Category Form
C.1.6.5 Unit of Measure
This form used to unit of measure details for the reference. UOM no will systematically
generate through the form.
Figure 106: Unit of Measure Form
1. Fill UOM details.
2. Click ‘Save’ button.
3. If you want to clear fields click ‘Clear’ button.
4. By checking auto clear check box, form will automatically clear after clicks save button.
Vindya Thilakarathna Membership No: 990487426 164 | P a g e
ISMS
C.1.6.6 Product Registration
This form used to store item master details for the reference. Product no will systematically
generate through the form.
Figure 107: Product Registration Form
1. Select item class from ‘Class Name’ Combo Box, class no automatically appears in class no
label.
2. Select item category from ‘Category Name’ Combo Box, category no automatically appear in
category no label.
3. Fill Product details.
4. Select unit of measure from ‘UOM Combo Box’, uom no automatically appear in uom no
label.
5. When the discount, VAT and NBT were entered selling price value will be calculated.
6. Browse item image stored in computer.
5. Click ‘Save’ button.
6. If you want to clear fields click ‘Clear’ button.
7. By checking auto clear check box, form will automatically clear after clicks save button.
Vindya Thilakarathna Membership No: 990487426 165 | P a g e
ISMS
C.1.7 Control and Management
C.1.7.1 User Management
Figure 108: User Management Form
This form allows managing user details stored in database. By entering user designation, first
name, last name, reference no or user name to the search text felids result will be filter to the
data grid view. By clicking ‘Search All’ button all records stored in database will be filter to the
grid view.
You can navigate records using navigation panel and each record can generate by clicking ‘Print
Record’ button.
Figure 109: Navigation Panel
By clicking ‘Print All’ button, you can create report of all users stored in the database. If you
want to add new user or edit user stored in database or delete user from the system click ‘Add
New’, ’Edit’, ‘Delete’ buttons respectively. If you want to clear form click ‘Clear’ button at the
button panel.
Vindya Thilakarathna Membership No: 990487426 166 | P a g e
ISMS
C.1.7.2 Supplier Management
Figure 110: Supplier Management Form
This form allows managing supplier details stored in the database. By entering supplier no,
name, reference no, contact no or email address to the search text felids result will filter to the
data grid view. By clicking ‘Search All’ button all suppliers registered in the system will be
loaded.
You can navigate record loaded to the grid view and each record can be print using ‘Print
Record’ button. If you want to create report of all suppliers registered in the system click ‘Print
All’ button.
If you want to Add, Edit, Delete suppler click ‘Add New’, ‘Edit’, ‘Delete’ buttons respectively. By
clicking ‘Clear’ button form will be cleared.
Vindya Thilakarathna Membership No: 990487426 167 | P a g e
ISMS
C.1.7.3 Inventory Control
Figure 111: Inventory Control Form
This form is used to control inventory. By entering item class name, item category name, item
no or item name to the search text fields records will be filter to the grid view according to the
input. By clicking ‘Search All’ button all items registered in the database will be loaded to the
grid view.
You can navigate record using navigation panel and each record can be print
by clicking ‘Print Record’ button. If you want to create report of all items
stored in the database click ‘Print All’ button. Each item can be deleting
using ‘Delete’ button. Using control button panel you can add or edit records
of item class, item category, uom, items to the system.
If you want to clear form click ‘Clear’ button at the button panel.
Figure 112: Control button panel.
Vindya Thilakarathna Membership No: 990487426 168 | P a g e
ISMS
C.1.7.4 Stock Monitoring
Figure 113: Stock Monitoring Form
This form is use for adding and maintaining records of stock. If you want to search stock input
‘stock code’ to stock code text field or select ‘type’, ‘Status’ or ‘category’ from the combo
boxes.
Using ‘Stock at Hand’ button you can view real time stock status available at the stock. If you
want to add new opening stock then click ‘Add New Opening Stock’ button. If you want to clear
form click ‘Clear’ button at the button panel.
C.1.8 Transaction Files (Menu element)
Figure 114: Menu element of transaction
Vindya Thilakarathna Membership No: 990487426 169 | P a g e
ISMS
C.1.8.1 Opening Stock Entry
This form used to add new opening stock to the database. Stock code will systematically
generate through the form. By checking auto clear check box, form will automatically clear after
clicks save button.
Figure 115: Opening Stock Entry Form
1. Select item category from ‘Search Category’ Combo Box.
2. Select item through the ‘Item’ Combo Box. Item no, maximum quantity; available quantity
and current stock quantity were automatically appearing according to the item selected.
3. Input quantity of item to the ‘Quantity’ text field. When item quantity total stock value will
be calculated
4. Select date.
5. Click ‘Save’ button.
8. If you want to clear fields click ‘Clear’ button.
Vindya Thilakarathna Membership No: 990487426 170 | P a g e
ISMS
C.1.8.2 Purchase Order
Following form is used to handle legally binding document between a supplier and a buyer. PO
no will systematically generate through the form. By checking auto clear check box, form will
automatically clear after clicks save button.
Figure 116: Purchase Order Form
1. Select supplier no from ‘Supplier No’ combo Box, Supplier name will automatically appear
in supplier name label according to the supplier no you select.
2. Initially all the registered item no in the system load to the item no combo box when form is
display. If you want to load items relevant to the supplier you selected check ‘Filter items by
supplier’ check box.
3. Select items no you want to order through the ‘Item No’ combo box and Item name will
automatically appear in item name text box according to the item no you selected. Item
purchasing price, maximum stock quantity, current stock quantity, available stock quantity
also automatically appear in particular fields.
4. Input order quantity and discount to the item.
5. Click ‘Add Item’ button.
6. You can navigate item list using navigation panel.
Vindya Thilakarathna Membership No: 990487426 171 | P a g e
ISMS
7. If you want to change item quantity of discount of item at the list click after edit values click
‘Update’ button.
8. If you want to remove item in the item list click ‘Delete’ button.
9. If you want to add more items to the list click ‘Add More’ button.
Figure 117 : PO navigation button panel.
10. Every time adding quantity to the stock valued of ‘Subtotal’ will be calculate.
11. If you want, Input discount or tax details of VAT, NBT to the sub total. Amount will be
automatically calculated and Grand total will also calculate according to the changes.
12. Select PO date and Expected date. You can see the count of date through the ‘Validity (D)
‘text field according to your selection.
13. Click ‘Save’ button. After click save button note of purchase order automatically generate
and will display to the window.
14. If you want to print note click ‘Print Report’ and click ‘Print’ button.
15. If you want to clear form click ‘Clear’ button.
C.1.8.3 Goods Received Note
Record of goods received at the point of receipt. This record is used to confirm all goods have
been received and often compared to a purchase order before payment is issued. GRN No will
also systematically generate through the form. By checking auto clear check box, form wills
automatically clear after clicks save, stop or delete buttons.
Vindya Thilakarathna Membership No: 990487426 172 | P a g e
ISMS
Figure 118: Goods Received Note Form
1. Select purchase order no from ‘PO No’ combo box. Details will be loaded to the fields.
2. If you want to change supplier select supplier no from ‘Supplier No’ combo Box, Supplier
name will automatically appear in supplier name label according to the supplier no you
select.
3. If you want to add more items to the list click ‘Add More’ button.
4. Initially all the registered item no in the system load to the item no combo box when form is
display. If you want to load items relevant to the supplier you selected check ‘Filter items by
supplier’ check box.
5. Select items no you want to order through the ‘Item No’ combo box and Item name will
automatically appear in item name text box according to the item no you selected. Item
purchasing price, maximum stock quantity, current stock quantity, available stock quantity
also automatically appear in particular fields.
6. Input order quantity and discount to the item.
7. Click ‘Add Item’ button.
8. You can navigate item list using navigation panel.
9. If you want to change received item quantity or discount of the item after edit values click
‘Update’ button.
10. If you want to remove item in the item list click ‘Delete’ button in navigation button panel.
Vindya Thilakarathna Membership No: 990487426 173 | P a g e
ISMS
11. If you want to add more items to the list click ‘Add More’ button.
12. Every time adding quantity to the stock valued of ‘Subtotal’ will be calculate.
13. If you want Input discount, tax details of VAT, NBT or other charges to the sub total.
Amount will be automatically calculated and Grand total will also calculate according to the
changes.
14. Select GRN date.
15. If you want input suppliers invoice no or any other reference no to the ‘Reference No’ text
fields.
16. Input payment descriptions.
17. Click ‘Save’ button. After click save button note of GRN automatically generate and will
display to the window.
18. If you want to print note click ‘Print Report’ and click ‘Print’ button.
19. If you want to clear form click ‘Clear’ button.
20. If you want to cancel purchase order click ‘Stop’ button at the button panel.
Figure 119: Buttons Panel.
21. You can re-call cancelled purchase order by checking ‘Filter refused purchase order’ check
box.
22. If you want to remove cancelled purchase order click ‘Delete’ button.
C.1.8.4 Point Of Sales
Form of point of sales at the sales counter. Invoice No will also systematically generate through
the form.
Vindya Thilakarathna Membership No: 990487426 174 | P a g e
ISMS
Figure 120: Point of Sales Form
1. Initially all the item numbers of items available at the stock loaded to the ‘Item No’ combo
box. Select item no from ‘Item No’ combo box. Details of item including unit price and value
of current stock will appear in the form according to the item you selected.
2. Enter item quantity. After enter item quantity click ‘Add to Cart’ button.
3. You can navigate items in the cart list using navigation button panel.
Figure 121: Cart list navigation button panel
4. If you want to change or remove item within cart list click ‘Update’ button or ‘Delete’
button.
Update button
Item Remove button
Figure 122: Item update and remove buttons
Vindya Thilakarathna Membership No: 990487426 175 | P a g e
ISMS
5. If you want input discount to the sub total. Grand total will be calculated according to the
changes.
6. Input amount of cash received and balance will be calculated.
7. Click ‘Proceed’ button. After click proceed button invoice of sales automatically generate
and will display to the window.
8. If you want to clear form click ‘Clear’ button.
C.1.9 Reports
C.1.9.1 Reference Reports (Menu Elements)
Figure 123: Menu element of Reference Menu
C.1.9.2 Stock Reports (Menu Elements)
Figure 124: Menu element of Stock Report Menu
C.1.9.3 Transaction Inquiry Reports (Menu Elements)
Figure 125: Inventory Report Form
Vindya Thilakarathna Membership No: 990487426 176 | P a g e
ISMS
C.1.9.4 User Reports (Menu Elements)
Figure 126: Menu element of User report
C.1.10 Tools (Menu Elements of Tools)
Figure 127: Menu element of Tools Menu
C.1.10.1 User Privileges
This form is used to grant and revoke privileges which provided to each user. Only
administrative users can access to this form.
Figure 128: User Privileges Form
Vindya Thilakarathna Membership No: 990487426 177 | P a g e
ISMS
How to Grant Privileges
1. Initially user numbers of users who are not grant privileges to the system will load to the
Grant Privileges ‘User No’ combo box. Select user no.
2. Input user name and designation of the user.
3. Input default password. Every user can change their password after logging to the system
using default password.
4. Check privileges they can perform to the system.
5. Clicks grant privileges ‘Save’ button.
How to Revoke Privileges
6. Search user by entering ‘User Name’ or ‘User No’ to text fields or click ‘Search All’ button.
Result will be loaded to the grid view. Navigate results and select user you want to revoke
privileges.
7. Change user level, status or privileges they have been granted.(ex: once you change user
status to ‘Deactivate’, that user cannot login to the system even by using his/her own valid
user name or password).
8. Click Revoke Privileges ‘Save’ button after change user privileges.
9. If you want to clear form click ‘Clear’ button.
C.1.10.2 Change Password
This form is used to changing password of logged user in the system.
Figure 129: Change Password of logged user Form
Vindya Thilakarathna Membership No: 990487426 178 | P a g e
ISMS
1. Input old password.(ex: default password)
2. Input new password.
3. Re-enter new password.
4. Click ‘Save’ button.
5. If you want to clear form click ‘Clear’ button. When you checked ‘Auto Clear’ check box
form will automatically clear after click save button.
C.1.11 About
Figure 130: Form About
Vindya Thilakarathna Membership No: 990487426 179 | P a g e
ISMS
Appendix D: MIS Report Generation
D.1 Print Reports
Figure 131: Print Report
D.2 Sample Report of Item Class
Figure 132: Item Class Report
Vindya Thilakarathna Membership No: 990487426 180 | P a g e
ISMS
D.3 Sample Report of Unit of Measure
Figure 133: Unit of Measure Report
D.4 Sample Report of Inventory
Figure 134: Inventory Report
Vindya Thilakarathna Membership No: 990487426 181 | P a g e
ISMS
D.5 Sample Report of Sales
Figure 135: Sales Report
D.6 Sample Report of Profit
Figure 136: Profit Report
Vindya Thilakarathna Membership No: 990487426 182 | P a g e
ISMS
D.7 Sample Report of Sales Summary
Figure 137: Sales Summary Report including top selling items
D.8 Sample Report of Stock At Hand
Figure 138: Stock At Hand Report
Vindya Thilakarathna Membership No: 990487426 183 | P a g e
ISMS
D.9 Sample Report of Stock Balance
Figure 139: Stock Balance Report
D.9 Sample Report of Users
Figure 140: User Report
Vindya Thilakarathna Membership No: 990487426 184 | P a g e
ISMS
Appendix E: Test Plan, Test Cases Design and
Test Results
E.2 Test Case for Add New User
Test Case Number 02
Test Case Type Unit Test
Test Case Name Add New User
Test Case Description Registering new user to the system
Module User Management and Access Level Controls
Test Data
Valid Invalid
Details of valid user -
Expected Output
Valid Invalid
User records saved and adding to the -
database.
Result
Pass -
Reference
Figure 139: Before User Registration -
Figure 142: After Registered User
Table 19: Test case for Add New User
Vindya Thilakarathna Membership No: 990487426 185 | P a g e
ISMS
Test Result with Valid Data.
Figure 141: Before User Registration
Clicked ‘Add New’
button then displayed
form of ‘User
Registration’.
Vindya Thilakarathna Membership No: 990487426 186 | P a g e
ISMS
Figure 142: After Registered User
E.3 Test Case for Delete User
Test Case Number 03
Test Case Type Unit Test
Test Case Name Deactivate User
Test Case Description Remove user from the system.
Module User Management and Access Level Controls
Test Data
Valid Invalid
Deactivate user by clicking ‘Delete’ button. -
Expected Output
Valid Invalid
User deactivation. -
Result
Pass -
Vindya Thilakarathna Membership No: 990487426 187 | P a g e
ISMS
Reference
Figure 143: Before Deactivate User -
Figure 144: After User Deactivation
Table 20: Test case for Deactivate User
Test Result with Valid Data.
Figure 143: Before Deactivate User
Selected user need to deactivate then click ‘Delete’ button. Click ‘Yes’ after appearing confirmation
message. User deactivated and removed from the data grid view. Refer below form
Vindya Thilakarathna Membership No: 990487426 188 | P a g e
ISMS
Figure 144: After User Deactivation
E.4 Test Case for Update User Record
Test Case Number 04
Test Case Type Unit Test
Test Case Name Update User Record
Test Case Description Managing user information
Module User Management and Access Level Controls
Test Data
Valid Invalid
Edit User No : SB/UPF-0010 -
First name ‘Nishan’ into ‘Sujith’ and
Reference No ‘851780890V’ into
‘881780890’
Expected Output
Valid Invalid
Updated User Record. -
Vindya Thilakarathna Membership No: 990487426 189 | P a g e
ISMS
Result
Pass -
Reference
Figure 145: Before update user record -
Figure 146: After update user record
Table 21: Test case for Update User Record
Test Result with Valid Data.
Figure 145: Before update user record
Vindya Thilakarathna Membership No: 990487426 190 | P a g e
ISMS
Figure 146: After update user record
E.5 Test Case for Grant Privileges
Test Case Number 05
Test Case Type Security Test
Test Case Name Grant Privileges
Test Case Description Manage user access privileges and credential
Module User Management and Access Level Controls
Test Data
Valid Invalid
User No : SB/UPF-009 -
Vindya Thilakarathna Membership No: 990487426 191 | P a g e
ISMS
User Name :Piumika
Privileges:
Access Data = Yes
Save Data = Yes
Update Data = Yes
Delete Data = No
Expected Output
Valid Invalid
Success Message -
Result
Pass -
Reference
Figure 147: Granting Privileges to the user -
Figure 148: After privileges granted to the user
Table 22: Test case for Grant Privileges
Test Result with Valid Data.
Figure 147: Granting Privileges to the user
Selected user no ‘SB/UPF-009’ from Grant Privileges combo box and granted privileges to the user
including user name and default password.
Vindya Thilakarathna Membership No: 990487426 192 | P a g e
ISMS
Figure 148: After privileges granted to the user
E.6 Test Case for Check Privileges
Test Case Number 06
Test Case Type Security Test
Test Case Name Check Privileges
Test Case Description Manage user access privileges and credentials
Module User Management and Access Level Controls
Test Data
Valid Invalid
Logged User : Piumika -
Vindya Thilakarathna Membership No: 990487426 193 | P a g e
ISMS
Delete Item Class from the System
Expected Output
Valid Invalid
Warning Error message -
Result
Pass -
Reference
Figure 149: Before press ‘Delete’ button -
Figure 150: After press ‘Delete’ button
Table 23: Test case for Check Privileges
Test Result with Valid Data.
Logged user
Figure 149: Before press ‘Delete’ button
Check user performance of users who haven’t given to delete data privileges of the system.
Vindya Thilakarathna Membership No: 990487426 194 | P a g e
ISMS
Figure 150: After press ‘Delete’ button
E.7 Test Case for Supplier Registration
Test Case Number 07
Test Case Type Unit Test
Test Case Name Supplier Registration
Test Case Description Adding and maintaining supplier/vendor information
Module Supplier/Vendor Management
Test Data
Valid Invalid
Input Supplier details and click ‘Save’ button -
Expected Output
Valid Invalid
Registration Success message -
Result
Vindya Thilakarathna Membership No: 990487426 195 | P a g e
ISMS
Pass -
Reference
Figure 151: Filled User Details Need to Register -
Figure 152: After supplier registration
Table 24: Test case for Supplier Registration
Test Result with Valid Data.
Figure 151: Filled User Details Need to Register
Searched ‘Hemantha Udaya Kumara’ through Name text field
Vindya Thilakarathna Membership No: 990487426 196 | P a g e
ISMS
Figure 152: After supplier registration
E.8 Test Case for Edit Supplier Records
Test Case Number 08
Test Case Type Unit Test
Test Case Name Edit Supplier Records
Test Case Description Adding and maintaining supplier/vendor information
Module Supplier/Vendor Management
Test Data
Valid Invalid
Edit Supplier no ‘SB/SUP-007’ -
Reference no ‘34567-03-43’ into ’23-454-E’
Expected Output
Valid Invalid
Record has been update message -
Result
Pass -
Vindya Thilakarathna Membership No: 990487426 197 | P a g e
ISMS
Reference
Figure 153: Before edit record -
Figure 154: After edit record
Table 25: Test case for Edit Supplier Records
Test Result with Valid Data.
Figure 153: Before edit record
Vindya Thilakarathna Membership No: 990487426 198 | P a g e
ISMS
Figure 154: After edit record
E.9 Test Case for Delete Suppler
Test Case Number 09
Test Case Type Unit Test
Test Case Name Delete Suppler
Test Case Description Adding and maintaining supplier/vendor information
Module Supplier/Vendor Management
Test Data
Valid Invalid
Delete supplier no ‘SB/SUP-006’ from the -
database.
Vindya Thilakarathna Membership No: 990487426 199 | P a g e
ISMS
Expected Output
Valid Invalid
Delete record -
Result
Pass -
Reference
Figure 155: Before delete supplier -
Figure 156: After delete supplier
Table 26: Test case for Delete Suppler
Test Result with Valid Data.
Figure 155: Before delete supplier
Vindya Thilakarathna Membership No: 990487426 200 | P a g e
ISMS
Figure 156: After delete supplier
E.10 Test Case for Opening Stock Entry
Test Case Number 10
Test Case Type Efficiency
Test Case Name Opening Stock Entry
Test Case Description Adding and maintaining stock details
Module Stock Monitoring
Test Data
Valid Invalid
Item Name : Management File Add 70 of Management File to the Stock
Maximum Stock Quantity = 100
Current Stock Quantity = 32
Available Stock Quantity = 68
Add 50 of Management File to the Stock
Expected Output
Valid Invalid
Success of stock entry Warning Message
Vindya Thilakarathna Membership No: 990487426 201 | P a g e
ISMS
Result
Pass Pass
Reference
Figure 158: Test result of valid quantity Figure 157: Test result of invalid quantity
Table 27: Test case for Opening Stock Entry
Test Result with Invalid Data.
System won’t allow to
enter quantity exceed
available quantity and
following message will
appear
Figure 157: Test result of invalid quantity
Vindya Thilakarathna Membership No: 990487426 202 | P a g e
ISMS
Test Result with Valid Data
After adding 50 of
Management Files to the
Stock result of remaining
stock availability is 18
Figure 158: Test result of valid quantity
Vindya Thilakarathna Membership No: 990487426 203 | P a g e
ISMS
E.11 Test Case for Search Current Stock
Test Case Number 11
Test Case Type Reliability
Test Case Name Search Current Stock
Test Case Description Stock At Hand
Module Stock Monitoring
Test Data
Valid Invalid
Click ‘Stock At Hand’ button. -
Expected Output
Valid Invalid
Filter current stock -
Result
Pass -
Reference
Figure 159: Stock at hand -
Table 28: Test case for Search Current Stock
Test Result with Valid Data
Vindya Thilakarathna Membership No: 990487426 204 | P a g e
ISMS
Figure 159: Stock at hand
E.12 Test Case for Search All Stock Records
Test Case Number 12
Test Case Type Reliability
Test Case Name Search All Stock Records
Test Case Description Search All
Module Stock Monitoring
Test Data
Valid Invalid
Click ‘Search All’ button -
Expected Output
Valid Invalid
Filter all records -
Result
Pass -
Vindya Thilakarathna Membership No: 990487426 205 | P a g e
ISMS
Reference
Figure 160: Search all stock result -
Table 29: Test case for Search All Stock Records
Test Result with Valid Data
Figure 160: Search all stock result
E.13 Test Case for Item Registration
Test Case Number 13
Test Case Type Unit Test
Test Case Name Item Registration
Test Case Description Manage inventory by assigning stock.
Module Inventory Control
Test Data
Valid Invalid
Registrar item with purchase price and -
selling price, maximum quantity and
Vindya Thilakarathna Membership No: 990487426 206 | P a g e
ISMS
minimum quantity.
Expected Output
Valid Invalid
Item registration -
Result
Pass -
Reference
Figure 161: Input item details -
Figure 162: After Item registration
Table 30: Test case for Item Registration
Test Result with Valid Data
Figure 161: Input item details
Vindya Thilakarathna Membership No: 990487426 207 | P a g e
ISMS
Figure 162: After Item registration
E.14 Test Case for Search Item
Test Case Number 14
Test Case Type Performance
Test Case Name Search Item
Test Case Description Search item store in stock
Module Inventory Control
Test Data
Valid Invalid
Search by -
Vindya Thilakarathna Membership No: 990487426 208 | P a g e
ISMS
Item Class : Books
Item Category : CR-Book
Item Name : CR Book 240 Pgs
Item No : SB/ITM-0070
Expected Output
Valid Invalid
Filter records -
Result
Pass -
Reference
Figure 163: Search by item class -
Figure 164: Search by item category
Figure 165: Search by item name
Figure 166: Search by item no
Table 31: Test case for Search Item
Test Result with Valid Data
Figure 163: Search by item class
Vindya Thilakarathna Membership No: 990487426 209 | P a g e
ISMS
Figure 164: Search by item category
Figure 165: Search by item name
Figure 166: Search by item no
Vindya Thilakarathna Membership No: 990487426 210 | P a g e
ISMS
E.15 Test Case for Control Stock Input
Test Case Number 15
Test Case Type Performance
Test Case Name Control Stock Input
Test Case Description Controlling stock input and output.
Module Inventory Control
Test Data
Valid Invalid
Enter amount of available quantity to Enter amount of invalid quantity to purchase
purchase order list order list
Expected Output
Valid Invalid
Item added to the list Warning message
Result
Pass Pass
Reference
Figure 168: Valid stock input result Figure 167: Invalid stock input result
Table 32: Test case for Control Stock Input
Test Result with Invalid Data
Vindya Thilakarathna Membership No: 990487426 211 | P a g e
ISMS
Entering of 50 to order quantity
Figure 167: Invalid stock input result
Test Result with Valid Data
Entering of 40 to order quantity
Figure 168: Valid stock input result
Vindya Thilakarathna Membership No: 990487426 212 | P a g e
ISMS
E.16 Test Case for Control Stock Output
Test Case Number 16
Test Case Type Performance
Test Case Name Control Stock Output
Test Case Description Controlling stock input and output.
Module Inventory Control
Test Data
Valid Invalid
Enter amount of available quantity to the Enter amount of invalid quantity to sales list
sales list
Expected Output
Valid Invalid
Item added to the list Warning message
Result
Pass Pass
Reference
Figure 170: Result of valid sales output Figure 169: Result of invalid sale qty
Table 33: Test case for Control Stock Output
Test Result with Invalid Data
Vindya Thilakarathna Membership No: 990487426 213 | P a g e
ISMS
Enter 71 to Qty
Figure 169: Result of invalid sale qty
Test Result with Valid Data
Enter 10 to Qty
Figure 170: Result of valid sales output
Vindya Thilakarathna Membership No: 990487426 214 | P a g e
ISMS
E.17 Test Case for Generate PO
Test Case Number 17
Test Case Type Performance
Test Case Name Generate PO
Test Case Description Issue system generated Purchase Order.
Module Issue PO and GRN
Test Data
Valid Invalid
Add order items and click ‘Save’ button -
Expected Output
Valid Invalid
Generate purchase order -
Result
Pass -
Reference
Figure 171: System generated purchase -
order
Table 34: Test case for Generate PO
Test Result with Valid Data
Vindya Thilakarathna Membership No: 990487426 215 | P a g e
ISMS
Figure 171: System generated purchase order
Vindya Thilakarathna Membership No: 990487426 216 | P a g e
ISMS
E.18 Test Case for Generate GRN
Test Case Number 18
Test Case Type Performance
Test Case Name Generate GRN
Test Case Description Issue system generated Goods Received Note.
Module Issue PO and GRN
Test Data
Valid Invalid
Recall purchase order no ‘SB/POR-0018’ -
and click ‘Save’ button
Expected Output
Valid Invalid
Generate GRN -
Result
Pass -
Reference
Figure 172: System generated goods -
received note
Table 35: Test case for Generate GRN
Test Result with Valid Data
Vindya Thilakarathna Membership No: 990487426 217 | P a g e
ISMS
Figure 172: System generated goods received note
Vindya Thilakarathna Membership No: 990487426 218 | P a g e
ISMS
E.19 Test Case for Generate Sales Invoice
Test Case Number 19
Test Case Type Performance
Test Case Name Generate Sales Invoice
Test Case Description Issue system generated sales invoice
Module Sales
Test Data
Valid Invalid
Add item to the list and click ‘Proceed’ -
button.
Expected Output
Valid Invalid
Generate invoice -
Result
Pass -
Reference
Figure 173: System generated sales invoice -
Table 36: Test case for Generate Sales Invoice
Test Result with Valid Data
Vindya Thilakarathna Membership No: 990487426 219 | P a g e
ISMS
Figure 173: System generated sales invoice
Vindya Thilakarathna Membership No: 990487426 220 | P a g e
ISMS
E.20 Test Case for Inventory Report
Test Case Number 20
Test Case Type Efficiency Check
Test Case Name Inventory Report
Test Case Description Generating inventory report for date wise
Module MIS Report Generation
Test Data
Valid Invalid
Date between ’01-07-2016’ to ’31-07-2016’ -
Expected Output
Valid Invalid
Generate inventory report -
Result
Pass -
Reference
Figure 174: Inventory report -
Table 37: Test case for Inventory Report
Test Result with valid data
Generate Report
Vindya Thilakarathna Membership No: 990487426 221 | P a g e
ISMS
Figure 174: Inventory report
E.21 Test Case for Sales Report
Test Case Number 21
Test Case Type Efficiency Check
Test Case Name Sales Report
Test Case Description Generating sales report for date wise
Module MIS Report Generation
Test Data
Valid Invalid
Date of ’31-07-2016’ -
Expected Output
Valid Invalid
Generate sales report -
Result
Vindya Thilakarathna Membership No: 990487426 222 | P a g e
ISMS
Pass -
Reference
Figure 176: Sales report -
Table 38: Test case for Sales Report
Test Result with valid data
Figure 175: Sales report
Vindya Thilakarathna Membership No: 990487426 223 | P a g e
ISMS
E.22 Test Case for MIS Report Generation
Test Case Number 22
Test Case Type Performance
Test Case Name MIS Report Generation
Test Case Description Generating reports for all necessary business functions
Module MIS Report Generation
Test Data
Valid Invalid
Select reports need to generate. -
Expected Output
Valid Invalid
Generate reports -
Result
Pass -
Reference
Figure 176: Product report -
Please Refer Appendix D- MIS Report
Generation for more reports:
Table 39: Test case for MIS Report Generation
Test Result with valid data
Vindya Thilakarathna Membership No: 990487426 224 | P a g e
ISMS
Figure 176: Product report
E.23 Test Case for Number Validation
Test Case Number 23
Test Case Type Validation
Test Case Name Number Validation
Test Case Description Revoke entry of excluding number
Module Validation
Test Data
Valid Invalid
Enter no ‘5’ to quantity Enter letter ‘S’ to quantity
Expected Output
Valid Invalid
System accept input System revoke input and show error
Result
Pass Pass
Vindya Thilakarathna Membership No: 990487426 225 | P a g e
ISMS
Reference
Figure177: Number validation of valid entry Figure 178: Number validation of invalid entry
Table 40: Test case for Number Validation
Test Result with Valid Data
Figure 177: Number validation of valid entry
Test Result with Invalid Data
Figure 178: Number validation of invalid entry
E.24 Test Case for Email Validation
Test Case Number 24
Test Case Type Validation
Test Case Name Email Validation
Test Case Description Revoke entry of invalid email address
Module Validation
Test Data
Valid Invalid
Vindya Thilakarathna Membership No: 990487426 226 | P a g e
ISMS
Enter valid email address Enter invalid email address
[email protected] abc#[email protected]
Expected Output
Valid Invalid
System accept input System revoke input and show error
Result
Pass Pass
Reference
Figure 179: Email validation of valid entry Figure 180: Email validation of invalid entry
Table 41: Test case for Email Validation
Test Result with Valid Data
Figure 179: Email validation of valid entry
Test Result with Invalid Data
Figure 180: Email validation of invalid entry
E.25 Test Case for Duplication entry
Test Case Number 25
Test Case Type Presence check
Test Case Name Duplication entry
Test Case Description Duplication entry of item class
Vindya Thilakarathna Membership No: 990487426 227 | P a g e
ISMS
Module Validation
Test Data
Valid Invalid
Add new item class Add same item class twice
Expected Output
Valid Invalid
Add record to the database Error message
Result
Pass Pass
Reference
Figure 181: Induplication entry Figure 182: Duplication of entry
Table 42: Test case for Duplication entry
Test Result with Valid Data
Figure 181: Induplication entry
Test Result with Invalid Data
Vindya Thilakarathna Membership No: 990487426 228 | P a g e
ISMS
Figure 182: Duplication of entry
E.26 Test Case for Checking for empty fields
Test Case Number 26
Test Case Type Presence check
Test Case Name Checking for empty fields
Test Case Description Checking for required fields before performs action
Module Validation
Test Data
Valid Invalid
Filled required fields and click ‘Save’ button Without filling required fields click ‘Save’
button
Expected Output
Valid Invalid
Record added to the database Error message
Vindya Thilakarathna Membership No: 990487426 229 | P a g e
ISMS
Result
Pass Pass
Reference
Figure 183: Valid entry Figure 184: Invalid entry
Table 43: Test case for Checking for empty fields
Test Result with Valid Data
Figure 183: Valid entry
Test Result with Invalid Data
Figure 184: Invalid entry
Vindya Thilakarathna Membership No: 990487426 230 | P a g e
ISMS
E.27 Test Case for Name Validation
Test Case Number 27
Test Case Type Presence check
Test Case Name Name Validation
Test Case Description Checking for required format of Name
Module Validation
Test Data
Valid Invalid
Input Name = Vindya Input Name = Vi5n
Expected Output
Valid Invalid
System accept input Show error
Result
Pass Pass
Reference
Figure 185: Valid entry Figure 186: Invalid entry
Table 44: Test case for Name Validation
Test Result with Valid Data
Figure 185: Valid entry
Test Result with Invalid Data
Figure 186: Invalid entry
Vindya Thilakarathna Membership No: 990487426 231 | P a g e
ISMS
E.28 Test Case for Check for Accuracy
Test Case Number 28
Test Case Type Accuracy Check
Test Case Name Check for Accuracy
Test Case Description Checking for calculation validation
Module Validation
Test Data
Valid Invalid
Quantity = 10 Quantity = 0
Expected Output
Valid Invalid
System accept input Show error
Result
Pass Pass
Reference
Figure 187: Valid entry for quantity Figure 188: Invalid entry for quantity
Table 45: Test case for Check Accuracy
Test Result with Valid Data
Vindya Thilakarathna Membership No: 990487426 232 | P a g e
ISMS
Figure 187: Valid entry for quantity
Test Result with Invalid Data
Figure 188: Invalid entry for quantity
Vindya Thilakarathna Membership No: 990487426 233 | P a g e
ISMS
E.29 Filled UAT feedback from
Figure 189: Feedback form from Chief Executive Officer of Institute
Vindya Thilakarathna Membership No: 990487426 234 | P a g e
ISMS
Appendix F: Code List
F.1 Save Data
private void btnSave_Click(object sender, EventArgs e)
{
string nme = name;
DataTable dt = obj.ReturnData("select * from dbo.UserPrivilegas where user_name='" +
nme + "' and save_data='Yes'");// check user privileges
if (dt.Rows.Count > 0)
{
if (txtClassName.Text == "") // check empty feild
{
MessageBox.Show("Every fields must be filled", "Information..!", MessageBoxButtons.OK,
MessageBoxIcon.Information); }
else {
DataTable dt1 = obj.ReturnData("select class_name from Itemclass where class_name='" +
txtClassName.Text + "'and mode='Active'");//call ReturnData function of Connection class
if (dt1.Rows.Count > 0)
{
// check for repeate class name
string name1 = txtClassName.Text;
MessageBox.Show("Item Class " + name1 + " Already exist in the Database",
"Attention", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
else{
DialogResult dr = new DialogResult();
// user comfirmation
dr = MessageBox.Show("Are you sure", "Confirm to save record",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
try{
int x = obj.exeCommand("insert into
dbo.Itemclass(class_no,class_name,remark,mode) values('" + lblClsNo.Text + "','" +
txtClassName.Text + "','" + txtRemark.Text + "','Active')");
if (x >= 1)
{
MessageBox.Show("Record saved successfully", "Confirmation",
MessageBoxButtons.OK, MessageBoxIcon.Information);
class_code();
clear_data();}
}
catch (SqlException ex) { MessageBox.Show("Database Connection Error" +
ex.InnerException, "Exception Caption", MessageBoxButtons.OK,
Vindya Thilakarathna Membership No: 990487426 235 | P a g e
ISMS
MessageBoxIcon.Exclamation); } catch (Exception ex) { MessageBox.Show("No Data
Received From DataTable,\n Please Check Availability of Data. \n" + ex.InnerException,
"Exception Caption ", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
else {
MessageBox.Show("Cancelled by user", "Confirmation", MessageBoxButtons.OK,
MessageBoxIcon.Information); } } }
}
else
{
MessageBox.Show("You don't have the required privileges to perform this action", "Your
are not allowed to perform this action", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
F.2 Edit Data
private void btnEdit_Click(object sender, EventArgs e)
{
string nme = name;
DataTable dt = obj.ReturnData("select * from dbo.UserPrivilegas where user_name='" +
nme + "' and update_data='Yes'");// check for user privileges
if (dt.Rows.Count > 0)
{
if (txtClassName.Text == "")// check for empty fields
{ MessageBox.Show("Every fields must be filled", "Information!",
MessageBoxButtons.OK, MessageBoxIcon.Information); }
else
{
DialogResult dr = new DialogResult(); // user confirmation
dr = MessageBox.Show("Are you sure", "Confirm to edit record",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
try {
int x = obj.exeCommand("Update dbo.Itemclass set class_name='" +
txtClassName.Text + "',remark='" + txtRemark.Text + "' where class_no='" + cmbClassNo.Text
+ "'");
if (x >= 1)
{
MessageBox.Show("Record updated", "Confirmation", MessageBoxButtons.OK,
MessageBoxIcon.Information);
clear_data();
class_code();
}
}
Vindya Thilakarathna Membership No: 990487426 236 | P a g e
ISMS
catch (SqlException ex) { MessageBox.Show("Database Connection Error" +
ex.InnerException, "Exception Caption", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation); }
catch (Exception ex) { MessageBox.Show("No Data Received From DataTable,\n Please
Check Availability of Data. \n" + ex.InnerException, "Exception Caption ",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
}
else { MessageBox.Show("Cancelled by user", "Confirmation",
MessageBoxButtons.OK, MessageBoxIcon.Information); }
}
}
else
{ MessageBox.Show("You don't have the required privileges to perform this action",
"Your are not allowed to perform this action", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
}
}
F.3 Delete Data
private void btnDelete_Click(object sender, EventArgs e)
{
string nme = name; // user privileges checking
DataTable dt = obj.ReturnData("select * from dbo.UserPrivilegas where user_name='" +
nme + "' and delete_data='Yes'");
if (dt.Rows.Count > 0)
{
try
{
DialogResult res = MessageBox.Show("Are you sure...?", "Confirmation",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (res == DialogResult.Yes) // user confirmation
{
// quary to delete record
int x = obj.exeCommand("Update dbo.Itemclass set mode='Deactive' where
class_no='" + cmbClassNo.Text + "'");
if (x >= 1)
{
MessageBox.Show("Successfully deleted", "Information",
MessageBoxButtons.OK, MessageBoxIcon.Information);
class_code();
}
else { MessageBox.Show("Data Delete Error ", "Information",
MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
Vindya Thilakarathna Membership No: 990487426 237 | P a g e
ISMS
else { MessageBox.Show("Cancelled by user", "Confirmation",
MessageBoxButtons.OK, MessageBoxIcon.Information); }
}
catch (SqlException ex) { MessageBox.Show("Database Connection Error" +
ex.InnerException, "Exception Caption", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation); }
catch (Exception ex) { MessageBox.Show("No Data Received From DataTable,\n Please
Check Availability of Data. \n" + ex.InnerException, "Exception Caption ",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
}
else
{ MessageBox.Show("You don't have the required privileges to perform this action",
"Your are not allowed to perform this action", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
}
}
F.4 Validation Data
private void txtCell_KeyPress(object sender, KeyPressEventArgs e)
{
errorProvider1.Dispose();
if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) && e.KeyChar != '.' && e.KeyChar
!= '+' && e.KeyChar != '-' && e.KeyChar != '(' && e.KeyChar != ')' && e.KeyChar != '#')
{
e.Handled = true;
errorProvider1.SetError(txtCell, "Invalid Character");
}
}
private void txtEmail_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && !Char.IsLetter(e.KeyChar) && !Char.IsControl(e.KeyChar)
&& e.KeyChar != '@' && e.KeyChar != '.' && e.KeyChar != '_')
{
e.Handled = true;
errorProvider1.SetError(txtEmail, "e-mail address must be valid e-mail address
format.\n" + "For example '
[email protected]'");
}
}
private void txtMaxStock_KeyPress(object sender, KeyPressEventArgs e)
{
errorProvider1.Dispose();
if (!Char.IsDigit(e.KeyChar))
Vindya Thilakarathna Membership No: 990487426 238 | P a g e
ISMS
{
e.Handled = true;
errorProvider1.SetError(txtMaxStock, "Invalid Character");
}
}
Vindya Thilakarathna Membership No: 990487426 239 | P a g e
ISMS
Appendix G: Client Certificate
Figure 190: Client Certificate
Vindya Thilakarathna Membership No: 990487426 240 | P a g e
ISMS
Glossary
2- Tire Deployment – Is a Client and Database are on same network database.
Activity Diagram – Is a UML diagram which is graphically representation of workflow of
stage wise activities
AS-IS Process - Is a current state of process.
Black Box Testing – Is a method of software testing that examines the functionality of
an application.
Class Diagram- Is a type of static diagram that describes the structure of a system.
Database – Is a collection of information that is in organized.
Encryption –Is an encoding messages or information for the way of achieve data
security.
Foreign Key – Is a key that in one table uniquely identified a raw in another table.
GCE A/L – Is a secondary school leaving qualification in Sri Lanka.
LAN – Is a Computer Network that interconnects computer within a limited area.
Objects Diagram – Is a snapshot of instances of things in class diagram.
OOP – Is a programming language model organized around Objects and Data.
Primary Key – Is a key in a relational database that unique to each record.
Prototyping – Is a sample, model, process or concept.
Sequence Diagram – Is an Interaction diagram that shows how object are operates with
one another.
Stakeholders-Is anyone who should have some direct or indirect influence on the
software project
Vindya Thilakarathna Membership No: 990487426 241 | P a g e
ISMS
SWOT – Is a structured planning method that evaluates of strengths, weakness,
opportunities and threats of a project.
Timeline – Is a way of displaying a list of events on the project in chronological order
WBS – Is a deliverable oriented decomposition of a project into smaller component or
manageable sections.
White Box Testing – Is a method of software testing that ensure and validate the
internal framework, mechanisms, objects and components of a software application.
Wireframes- Is a visualized paradigm for application design. It is helps for visualized
screens design ideas easily.
Vindya Thilakarathna Membership No: 990487426 242 | P a g e
ISMS
Vindya Thilakarathna Membership No: 990487426 243 | P a g e