Attached files
Microsoft Word - MIS501-Assign3-v.1.0.docx MIS501-Assign3 Page 1 of 2 ASSESSMENT BRIEF Subject Code and Name MIS501 Principles of Programming Assessment Three – Software Development Project Individual/Group Individual Length N/A Learning Outcomes This assessment addresses the following subject learning outcomes: a) Synthesise the tenets of procedural programming into the object-oriented paradigm b) Propose solutions using programming and universal modelling language (UML) diagrams to meet business need c) Apply an integrated development environment (IDE) using the principles of agile methodology to create, compile, test and run programs to address business problems d) Apply object-oriented concepts to construct classes and methods to solve problems and make decisions Submission Friday 11:59 PM End of Module 6.1 (week 11) Weighting 30% Total Marks 30 marks Context: The MIS501 Principles of Programming subject is designed for you to progressively add to your understanding of software development using a mid-level programming language that supports object-oriented development. It also introduces you to some of the systems analysis techniques that will feature in later subjects of the Master of Business Information Systems. In order for you to do well in this subject, it is imperative that you undertake all of the learning activities in the modules. The learning activities are presented as a way of scaffolding your learning so that you can attempt the building blocks of the assessments and be in a safe environment to fail and to learn from them. Therefore, doing your learning activities and seeking feedback from them from peers and from the learning facilitator is the single best way of preparing for doing well in this assessment. Instructions: Review the briefing document and submit one or more C++ files. Submission Instructions: Combine each C++ file into a zipped archive and submit by the due date. MIS501-Assign3 Page 2 of 2 Learning Rubric: Assessment Three Assessment Criteria Fail (Unacceptable) 0-49% Pass (Functional) 50-64% Credit (Proficient) 65-74% Distinction (Advanced) 75 -84% High Distinction (Exceptional) 85-100% Completeness of Solution 30% The solution presented satisfies one or more of the requirements but is not original, is hard to follow or is otherwise not logical in its presentation. The solution presented may satisfy one or more of the requirements but is not logical, may be difficult to follow or otherwise may not produce the desired results, despite an attempt being made. A good solution that satisfies a number of requirements of the brief. The solution is original and presented in a logical manner. A very good solution that satisfies nearly all requirements. The solution is original and is presented in a logical manner that may include multiple files. An expert level solution that satisfies the requirements in the brief fully and wholly. The solution is original, thoughtful and presented in a logical manner that may include multiple files. Incorporation of Activities and Learning from the Subject 40% Little or no awareness of the subject matter has been demonstrated in the presentation of the solution. Little awareness of subject material can be seen in the solution presented. More work is required to demonstrate learning throughout the subject. An awareness of the subject matter can be seen. More work is required to master the art of programming and in automating semi- complex tasks. A concise demonstration of learning throughout the subject has been demonstrated in the solution presented. Some commentary may be present to indicate which aspects have been demonstrated. Full demonstration of learning from the subject can be seen in the presentation of the solution. Includes commentary and highlights the specific elements that have been incorporated. Compilation and Execution of Program 30% There are several compilation errors, that originate in syntactical and linking errors and that prevent the program from compiling and running. Some minor compilation errors prevent compilation and can be borne from syntactical or linking errors. Some minor attention to these would result in simple changes that would allow the program to compile. The program compiles and links correctly. Upon testing, the program has a run-time error andr one or more logic errors in its execution. The program compiles and links correctly. Upon testing, the program has a run-time error or has one or more logic errors in the way it has attempted to solve the problem in the brief. The program compiles and links correctly. Upon testing, no run-time or logic errors can be detected in the way the program was designed. Microsoft Word - MIS501-Assign3-Brief-v.1.0.docx MIS501-Assign3-Breif Page 1 of 2 Programming Project Brief Torrens University Australia (TUA) is a new Australian university, instantiated by an Act of the South Australian Parliament in 2013 and registered with the Tertiary Education Quality Standards Authority (TEQSA) in 2014. In commenced operations in late 2014 and now boasts over 14,000 students across 17 campuses along the Australian Eastern seaboard and South Australia. It also boasts a state-of-the-art online campus and has partnerships with learning institutions in New Zealand, Papua New Guinea, Thailand, Indonesia, the United States, the United Kingdom, China, India and Finland among others. Although TUA has had a student information systems (SIS) since its inception, like any university its systems and processes are always subject to continuous improvement. As part of the continuous improvement activities, a consultancy “Tuapin Systems” which you work for, has been called in to redesign the SIS. So far, the TUA chief information officer (CIO) has met with his direct reports and one of the senior partners of Tuapin and together they have agreed on a proof-of-concept arrangement. The idea is that your solution will ‘prove’ that a better solution is possible. From your solution, it is hoped that the requirements from TUA can be extracted and a full software development project can be started. A proof-of-concept SIS should include the following functional requirements: • Allow the user to add a new course • Allow the user to add new subjects • Allow the user to add new students • Allow the user to enrol a student into a subject • Allow the user to add the outcome of subjects studied • Allow the user to print a student’s transcript The functional requirements, if proved by your solution, will be supplemented by non-functional requirements in the subsequent requirements gathering exercise. Some of these may be the presentation of options in a graphical user interface, printed reports on letterheads, security or other options that do not matter for the present proof of concept. In presenting your solution, it is expected that it will compile and run. You should give the user series of options to choose from, if they are to interact with your program. For example, choosing option ‘1’ may be the route the user will take to enter a new course. Choosing option ‘2’ may be the route to allowing the user to add a new subject and so on. MIS501-Assign3-Breif Page 2 of 2 Hints 1. Assume you will need to include the following header library files a. iostream b. string 2. Create classes for student, course, subject including constructors, destructors, accessor and mutator functions 3. Make assumptions on the details that each class should keep track of and then implement them in your classes 4. Structure your main() function in the following way (but don’t assume this is literally all that should be in your main function): int main() { int intOption = 0; while(1) { cout < “enter="" an="" option="" (0="" to="" exit):="" ”;="" cin="">> intOption; if(intOption == 0) break; switch(intOption) { case 0: ... break; case 1: ... break; case xyz: ... ... default: cout < “unexpected inptut. exiting.\n”; exit(1); } } return 0; } 5. call subroutines or functions to control execution when the user has entered their option 6. use your information searching skills to potentially learn about and use call-by reference function and subroutine parameters “unexpected="" inptut.="" exiting.\n”;="" exit(1);="" }="" }="" return="" 0;="" }="" 5.="" call="" subroutines="" or="" functions="" to="" control="" execution="" when="" the="" user="" has="" entered="" their="" option="" 6.="" use="" your="" information="" searching="" skills="" to="" potentially="" learn="" about="" and="" use="" call-by="" reference="" function="" and="" subroutine=""> “unexpected inptut. exiting.\n”; exit(1); } } return 0; } 5. call subroutines or functions to control execution when the user has entered their option 6. use your information searching skills to potentially learn about and use call-by reference function and subroutine parameters>