Assignment: Software Construction
Project Guidelines
Modern software makes extensive use of libraries and frameworks. One of the requirements in this course is that students work on a project that involves creating an application using libraries and frameworks of their choosing. Some of the frameworks you can consider include java Spring, Hibernate, Angular, React and any other framework you are familiar with or frameworks that you wanted to learn but didn't find the opportunity to.
The purpose of the project is to demonstrate through your code implementation the application of principles/concepts that you have learned in the course. With regards to the size and the scope of the project, I would leave it to the individual student to decide. The project scope and size should be just sufficient enough to demonstrate the subject matter that you would like to demonstrate from the course.
Apart from creating the application, you would also provide documentation of principles/concepts you have applied and where and why you applied them.
The principles laid down in the Code Complete textbook would be used as guidelines when grading your project. The following aspects of quality code will be the focus:
• Simplicity (absence of code bloat and complexity)
• Modularity (encapsulation, class dependencies, package structure)
• Layout and style (indentation, comments, naming variables, classes, and other programming constructs)
• Documentation of preconditions, postconditions and class invariants
• Appropriate error handling mechanism
• Use of assertions in code the correct way. Asserts are used to document and check assumptions and they are not to be used for input validation or error handling.
• Design for extensibility - design should be extensible and should demonstrate the application of SOLID principles of software design.
Format your assignment according to the following formatting requirements:
1. The answer should be typed, double spaced, using Times New Roman font (size 12), with one-inch margins on all sides.
2. The response also includes a cover page containing the title of the assignment, the student's name, the course title, and the date. The cover page is not included in the required page length.
3. Also include a reference page. The Citations and references should follow APA format. The reference page is not included in the required page length.