Assignment title: Information
Coursework Assignment Brief
Semester: A16
Module Code: PI306
Module Title: C++ Programming
Programme BSc Computer Science
BSc Business Management IT
Level: Level 6
Awarding Body:
Module Leader
Format: Report
Presentation: No
Any special requirements: No
Word Limit: Task 1 - Programme(s): word count not applicable
Task 2 - Reflection: 800 +-10% words
Deadline date for submission: Submit report to Turnitin by 12 noon (midday)
Learning outcomes to be examined in this assessment ● Understand the foundations of object orientated principles, analysis and design.
● Demonstrate the ability to apply the principles of C++ across a range of object orientated languages.
● Apply the methods of writing C++ programs to reflect practical business situations.
Percentage of marks awarded for module: This assignment is worth 50% of the total marks for the module
Assignment Task:
This Assignment is based on the following scenario. Its approach is incremental, with tasks to be completed during the teaching weeks 4 to 9. It is designed to go through the process of developing a C++ program (i.e. analysis, design, implementation, testing and documentation). The task also requires your reflection on the development process.
Your assignment consists of two tasks:
Task One is to develop and document a Banking System for EBank, which is located in a rural area of South East London.
Task Two is to analytically reflect on your experience in achieving task one above.
Task 1
SCENARIO
EBank is a newly established bank, it has started its business to serve a small community in the village of Blue Crescent, which is about 15 miles on south east of London. You have been recruited to develop a prototype Banking System to deal with their day-to-day operations. In a short interview with the bank manager, a list of functional requirements was listed below. You must develop the first TWO requirements, which are essential to run basic operations, plus any additional THREE from the desirable remaining requirements. The system is to be mainly used by bank clerics and middle management staff members.
Essential Functional Requirements (EFR):
1. To be able to create a bank account. Information should include account number, account type, current balance, account holder details, or any other important information). Account can only be for individual customer at this stage. A customer can have more than one account but of different types. There are THREE types of accounts: Current Account, Saving Account and Business Account.
2. Be able to store accounts details using an array of structures.
Desirable Functional Requirements (DFR):
3. Be able to update account details such as changing account holder address or account type. The user will be prompted to enter account number. (Use linear Search).
4. Be able to display all accounts for a specific given customer. For simplicity, we assume customer Last Name is unique within the system.
5. Be able to deposit money into an account.
6. Be able to withdraw money from an account.
7. Be able to produce a list of accounts in an ascending order on balance amount. You are free to use any sorting algorithm.
For this project you are required to develop a fully working program in C++. Your design should reflect your knowledge of C++ language constructs. In addition, you must ensure that the program is error free.
Internal documentation is essential in real life project development to ease any future maintenance and additional requirements. Therefore, your code should take this in consideration for examples, using sensible names for variables, proper indentations, adding sufficient comments or remarks on program code.
Task 2
Self-Reflective Commentary
Your second task is to write a self-reflective commentary about the design and development experiences you had while undertaking the project, and what you learned about your own work practices as a result.
Having created your programme(s), you should write a self-reflective commentary (approx. 800 words +-10%) critically reflecting on your project. Your commentary should critically explore the work you have done to produce your Project.
You should reflect on:
1. Your research as you produced your Project.
2. The decisions you made as you worked on your Project.
3. Where you think you succeeded and where you think you could have room for improvement.
4. What you would do differently if you were to attempt to do your Project again and what you would do with your Project if you could develop it further.
Your commentary should show evidence of your reading and research and use Harvard referencing. Your commentary is a chance for you to critically analyse your own work, showing an awareness of strengths as well as identifying potential areas which could use improvement if they were to be done again.
Deliverables
The output of Tasks 1 and 2 should be recorded in a single report, which is submitted to Turnitin. Structure your report as below – this is a required structure.
Cover Page:
Module Name and code, Title of Assignment, Student name and number, Submission date.
Table of Contents:
List the contents of the report in the order they appear. Number the section headings/sub headings, pages, appendices and list of figures.
Introduction:
This should summarise your response to the task and the strategy you are presenting.
Software Development Process
This is the core contents of your report. You should use the case study (in the question) to structure this section, clearly demonstrating how you addressed each of the requested tasks. You are required to include annotated screen shots and commented code snippets. You must show evidence of testing at every stage of the development cycle.
Self-Reflection:
A self-reflective commentary about the design and development experiences you had while undertaking the project, and what you learned about your own work practices as a result.
Conclusions:
These draw together your findings. Explain what you believe to be significant in your findings and tell the reader which findings you consider to be most important.
References:
Cite all sources used to develop your work - use Harvard system:(AUTHOR LAST NAME, first name (DATE), Full Title, where published, name of publisher.
Further instructions on Harvard System can be found on GSM Learn (Library).
Appendices:
An appendix contains supplementary information that you consider to be too long. You must place the FULL code of the program in your appendix.
If you have more than one appendix, each appendix should be referred to in your text. You should not include something as an appendix if it is not discussed in the report.
Marking Criteria and Guidance
Fail: A fail submission would show a lack of understanding of assignment requirements. IT may include poor or no use of various types of variables and formulas, with minor errors. Code comments may be absent or inaccurate. Screenshots of output may be missing from the report.
Self-reflection would be absent or exceptionally weak, may demonstrate limited awareness on how the project fitted with wider business contexts, and exhibit poor referencing.
To achieve a Pass, your submission would show effective use of various types of variables and formulas, with minor errors. Code would be commented at a basic level. Screenshots of output will be present in the report.
Self-reflection would show limited research and understanding of how the project fitted with wider business contexts. It would demonstrate an attempt at self-reflection. It would be fully referenced.
To achieve a 2.2, your submission would meet the criteria of a Pass, plus show effective use of various types of variables and formulas. Code would be accurately commented. Screenshots of input and output will be present in the report. Use of the following: formulas, controls, decision statements, structures, functions, and arrays.
Self-reflection would show evidence of basic research and understanding of how the project fitted with wider business contexts. It would show a degree of self-reflection. It would be fully referenced and also demonstrate critical self-reflection and awareness.
To achieve a 2.1, your submission would meet the criteria of a 2.2, plus show evidence of a fully working program. Commenting will include some justification for design choices.
Self-reflection would show evidence of a wide range of appropriate research and an awareness of how the project fitted with wider issues, debates and business challenges. It would show a degree of self-reflection and understanding of the process of practice-research. It would be fully referenced and also demonstrate self-reflection and awareness.
To achieve a First, your submission would meet the criteria of a 2.1 plus evidence of a critical understanding of code design choices. For example implement binary search and compare it with linear search in term of execution time, use various C++ language constructs to store the account details.
A First class self-reflection would show one or more of the following: a critical discussion of a wide range of research covering practical and theoretical; critical self-reflection and/or a critical understanding of how the project fitted within wider issues, debates and business challenges.