Principles of Procedural Programming Assignment
Qualification - BTEC Higher National Diploma in Computing and Systems Development
Unit number and title - Unit 18 Procedural Programming
Introduction
Basic Accounting System
Procedural Programming assignment brief requires the student to produce a text-based menu driven console application, which enables the employer to calculate and maintain salary information of his employees. Also the employees will be able to use the system to invoice their employer and to see their payments.
This assignment intends to test the students' knowledge in various areas of procedural programming using C#. Each student is expected to produce a code can be part of the appendix. You should see the program in the presentation. All program test output screens must be included in the report. Finally, the student will demonstrate a working program in class for oral examination within Microsoft Visual C# 2010 or 2012 express edition environment.
Scenario
You are required to design, implement, test and document a program which will make it possible to register new employee, store and retrieve their personal information and salaries to and from text file. The program shall have a main menu system displaying the following:
Employer
Employee
Exit
Users of the system (Employer/Employee) must login to the system before they can use it. Only Employer is allowed to register new employees and create them new accounts. Login details should be saved in one file. Once the employee logged in successfully they will be able to see three options as follows:
Check payment
Invoice employer
Exit
If users selects 1 (Check payment) the program will display a message on the console stating their last payment made to them, month (e.g. January 2014) together with their id and full name.
If users select 2 (Invoice payment) the program will enable them to insert total numbers of days they worked within a month (e.g. 15 days in January) together with their daily rate (e.g. £150). The program will store then employee id, month (e.g. January 2014) in addition to the total sum of their salary (days X daily rate) in the text file. Once the Employer logged in successfully, they will be able to
register new employee
confirm the monthly payment
list all employee id and name
Exit
If the employer selects 1 (register...), then he will be able to create employee data such as full name, job title, daily rate, ID and password and save them in text file.
If the employer selects 2 (confirm...), then he will be able to store employee id, month name, salary and confirmation for payment for a specific month
TASK 1: Understand the principles of Procedural Programming
1.1 [P1.1, M1]
Write maximum 400 words explaining briefly what procedural programming is and define clearly what do we mean by methods, variables and loops with an example for each?
Explain briefly the benefits of procedural programming in terms of code readability, usability, maintenance and error tracking.
TASK 2: Design Procedural Programming Solutions
2.1 Explain briefly the benefits of pseudo code and flowcharts, then develop an Algorithm using pseudo code (‘Divide' the Algorithm into simple action steps) to show how you design the key functions/methods created in your program. [P2.1]
2.2 Develop a basic architecture of your system showing the different components. [P2.2, M2]
TASK 3: Implement Procedural Programming Solutions
3.1 You are required to implement the developed Algorithm for a given scenario and drawn Flowchart (in task 2) into a C# Program Code using MS Visual Studio Express 2010/2012. [P3.1, D2]
3.2 You are expected to the programming skills you have learned in this module including array, methods, writing data to text files as well as built-in I/O Standard Library or other Functions for allowing the program User to Input the Menu Choice from the Keyboard. [P3.2, M3]
TASK 4: Test Procedural Programming Solutions
In this section you need to provide overall documentation for the system analysis, design and implementation as follows: [D3]
4.1 critically review and test your solution [P4.1]
4.2 analyse actual test results against expected results to identify discrepancies [P4.2]
4.3 evaluate independent feedback on your solution and make recommendations for improvements [P4.3]
4.4 create user documentation for the solution [P4.4]
4.5 create technical documentation for the support and maintenance of your system [P4.5].