HND in Computer and System Development ESOFT Metro College, Wattala Task 1 Make a brief proposal to the management of “Smiling Tooth” on discussing the principles, characteristics and features of procedural programming solution using C++ programming language. The proposal should be understandable and acceptable by the management. Proposal for Procedural Programming Solution using C++ language Prepared for – Smile Tooth dental Prepared by – Dilan Vasagar To, Smile Tooth dental Subject: - Proposal for “Procedural Programming Solution using C++ language” Dear sir / Miss, In response to the given request, we are pleased to offer the proposal for Procedural Programming Solution using C++ language, which will be accessible over the computer system with fully supported services. Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 1 HND in Computer and System Development ESOFT Metro College, Wattala Delivery Schedule C++ Program will be delivered after the given time period for Developing the Program immediately when the contract is signed. The program will be implemented within 3 to 5 weeks from the day Proposal is accepted Platform and Technologies Language: C++ programming language Operating System: Independent Database: Word Document (.doc) Introduction According to (ask.com, 2014), “A procedural language is a computer programming language that follows a set of commands in a particular order. The programmer is the one who specifies the exact steps to be followed in the execution of a particular task. BASIC, C, FORTRAN and Pascal are some examples of computer procedural languages” Principle According to thakare (2008) “Procedural programming can sometimes be used as a synonym for imperative programming. But can also refer to a programming paradigm. Derived from structured programming, based upon the concept of the procedure call. Also known as routines, subroutines, methods, or functions. Simply contain a series of computational steps to be carried out. Any given procedure might be called at any point during a program’s execution, including by other procedures or itself” The advantage of using a C++ Program Using a C++ program is easier and faster to do day today work. This will help your company to sort out many problems you face. Problems with hand writing Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 2 HND in Computer and System Development Search document Paper waste Security of data and etc… ESOFT Metro College, Wattala To overcome these problems having a program will be helpful. Employees can quickly train and easy to use this program with uncomplicated interface. The processing speed is faster than other languages. Our program will lead you to top by having neat system. To search the inquires or other data no need to waste time, papers. You can access them easily with the program Schedule of Payment and payment details: Price for the software – 7500.00 LKR o 50% at the time of Start. o 25% after Completion of Program Beta. o 25% After Completion of Final Program o After Sales Service and Support This proposal includes 2-Weeks free implementation support for the program. Free support through e-mail, web and voice is included in the standard service package. Charges for other Services, if required (after 2 weeks): An Update in the Program will be charged according to the requirement Terms and Conditions: The customer will provide the necessary information required to understand the business environment where the application may work. The customer will appoint a management representative to coordinate the development process with us. Success Planning: Extensible after Development. Ease in Modification. Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 3 HND in Computer and System Development ESOFT Metro College, Wattala We look forward for your positive response and expect a long-term business relationship with you. Best regards, Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 4 HND in Computer and System Development ESOFT Metro College, Wattala Task 2 Identify appropriate data structure, file systems, units in order to design the system, also produce a data flow diagram for above scenario Context level Diagram Figure 2.1 Diagram of context level Diagram (Author Designed) Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 5 HND in Computer and System Development ESOFT Metro College, Wattala Level 1 Diagram Figure 2.2 Diagram of level 1 Diagram (Author Designed) Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 6 HND in Computer and System Development ESOFT Metro College, Wattala Data structure • String • Char • Integer String Data fname : Patient First Name lname : Patient Last Name fullname : Patient full name AddNo : Address Number AddStreet : Street Name AddCity: City Name Trt_Type : treatment type Gen : Gender of customer DOB : Date of birth of customer DOBMonth : Month of DOB App_date : Appointment date From: Appointment Time from Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 7 HND in Computer and System Development ESOFT Metro College, Wattala To: Appointment Time to Char Data Save: Save the recorded Data End: End the program Open: Open the save records Help: Get Help whether don’t know to use the program Choose: Choose an appointment date Satis: select Satis if patient satisfied with appointment date Integer Data DOByear: Year of Patient Date of birth DOBDate: Date of Patient Date of birth TelNo: Land Line Number for Patient MobiNo: Mobile number of Patient Methord Data Login : To go to Login Satis : To go to Satis Choose: To go to Choose Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 8 HND in Computer and System Development ESOFT Metro College, Wattala Help_Assist: To go to Help Form : To go to form SaveRec2: Save process of customer record Stop: end process of the program SaveRec : Decision to save or not OpenRec: To open Save process of saved record Of customer Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 9 HND in Computer and System Development ESOFT Metro College, Wattala Task 3 Design, implement and test procedural programming solution a) Design the flow chart for the above solution, using a range of symbols. Develop the appropriate pseudo code for the same Figure 3.a.1 Diagram of flow chart to procedural programming solution (Author Designed) Vasagar D.J Procedural Programming Assignment 01 of 01Page | 10 HND in Computer and System Development ESOFT Metro College, Wattala Pseudo code Local Data Appdate, fname , lname, No:, Street, City, Mobi_No , Tel_No, DOB_year, DOB_month, DOB_Date, Gen, trt_type, from, to Save, Open, Exit, Yes, Enter_New, Help, Login, Choose, Satis Begin If (Username = = ‘abc’ or Password = = ‘123’) Then Output “Welcome” Goto Help_Assist Else Output = “Username or Password Error!!!” Goto Login If (Help_Assist = = ‘H’) Then Goto Help Else if (Continue = = ‘C’) then Goto Appointment_datetime Else Goto Help_Assist If (Appointment_datetime == a or Appointment_datetime == b or Appointment_datetime == c or Appointment_datetime == d) Then Goto Satisfied Else Goto Appointment_datetime If (Satisfied = = ‘Y’) Then Goto Form Input “Enter First Name” , fname ; Input “Enter Last Name” , lname; Input” Enter (Adreess) No:”, No; Input “Enter (Adreess) Street”, Street; Input “Enter (Adreess) City” , City; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 11 HND in Computer and System Development ESOFT Metro College, Wattala Input” Enter Mobile No”, Mobi_no; Input “Enter Telephone No:”, Tel_No; Input “Enter Gender ”,Gen; Input “Enter Date of bith year”, DOB_year; Input “Enter Date of birth Month” , DOB_Month; Input “Enter Date of birth Date”, DOB_Date; Input “Enter Passport No:”, Pass_No; If (Save = =Yes) Then Goto Open Else If (Enter_New = = Yes) then Go to Begin Else Exit End If If (Open = = Yes) Then Print = fname , lname, No:, Street, City, Mobi_No , Tel_No, DOB_year, DOB_month, DOB_Date, Gen, trt_type, App_date, From, To Else If (Enter_New = = Yes) then Go to Begin Else Exit End If Else If (Satisfied = = ‘N’) Then Goto Appointment_datetime Else Goto Satis End If End If End If End Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 12 HND in Computer and System Development ESOFT Metro College, Wattala b) Select and Implement control structures Control Structures used in program If Statement for Login to the system with correct username password string uname = "abc"; string pword = "123"; string username, password; cout << "Enter username:\t"; cin >> username; cout << "Enter Password:\t"; cin >> password; if (uname == username & pword == password) cout << "welcome"; goto Help_Assist; else cout << "wrong username or password"; goto Login; Switch statement for take decision to take help or continue Help_Assist: cout << "\n\nFor HELP assist Press H:\nFor Continue Forward Press c: \t\t"; cin >> Help_Assist; //SWITCH STATEMENT FOR DECISION switch (Help_Assist){ case 'H': case 'h': goto Help; break; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 13 HND in Computer and System Development ESOFT Metro College, Wattala case 'C': case 'c': goto Choose; break; default : goto Help_Assist; break; } Switch statement for Choose one of the appointment date and time Choose: string a = "Appointment Date Monday: 06:00PM – 09:00PM"; string b = "Appointment Date Wednesday: 06:00PM – 09:00PM"; string c = "Appointment Date Saturday: 03:00PM – 10:00PM"; string d = "Appointment Date Sunday:03:00PM – 10:00PM "; cout << "\nA)" << a << "\nB)" << b << "\nC)" << c << "\nD)" << d ; cout << "\n\nPlease Choose an Appointment Date\t\t"; cin >> Choose; switch (Choose) { case 'A': case 'a': cout << "----------"<< a << "----------" ; goto Satis; break; case 'B': case 'b': cout << "----------"<< b << "----------"; goto Satis; break; case 'C': case 'c': cout << "----------"<< c << "----------"; goto Satis; break; case 'D': case 'd': cout << "----------"<< d << "----------" ; goto Satis; break; default : goto Choose; break; } Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 14 HND in Computer and System Development ESOFT Metro College, Wattala Switch statement for select if patient satisfied or unsatisfied Satis: cout << "\n\nIf the Patient is Satisfied Press Y:\nIf the Patient is Unsatisfied Press N: \t\t"; cin >> Satis; switch (Satis) { case 'Y': case 'y': cout<< "\n\nPatient Satisfied with the Appointment Date"; goto Form; break; case 'N': case 'n': goto Choose; break; default : goto Choose; break; } Switch statement for take decision to save or not SaveRec: cout << "\nDo you want to save the customer records (Y / N) ?\t"; cin >> Save; switch (Save){ case 'Y': case 'y': goto SaveRec2; break; case 'N': case 'n': goto End1; break; default : cout << "\t\t\tPlease enter Y or N" << endl; goto SaveRec; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 15 HND in Computer and System Development ESOFT Metro College, Wattala } Switch statement for take decision to open saved record or not OpenRec: cout << "Do you want to open the saved records (Y / N) ?\t"; cin >> Open; switch (Open){ case 'Y': case 'y': goto OpenRec; break; case 'N': case 'n': goto End1; break; default : cout << "Please enter Y or N" << endl; goto OpenRec; goto SaveRec2; } Switch statement for enter new or end the program End1: cout << "\nDo you want to enter new Customer record (Y / N) ?\t"; cin >> End; switch (End){ case 'Y': case 'y': goto Help_Assist; break; case 'N': case 'n': goto Stop; break; default : cout << "Please enter Y or N" << endl; goto End1; } Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 16 HND in Computer and System Development ESOFT Metro College, Wattala c) Ensure effective data passing between developed functions and procedure Parameter passing mechanism in program string fname, lname, fullname, AddNo, AddStreet, AddCity, NicNo, Gen, DOB , DOBMonth, trt_type, App_date, From, To int DOByear, DOBDate , TelNo, MobiNo cout << "\nEnter the Appointment date:\t\t"; cin >> App_date; cout << "\nEnter the Appointment time:\t\t"; cout << "\nFrom:\t\t"; cin >> From; cout << "\n\nTo:\t\t"; cin >> To; cout << "\n\t\t--Smiling Tooth--\t\t"; cout << "\n\t\tPatient Inquiry System\t\t"; cout << "\n\nPatient Information Form\n\n"; cout << "Patient Name \n" "First Name :\t\t"; cin >> fname; cout << "Last Name :\t\t"; cin >> lname; fullname = fname + " " + lname; cout << "Full Name :\t\t" << fullname<<"\n\n"; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 17 HND in Computer and System Development ESOFT Metro College, Wattala cout << "Permanent Address\n"; cout << "No:\t\t"; cin >> AddNo; cout << "Street:\t\t"; cin >> AddStreet; cout << "City:\t\t"; cin >> AddCity; cout << "\n\nContact Details\n"; cout << "Mobile No:\t\t"; cin >> MobiNo; cout << "Telephone no: (Home)\t\t"; cin >> TelNo; cout <<"\n\nGender (Male or Female)\n"; cout << "Gender :\t\t"; cin >> Gen; cout <<"\n\nDate of Birth \n"; cout << "Year :\t\t"; cin >> DOByear; cout << "Month :\t\t"; cin >> DOBMonth; cout << "Date :\t\t"; cin >> DOBDate; cout <<"\n\nTreatment Type\n"; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 18 HND in Computer and System Development ESOFT Metro College, Wattala cout <<"Treatment Type:\t\t"; cin >> trt_type; Figure 3.c.1: Screen shot 01 of 02 the program; showing parameters passed correctly Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 19 HND in Computer and System Development ESOFT Metro College, Wattala Figure 3.c.2: Screen shot 02 of 02 the program; showing parameters passed correctly Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 20 HND in Computer and System Development ESOFT Metro College, Wattala d) Create onscreen help to assist the users of a computer program Help : cout << "\n" "*********************************************************************** *****\n" "|\t\t\t\t\t\t\t\t\t |\n" "| Please enter details as below\t\t\t\t\t |\n" "|\t\t\t\t\t\t\t\t\t |\n" "| Appointment Date: \tMonday\t\t\t\t\t\t |\n" "| Appointment Time:\t\t\t\t\t\t\t |\n" "| From: \t06.00 P.M\t\t\t\t\t\t |\n" "| To: \t09.00 P.M\t\t\t\t\t\t\t |\n" "|\t\tCustomer Information Form\t\t\t\t |\n" "|\t\t\t\t\t\t\t\t\t |\n" "| Patient Name :\t\t\t\t\t\t\t |\n" "| First Name :-\tDilan\t\t\t\t\t\t |\n" "| Last Name :-\t\tVasagar\t\t\t\t\t\t |\n" "| Permanent Address :\t\t\t\t\t\t\t |\n" "| No :-\t\t53B\t\t\t\t\t\t |\n" "| Street :-\t\tNimalamariya Mawatha\t\t\t\t |\n" "| City :-\t\tWattala\t\t\t\t\t\t |\n" "| Contact Details :\t\t\t\t\t\t\t |\n" "| Mobile Number :-\t0776471831\t\t\t\t\t |\n" Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 21 HND in Computer and System Development ESOFT Metro College, Wattala "| Telephone Number :-\t0572230060\t\t\t\t\t |\n" "| Gender (Male/Female) :\t\t\t\t\t\t |\n" "| Gender :-\t\tMale\t\t\t\t\t\t |\n" "| Date Of Birth (yyyy/MM/dd):\t\t\t\t\t\t |\n" "| Year :-\t\t1994\t\t\t\t\t\t |\n" "| Month :-\t\t01\t\t\t\t\t\t |\n" "| Date :-\t\t31\t\t\t\t\t\t |\n" "| Treatment Details:\t\t\t\t\t\t\t |\n" "| Treatment type :-\tN4XXXXXX\t\t\t\t\t |\n" "|\t\t\t\t\t\t\t\t\t |\n" "*********************************************************************** *****\n\n"; goto Help_Assist; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 22 HND in Computer and System Development ESOFT Metro College, Wattala Figure 3.d.1 - Screenshot of Onscreen help Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 23 HND in Computer and System Development ESOFT Metro College, Wattala e) Implement the procedural programming solution based on a prepared design Procedural Programming Solution /* * File: main.cpp * Author: Dilan Vasagar * * Created on November 17, 2014, 4:31 PM */ #include <cstdlib> #include <iostream> #include <fstream> using namespace std; /* * */ int main(int argc, char** argv) { string fname, lname, fullname, AddNo, AddStreet, AddCity, NicNo, Gen, DOB , DOBMonth, trt_type, App_date, From, To; int DOByear, DOBDate , TelNo, MobiNo; char Save, End, Open, Help_Assist, Satis, Login, Choose; Login : string uname = "abc"; string pword = "123"; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 24 HND in Computer and System Development ESOFT Metro College, Wattala string username, password; cout << "Enter username:\t"; cin >> username; cout << "Enter Password:\t"; cin >> password; if (uname == username & pword == password) cout << "welcome"; goto Help_Assist; else cout << "wrong username or password"; goto Login; Help_Assist: cout << "\n\nFor HELP assist Press H:\nFor Continue Forward Press c: \t\t"; cin >> Help_Assist; switch (Help_Assist){ case 'H': case 'h': goto Help; break; case 'C': case 'c': goto Choose; break; default : goto Help_Assist; break; } Choose : string a = "Appointment Date Monday: 06:00PM – 09:00PM"; string b = "Appointment Date Wednesday: 06:00PM – 09:00PM"; string c = "Appointment Date Saturday: 03:00PM – 10:00PM"; string d = "Appointment Date Sunday:03:00PM – 10:00PM "; cout << "\nA)" << a << "\nB)" << b << "\nC)" << c << Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 25 HND in Computer and System Development ESOFT Metro College, Wattala "\nD)" << d ; cout << "\n\nPlease Choose an Appointment Date\t\t"; cin >> Choose; switch (Choose) { case 'A': case 'a': cout << "----------"<< a << "----------" ; goto Satis; break; case 'B': case 'b': cout << "----------"<< b << "----------"; goto Satis; break; case 'C': case 'c': cout << "----------"<< c << "----------"; goto Satis; break; case 'D': case 'd': cout << "----------"<< d << "----------" ; goto Satis; break; default : goto Choose; break; } Satis: cout << "\n\nIf the Patient is Satisfied Press Y:\nIf the Patient is Unsatisfied Press N: \t\t"; cin >> Satis; switch (Satis) { case 'Y': case 'y': cout<< "\n\nPatient Satisfied with the Appointment Date"; goto Form; break; case 'N': case 'n': goto Choose; break; default : goto Choose; break; } Form: cout << "\nEnter the Appointment date:\t\t"; cin >> App_date; cout << "\nEnter the Appointment time:\t\t"; cout << "\nFrom:\t\t"; cin >> From; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 26 HND in Computer and System Development ESOFT Metro College, Wattala cout << "\n\nTo:\t\t"; cin >> To; cout << "\n\t\t--Smiling Tooth--\t\t"; cout << "\n\t\tPatient Inquiry System\t\t"; cout << "\n\nPatient Information Form\n\n"; cout << "Patient Name \n" "First Name :\t\t"; cin >> fname; cout << "Last Name :\t\t"; cin >> lname; fullname = fname + " " + lname; cout << "Full Name :\t\t" << fullname<<"\n\n"; cout << "Permanent Address\n"; cout << "No:\t\t"; cin >> AddNo; cout << "Street:\t\t"; cin >> AddStreet; cout << "City:\t\t"; cin >> AddCity; cout << "\n\nContact Details\n"; cout << "Mobile No:\t\t"; cin >> MobiNo; cout << "Telephone no: (Home)\t\t"; cin >> TelNo; cout <<"\n\nGender (Male or Female)\n"; cout << "Gender :\t\t"; cin >> Gen; cout <<"\n\nDate of Birth \n"; cout << "Year :\t\t"; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 27 HND in Computer and System Development ESOFT Metro College, Wattala cin >> DOByear; cout << "Month :\t\t"; cin >> DOBMonth; cout << "Date :\t\t"; cin >> DOBDate; cout <<"\n\nTreatment Type\n"; cout <<"Treatment Type:\t\t"; cin >> trt_type; SaveRec: cout << "\nDo you want to save the customer records (Y / N) ?\t"; cin >> Save; switch (Save){ case 'Y': case 'y': goto SaveRec2; break; case 'N': case 'n': goto End1; break; default : cout << "\t\t\tPlease enter Y or N" << endl; goto SaveRec; } SaveRec2: { int x=2; ofstream recfile("1.doc"); if (recfile.is_open()) { recfile << "\n\n" << endl; recfile << "*************************************************************************\n " << endl; recfile << "\nEnter the Appointment date:\t\t" << App_date <<endl; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 28 HND in Computer and System Development ESOFT Metro College, Wattala recfile << "\nEnter the Appointment time:\t\t"; recfile << "\nFrom:\t\t" << From <<endl; recfile << "\n\nTo:\t\t" << To <<endl; recfile << "\n\t\t\t\t--Smiling Tooth--\t\t\t\t"<<'\n' <<endl; recfile << " \t\t\t\tPatient Information Form" <<'\n' << endl; recfile << " Patient Name :\n"<< endl; recfile << " First Name :-\t\t" << fname << endl; recfile << " Last Name :-\t\t" << lname << endl; recfile << " Full Name :-\t\t" << fullname << endl; recfile << "\n Permanent Address :\n"<< endl; recfile << " No :-\t\t" << AddNo << endl; recfile << " Street :-\t\t" << AddStreet << endl; recfile << " City :-\t\t" << AddCity << endl; recfile << "\n Contact Details :\n"<< endl; recfile <<" Mobile Number :-\t\t" << MobiNo << endl; recfile << " TP Number (Home) :-\t\t" << TelNo << endl; recfile << "\n Gender (Male/Female):\n"<< endl; recfile << " Gender :-\t\t\t" << Gen << endl; recfile << "\n Date Of Birth(yyyy:MM:dd):\n" <<endl; recfile << " Year :-\t\t" << DOByear << endl; recfile << " Month :-\t\t" << DOBMonth << endl; recfile << " Date :-\t\t" << DOBDate << endl; recfile << "\n Treatment Details :\n" << endl; recfile << " Treatment Type:-\t\t" << trt_type << endl; recfile << "\n" << endl; recfile << "*************************************************************************\n " << endl; } Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 29 HND in Computer and System Development ESOFT Metro College, Wattala else cout << "unable to write"; cout << "Do you want to open the saved records (Y / N) ?\t"; cin >> Open; switch (Open){ case 'Y': case 'y': goto OpenRec; break; case 'N': case 'n': goto End1; break; default : cout << "Please enter Y or N" << endl; goto SaveRec2; } recfile.close(); } OpenRec: { string line; ifstream recfile ("1.doc"); if (recfile.is_open()){ while (getline (recfile,line)){ cout << line << '\n'; } recfile.close(); } else cout << "Unable to open file"; } End1: cout << "\nDo you want to enter new Customer record (Y / N) ?\t"; cin >> End; switch (End){ Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 30 HND in Computer and System Development ESOFT Metro College, Wattala case 'Y': case 'y': goto Help_Assist; break; case 'N': case 'n': goto Stop; break; default : cout << "Please enter Y or N" << endl; goto End1; } Stop : cout << "Thank you"; return 0; Help : cout << "\n" "************************************************************************** **\n" "|\t\t\t\t\t\t\t\t\t |\n" "| Please enter details as below\t\t\t\t\t |\n" "|\t\t\t\t\t\t\t\t\t |\n" "| Appointment Date: \tMonday\t\t\t\t\t\t |\n" "| Appointment Time:\t\t\t\t\t\t\t |\n" "| From: \t06.00 P.M\t\t\t\t\t\t |\n" "| To: \t09.00 P.M\t\t\t\t\t\t\t |\n" "|\t\tCustomer Information Form\t\t\t\t |\n" "|\t\t\t\t\t\t\t\t\t |\n" "| Patient Name :\t\t\t\t\t\t\t |\n" "| First Name :-\tDilan\t\t\t\t\t\t |\n" "| Last Name :-\t\tVasagar\t\t\t\t\t\t |\n" "| Permanent Address :\t\t\t\t\t\t\t |\n" "| No :-\t\t53B\t\t\t\t\t\t |\n" "| Street :-\t\tNimalamariya Mawatha\t\t\t\t |\n" "| City :-\t\tWattala\t\t\t\t\t\t |\n" Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 31 HND in Computer and System Development ESOFT Metro College, Wattala "| Contact Details :\t\t\t\t\t\t\t |\n" "| Mobile Number :-\t0776471831\t\t\t\t\t |\n" "| Telephone Number :-\t0572230060\t\t\t\t\t |\n" "| Gender (Male/Female) :\t\t\t\t\t\t |\n" "| Gender :-\t\tMale\t\t\t\t\t\t |\n" "| Date Of Birth (yyyy/MM/dd):\t\t\t\t\t\t |\n" "| Year :-\t\t1994\t\t\t\t\t\t |\n" "| Month :-\t\t01\t\t\t\t\t\t |\n" "| Date :-\t\t31\t\t\t\t\t\t |\n" "| Treatment Details:\t\t\t\t\t\t\t |\n" "| Treatment type :-\tN4XXXXXX\t\t\t\t\t |\n" "|\t\t\t\t\t\t\t\t\t |\n" "************************************************************************** **\n\n"; goto Help_Assist; return 0; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 32 HND in Computer and System Development ESOFT Metro College, Wattala f) Produce a test plan with appropriate test cases to carry out the testing process and test the solution White box testing White box testing is a method of testing software that tests internal structures or working of an application In white-box testing an internal perspective of the system , as well as programming skills, are used to design test cases It is also known as clear box testing, glass box testing, transparent box testing, and structural testing White box testing is the detailed investigation of internal logic and structure of the code In order to perform white box testing of an application , the tester needs to possess knowledge of the internal working of the code Black box testing The technique of testing without having any knowledge of the interior workings of the application is Black Box testing Black box testing is a method of software testing that examines the functionality of an application This method of test can be applied to virtually every level of software testing : unit , integration , system , and acceptance The tester is oblivious to the system architecture and does not have access to the source code When performing a black box test, a tester will interact with the system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon Test Case Login Screen with Correct Username and Password Test Case #: 1 Test Case Name: Login screen Test Page: 1 of 10 System: C++ Program for Smiling tooth Dental Designed by: D.J Vasagar Executed by: Design Date: 2014-11-18 Execution Date: Short Description: Test the login screen by giving correct username and password Vasagar D.J Procedural Programming Assignment 01 of 01Page | 33 HND in Computer and System Development ESOFT Metro College, Wattala Pre-conditions Receptionist need to Login to the program by giving correct username password Step Input 1 Testing Type Output Expected System Response “Build successful” screen shot of C++ Continue to the system cords provided below 3.4.1 Insert Correct White Box Username & Password Figure 3.f.1 Screen shot of C++ Cording Vasagar D.J Procedural Programming Assignment 01 of 01Page | 34 HND in Computer and System Development Step Input Testing Type 2 Insert Correct Username Black Box & Password ESOFT Metro College, Wattala Expected System Response Output “Welcome” screen shot below 3.4.2 provided Continue to the system Figure 3.f.2 Screenshot of Table with inserted data Post-conditions Receptionist can login to the system successfully Vasagar D.J Procedural Programming Assignment 01 of 01Page | 35 HND in Computer and System Development ESOFT Metro College, Wattala Test Case Login Screen with Wrong Username and Test Case #: 2 Test Case Name: Login screen Test Page: 4 of 10 System: C++ Program for Smiling tooth Dental Designed by: D.J Vasagar Executed by: Design Date: 2014-11-18 Execution Date: Short Description: Test the login screen by giving Wrong username and password Pre-conditions Receptionist forgot the username and password, and he/she trying to login Step Input Testing Type 1 Insert wrong username and Black Box password Output Expected System Response “Wrong username or password” Error message and loop back to login screen shot provided below 3.f.3 Figure 3.f.3 Screenshot of inserting wrong username and password Vasagar D.J Procedural Programming Assignment 01 of 01Page | 36 HND in Computer and System Development ESOFT Metro College, Wattala Post-conditions Receptionist cannot login to the system Test Case Insert Patient details and save Test Case #: 3 Test Case Name: Input data to Form and save Page: 5 of 10 System: C++ Program for Smiling tooth Dental Designed by: D.J Vasagar Design Date: 2014-11-18 Executed by: Execution Date: Short Description: Test the program by inserting customer details Pre-conditions Receptionist need to fill the form of patient and save Step Input Testing Type Output 1 Insert patient details and save White Box “Build Successful” provided below 3.4.5 Vasagar D.J Expected System Response screen shot Save the inserted data to .docx file Procedural Programming Assignment 01 of 01Page | 37 HND in Computer and System Development ESOFT Metro College, Wattala Figure 3.f.4 Screenshot of Save file C++ cord Vasagar D.J Procedural Programming Assignment 01 of 01Page | 38 HND in Computer and System Development 2 Insert patient details and save ESOFT Metro College, Wattala Black Box “detail saved!!!” screen shot provided Saved message and save the inserted data below 3.4.6 to .docx file Figure 3.f.5 screenshot of Deleted patient table Vasagar D.J Procedural Programming Assignment 01 of 01Page | 39 HND in Computer and System Development ESOFT Metro College, Wattala Post-conditions Patient details has been saved in 1.docx file Test Case with fault statement Test Case #: 4 Test Case Name: Input wrong type of data Page: 8 of 10 System: C++ Program for Smiling tooth Dental Designed by: D.J Vasagar Executed by: Design Date: 2014-11-18 Execution Date: Short Description: Test the database with fault statements Pre-conditions Receptionist entering data to form Step Input 1 Testing Type Insert patient details, instead of Black Box integer inserting string value Vasagar D.J Output Expected System Response Save message get loop countinuesly. Program stop work Screenshot provided below. Procedural Programming Assignment 01 of 01Page | 40 HND in Computer and System Development ESOFT Metro College, Wattala Figure 3.f.6 Screenshot of program got terminated 2 Using spaces while inserting Black Box string values Vasagar D.J Screenshot provided bleow Skip the data insert fields Procedural Programming Assignment 01 of 01Page | 41 HND in Computer and System Development ESOFT Metro College, Wattala Figure 3.f.7 screenshot of error message Post-conditions No inserted data with fault data type. But it save data with skipped attributes Vasagar D.J Procedural Programming Assignment 01 of 01Page | 42 HND in Computer and System Development ESOFT Metro College, Wattala Task 4 Analyze actual test results against expected results to identify discrepancies Actual test name Description Result (Statement) Switch Statement to Help or If enter H : Goes to Help Test completed. continue to form If enter C : Continue No error Found If enter other character : repeat statement Figure 4.1 Screenshot of switch statement to help Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 43 HND in Computer and System Development ESOFT Metro College, Wattala Figure 4.2 Screenshot of switch statement to continue Actual test name (Statement) Description Result Switch statement for Choose one If choose A select "Appointment Date Test completed. of the appointment date and time Monday: 06:00PM – 09:00PM" No error Found If choose B select "Appointment Date Wednesday: 06:00PM – 09:00PM" If choose C select "Appointment Date Saturday: 03:00PM – 10:00PM” If choose D select "Appointment Date Sunday:03:00PM – 10:00PM " If enter other character : repeat statement Figure 4.3 Screenshot of switch statement to choose Actual test name (Statement) Description Result Switch statement for select if If enter Y : Goes to Form Test completed. patient satisfied or unsatisfied If enter N : Goes to Choose Appointment No error Found date If enter other character : repeat statement Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 44 HND in Computer and System Development ESOFT Metro College, Wattala Figure 4.4 Screenshot of switch statement to select satisfied or Unsatisfied Actual test name (Statement) Description Result See whether parameters are Input appointment date, time, name, Test completed. passed correctly permanent address, telephone number, No error Found gender, date of birth, treatment type If the data insert correctly. Instead of integer if we input string program will terminated If use space in String it skip next attribute Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 45 HND in Computer and System Development ESOFT Metro College, Wattala Figure 4.5 Screenshot of parameters are passed correctly Actual test name (Statement) Description Result Switch statement for take If enter Y : Save record and goes to Openrec Test completed. decision to save or not If enter N : goes to enter new No error Found If enter other character : repeat statement Figure 4.6 Screenshot of switch statement to select save or not Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 46 HND in Computer and System Development Actual test name (Statement) ESOFT Metro College, Wattala Description Result Save process. Save patient Save appointment date, time, name, Test completed. details in .docx file permanent address, telephone number, No error Found gender, date of birth, treatment type in a Writing to a document file as .doc. document file in order Screenshot provided – figure 4.6 Actual test name (Statement) Description Result Switch Statement to ‘Open’ or If enter Y : Open record Test completed. Not If enter N : goes to enter new No error Found If enter other character : repeat statement Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 47 HND in Computer and System Development ESOFT Metro College, Wattala Figure 4.7 screenshot 01of 02 statement to open saved records Figure 4.8 screenshot 01of 02 statement to open saved records Actual test name (Statement) Vasagar D.J Description Procedural Programming Assignment 01 of 01 Result Page | 48 HND in Computer and System Development ESOFT Metro College, Wattala Open process (Open the Open: input appointment date, time, name, Test completed. Written document file or not) permanent address, telephone number, No error Found gender, date of birth, and treatment type in a Opened the Written document file. document file Screenshot Provided – Figure 4.7 and 4.8 Actual test name (Statement) Description Result Switch Statement to Repeat or If enter Y : go to begin Test completed. Not to enter new details No error Found If enter N : end the program If enter other character : repeat statement Figure 4.9 screenshot of switch statement to enter new records or not Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 49 HND in Computer and System Development ESOFT Metro College, Wattala Task 5 Gather independent feedback on the developed solution from different users and critically analyses the limitations of the developed program solution and make recommendations for improvements based of the feedbacks Feedback 1: If we enter a string value for integer programs Stops and we have to start from beginning. Ex:Mobile number = Integer If we enter String value Program ends without saving Solution Assign a validation to Repeat or a message if we enter string value. Inform user by a message before entering mobile number Feedback 2: If we use space while we enter data to string value program starts to skip next parameter. Ex: Street = “Perera road” City = Between “Perera road” there is a space, so it skipped the field “City” Solution Instead of space user can use underscore sign “_”. Enter more fields like street1, street2… street 5. Feedback 3: Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 50 HND in Computer and System Development ESOFT Metro College, Wattala All the records of customers are saved in a one Document file. Entering customers' details for one document file will cause problem to the user to find data when he needed Ex: - Customer 1 records are in the document. As well as 100th customer’s data are in that same document. If we need 60th customers' details we have to search that document file by counting. Solution Give a customer ID for the customer Save one document file to one customer To overcome all this problem we can use a database like SQL server, MySQL and etc… Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 51 HND in Computer and System Development ESOFT Metro College, Wattala Task 6 Create documentation for the support and maintenance of developed procedural programming solution a) Produce a user manual (with relevant screen shots) for the developed solution to assist the user User manual for program************************************************************* Instructions – This program is a inquire details registry system. This program use to save customer/inquire details and get details to call back later. How to use the program – This program doesn’t has an Interface. Run the program by debugging or double clicking the icon. When Program start it display enter username and password, you have to enter correct username and password. If you enter correct username, password it will continue, else it display error message and you have to enter the correct username password again After that it display message to select Help or Continue. To select you have to enter „H‟ for Help and „C ‟ for Form. Selecting Help will show you an example of a form and the format that already filled with data. According to that you can get a proper idea about how to fill the form. Selecting ‘C’ will continue to select Appointment date. There are 4 appointment date and times. You can choose an appointment date and time by giving A, B, C or D Selecting one of the Appointment date and time will show message that patient/ customer satisfied of the Appointment date or not. Selecting ‘Y’ will show the form, selecting ‘N’ will take you back to appointment selecting date Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 52 HND in Computer and System Development ESOFT Metro College, Wattala Fill the Form according to the fields Example image shown below – Figure 6.a.1 Figure 01 of 02 form (Author designed) Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 53 HND in Computer and System Development ESOFT Metro College, Wattala Figure 6.a.2 Figure 02 of 02 form (Author designed) 1. Enter date name (Monday, Tuesday and etc…) 2. Enter time from 3. Enter time to 4. Enter First Name 5. Enter Last Name 6. Full Name will Auto generate 7. Enter Address No (No of Home) 8. Enter Street Name 9. Enter City Name 10. Enter Mobile Number 11. Enter Telephone Number 12. Enter Gender Male or Female / M or F 13. Enter Date Of Birth Year 14. Enter Date Of Birth Month 15. Enter Date Of Birth Date 16. Enter Treatment Type Program will ask message to save entered record. If enter Y records will save to document file. o If enter N it will ask a message “to enter new record enter Y or End the program press N”. If enter Y it goes to begin of the form. If enter N program will end. Program will ask message to Open entered record. If enter Y records will open the document file. Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 54 HND in Computer and System Development ESOFT Metro College, Wattala o If enter N it will ask a message “to enter new record enter Y or End the program press N”. If enter Y it goes to begin of the form. If enter N program will end. Important Do not enter String values instead of Integer values Do not enter Integer values instead of Characters Y/N Do not use space while inserting string values Do not change any of the C++ cords, it will causes the program running Do not delete files in source folder Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 55 HND in Computer and System Development ESOFT Metro College, Wattala b) Document the code to provide good understanding of the program and its functionalities using different types of comments /* * File: main.cpp * Author: Dilan Vasagar * * Created on November 17, 2014, 4:31 PM */ #include <cstdlib> #include <iostream> #include <fstream> using namespace std; /* * */ int main(int argc, char** argv) { // String Data type string fname, lname, fullname, AddNo, AddStreet, AddCity, NicNo, Gen, DOB , DOBMonth, trt_type, App_date, From, To; //Integer data types int DOByear, DOBDate , TelNo, MobiNo; //Character type char Save, End, Open, Help_Assist, Satis, Login, Choose; //Login screen to enter to the system Login : Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 56 HND in Computer and System Development ESOFT Metro College, Wattala string uname = "abc"; string pword = "123"; string username, password; cout << "Enter username:\t"; cin >> username; cout << "Enter Password:\t"; cin >> password; if (uname == username & pword == password) cout << "welcome"; goto Help_Assist; else cout << "wrong username or password"; goto Login; Help_Assist: //Display Message cout << "\n\nFor HELP assist Press H:\nFor Continue Forward Press c: \t\t"; //User input cin >> Help_Assist; //SWITCH STATEMENT FOR DECISION switch (Help_Assist){ case 'H': case 'h': goto Help; break; case 'C': case 'c': goto Choose; break; default : goto Help_Assist; break; } Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 57 HND in Computer and System Development ESOFT Metro College, Wattala Choose : //Assigning Appoint dates to A,B,C, and D string a = "Appointment Date Monday: 06:00PM – 09:00PM"; string b = "Appointment Date Wednesday: 06:00PM – 09:00PM"; string c = "Appointment Date Saturday: 03:00PM – 10:00PM"; string d = "Appointment Date Sunday:03:00PM – 10:00PM "; //Display Appointment dates on screen cout << "\nA)" << a << "\nB)" << b << "\nC)" << c << "\nD)" << d ; //Display Message cout << "\n\nPlease Choose an Appointment Date\t\t"; //User input cin >> Choose; //Switch statement for Choose switch (Choose) { case 'A': case 'a': cout << "----------"<< a << "----------" ; goto Satis; break; case 'B': case 'b': cout << "----------"<< b << "----------"; goto Satis; break; case 'C': case 'c': cout << "----------"<< c << "----------"; goto Satis; break; case 'D': case 'd': cout << "----------"<< d << "----------" ; goto Satis; break; default : goto Choose; break; } Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 58 HND in Computer and System Development ESOFT Metro College, Wattala Satis: //Display Message cout << "\n\nIf the Patient is Satisfied Press Y:\nIf the Patient is Unsatisfied Press N: \t\t"; //user input cin >> Satis; //Switch to Satis decision switch (Satis) { case 'Y': case 'y': cout<< "\n\nPatient Satisfied with the Appointment Date"; goto Form; break; case 'N': case 'n': goto Choose; break; default : goto Choose; break } Form: //Customer Details Entry cout << "\nEnter the Appointment date:\t\t"; cin >> App_date; cout << "\nEnter the Appointment time:\t\t"; cout << "\nFrom:\t\t"; cin >> From; cout << "\n\nTo:\t\t"; cin >> To; cout << "\n\t\t--Smiling Tooth--\t\t"; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 59 HND in Computer and System Development ESOFT Metro College, Wattala cout << "\n\t\tPatient Inquiry System\t\t"; cout << "\n\nPatient Information Form\n\n"; cout << "Patient Name \n" "First Name :\t\t"; cin >> fname; cout << "Last Name :\t\t"; cin >> lname; fullname = fname + " " + lname; cout << "Full Name :\t\t" << fullname<<"\n\n"; //Address Entry cout << "Permanent Address\n"; cout << "No:\t\t"; cin >> AddNo; cout << "Street:\t\t"; cin >> AddStreet; cout << "City:\t\t"; cin >> AddCity; //Contact Details Entry cout << "\n\nContact Details\n"; cout << "Mobile No:\t\t"; cin >> MobiNo; cout << "Telephone no: (Home)\t\t"; cin >> TelNo; //Gender Entry Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 60 HND in Computer and System Development ESOFT Metro College, Wattala cout <<"\n\nGender (Male or Female)\n"; cout << "Gender :\t\t"; cin >> Gen; //Date of Birth Entry cout <<"\n\nDate of Birth \n"; cout << "Year :\t\t"; cin >> DOByear; cout << "Month :\t\t"; cin >> DOBMonth; cout << "Date :\t\t"; cin >> DOBDate; //Treatment type Enry cout <<"\n\nTreatment Type\n"; cout <<"Treatment Type:\t\t"; cin >> trt_type; //Save Record Section SaveRec: cout << "\nDo you want to save the customer records (Y / N) ?\t"; cin >> Save; switch (Save){ case 'Y': case 'y': goto SaveRec2; break; case 'N': case 'n': goto End1; break; default : cout << "\t\t\tPlease enter Y or N" << endl; goto SaveRec; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 61 HND in Computer and System Development ESOFT Metro College, Wattala } //Save Process SaveRec2: { int x=2; ofstream recfile("1.doc"); if (recfile.is_open()) { recfile << "\n\n" << endl; recfile << "*********************************************************************** **\n" << endl; recfile << "\nEnter the Appointment date:\t\t" << App_date <<endl; recfile << "\nEnter the Appointment time:\t\t"; recfile << "\nFrom:\t\t" << From <<endl; recfile << "\n\nTo:\t\t" << To <<endl; recfile << "\n\t\t\t\t--Smiling Tooth--\t\t\t\t"<<'\n' <<endl; recfile << " \t\t\t\tPatient Information Form" <<'\n' << endl; recfile << " Patient Name :\n"<< endl; recfile << " First Name :-\t\t" << fname << endl; recfile << " Last Name :-\t\t" << lname << endl; recfile << " Full Name :-\t\t" << fullname << endl; recfile << "\n Permanent Address :\n"<< endl; recfile << " No :-\t\t" << AddNo << endl; recfile << " Street :-\t\t" << AddStreet << endl; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 62 HND in Computer and System Development ESOFT Metro College, Wattala recfile << " City :-\t\t" << AddCity << endl; recfile << "\n Contact Details :\n"<< endl; recfile <<" Mobile Number :-\t\t" << MobiNo << endl; recfile << " TP Number (Home) :-\t\t" << TelNo << endl; recfile << "\n Gender (Male/Female):\n"<< endl; recfile << " Gender :-\t\t\t" << Gen << endl; recfile << "\n Date Of Birth(yyyy:MM:dd):\n" <<endl; recfile << " Year :-\t\t" << DOByear << endl; recfile << " Month :-\t\t" << DOBMonth << endl; recfile << " Date :-\t\t" << DOBDate << endl; recfile << "\n Treatment Details :\n" << endl; recfile << " Treatment Type:-\t\t" << trt_type << endl; recfile << "\n" << endl; recfile << "*********************************************************************** **\n" << endl; } else cout << "unable to write"; cout << "Do you want to open the saved records (Y / N) ?\t"; cin >> Open; switch (Open){ case 'Y': case 'y': goto OpenRec; break; case 'N': case 'n': goto End1; break; default : cout << "Please enter Y or N" << endl; goto SaveRec2; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 63 HND in Computer and System Development ESOFT Metro College, Wattala } recfile.close(); } //Open Record section OpenRec: { string line; ifstream recfile ("1.doc"); if (recfile.is_open()){ while (getline (recfile,line)){ cout << line << '\n'; } recfile.close(); } else cout << "Unable to open file"; } //Complete save process and Go back or end application End1: cout << "\nDo you want to enter new Customer record (Y / N) ?\t"; cin >> End; switch (End){ case 'Y': case 'y': goto Help_Assist; break; case 'N': case 'n': goto Stop; break; default : cout << "Please enter Y or N" << endl; Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 64 HND in Computer and System Development ESOFT Metro College, Wattala goto End1; } //Stop Programe Stop : cout << "Thank you"; return 0; //Help process Help : cout << "\n" "*********************************************************************** *****\n" "|\t\t\t\t\t\t\t\t\t |\n" "| Please enter details as below\t\t\t\t\t |\n" "|\t\t\t\t\t\t\t\t\t |\n" "| Appointment Date: \tMonday\t\t\t\t\t\t |\n" "| Appointment Time:\t\t\t\t\t\t\t |\n" "| From: \t06.00 P.M\t\t\t\t\t\t |\n" "| To: \t09.00 P.M\t\t\t\t\t\t\t |\n" "|\t\tCustomer Information Form\t\t\t\t |\n" "|\t\t\t\t\t\t\t\t\t |\n" "| Patient Name :\t\t\t\t\t\t\t |\n" "| First Name :-\tDilan\t\t\t\t\t\t |\n" "| Last Name :-\t\tVasagar\t\t\t\t\t\t |\n" "| Permanent Address :\t\t\t\t\t\t\t |\n" Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 65 HND in Computer and System Development ESOFT Metro College, Wattala "| No :-\t\t53B\t\t\t\t\t\t |\n" "| Street :-\t\tNimalamariya Mawatha\t\t\t\t |\n" "| City :-\t\tWattala\t\t\t\t\t\t |\n" "| Contact Details :\t\t\t\t\t\t\t |\n" "| Mobile Number :-\t0776471831\t\t\t\t\t |\n" "| Telephone Number :-\t0572230060\t\t\t\t\t |\n" "| Gender (Male/Female) :\t\t\t\t\t\t |\n" "| Gender :-\t\tMale\t\t\t\t\t\t |\n" "| Date Of Birth (yyyy/MM/dd):\t\t\t\t\t\t |\n" "| Year :-\t\t1994\t\t\t\t\t\t |\n" "| Month :-\t\t01\t\t\t\t\t\t |\n" "| Date :-\t\t31\t\t\t\t\t\t |\n" "| Treatment Details:\t\t\t\t\t\t\t |\n" "| Treatment type :-\tN4XXXXXX\t\t\t\t\t |\n" "|\t\t\t\t\t\t\t\t\t |\n" "*********************************************************************** *****\n\n"; goto Help_Assist; return 0; } Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 66 HND in Computer and System Development ESOFT Metro College, Wattala Gantt chart Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 67 HND in Computer and System Development ESOFT Metro College, Wattala References Ask, 2014. What is C++. [Online] Available at: http://www.ask.com/question/what-is-procedural-languages [Accessed 28 10 2014]. S.T.S, K., 2008. Principle of procedural Programming. [Online] Available at: http://books.google.lk/books/about/Principles_Of_Programming_Languages.html?id=2ZFn8z pNs6QC&redir_esc=y , [2014/03/15] [Accessed 28 10 2014]. Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 68 HND in Computer and System Development ESOFT Metro College, Wattala Table of Contents Task 1 ........................................................................................................................................ 1 Make a brief proposal to the management of “Smiling Tooth” on discussing the principles, characteristics and features of procedural programming solution using C++ programming language. The proposal should be understandable and acceptable by the management.............................................................................................................................. 1 Task 2 ........................................................................................................................................ 5 Identify appropriate data structure, file systems, units in order to design the system, also produce a data flow diagram for above scenario .................................................................. 5 Task 3 ...................................................................................................................................... 10 Design, implement and test procedural programming solution ........................................ 10 a) Design the flow chart for the above solution, using a range of symbols. Develop the appropriate pseudo code for the same .................................................................................. 10 b) Select and Implement control structures ................................................................... 13 c) Ensure effective data passing between developed functions and procedure ................ 17 d) Create onscreen help to assist the users of a computer program ............................... 21 e) Implement the procedural programming solution based on a prepared design ............ 24 f) Produce a test plan with appropriate test cases to carry out the testing process and test the solution ........................................................................................................................... 33 Task 4 ...................................................................................................................................... 43 Analyze actual test results against expected results to identify discrepancies ................. 43 Task 5 ...................................................................................................................................... 50 Gather independent feedback on the developed solution from different users and critically analyses the limitations of the developed program solution and make recommendations for improvements based of the feedbacks ............................................ 50 Task 6 ...................................................................................................................................... 52 Create documentation for the support and maintenance of developed procedural programming solution ........................................................................................................... 52 Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 69 HND in Computer and System Development ESOFT Metro College, Wattala a) Produce a user manual (with relevant screen shots) for the developed solution to assist the user ................................................................................................................................. 52 b) Document the code to provide good understanding of the program and its functionalities using different types of comments ............................................................... 56 Gantt chart ............................................................................................................................. 67 References ............................................................................................................................... 68 Vasagar D.J Procedural Programming Assignment 01 of 01 Page | 70