Reference no: EM132411901
Assignment: 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.
This course work is worth 650 points. Below is the breakup of the points
• A one-page description of the project that also includes some of the important features to be implemented along with information on the programming language, framework, and libraries to be used. (Due Sept 16th via Email to the instructor) - 50 points
• Requirement Specification (Due Oct 7th)
• Design Specification (Due Nov 4th)
• Completed executable application along with code and necessary manual with instructions on using the application (Due Dec 9th).
• A word document discussing the principles and concepts from Code Complete that were used in the code along with necessary code snippets included. (Dec 9th).