Introduction
Project Introduction
Project maintained by Arrioc
Hosted on GitHub Pages — Theme by mattgraham
Sections
Self-Assessment | Introduction | Software Design & Engineering | Algorithms & Data Structures | Database | Old Source Code | New Source Code
The Artifact
- The artifact I chose for enhancement is a representational state transfer (RESTful) webservice stack with an industry-standard interface that I created in my CS 340 Client-Server course in my last year of college. This program can perform queries and aggregations, reporting on documents in the database in numerous ways. It can also create, read, update, and delete (CRUD) documents. The artifact accomplishes its tasks both through an internal service and an external web service that utilizes the RESTful application programming interface (API).
Artifact Rationale
- I chose to enhance this project because it utilizes a culmination of concepts from past courses that best reflect my skills in software engineering, algorithms and their data structures, and databases, in that it demonstrates my knowledge and competence in solving real world problems that deliver value. There are a dozen different algorithms, each within their own portable and reusable module, and they all interact with the MongoDB database. Perfect for showing off my skills in design, implementing algorithms and displaying my database prowess. What is more, it is all my own in that it does not lean on someone else’s ability to design solutions to the problem.
Collaboration
- This artifact is the product of collaboration. Although I did create the program on my own, it took collaborating with peers, tutors, and instructors for it to be successful. My peers and I in both the course’s discussion forum, and in SNHU’s Slack Chat for coders, helped each other progress. Tutors both from Slack Chat and our institution’s academic services assisted in helping me debug code and learn different ways to implement my ideas. Instructor feedback has broadened my understanding, and that has contributed to my work. The artifact also has the collaborative coding help site, Stack Overflow, to thank for its success.
Code Review
The following is a code review that explains the chosen project and its code, analyzes the code for flaws, and decides on a plan for enhancement.
The video is 41 minutes. I will edit this to be shorter as soon as I can.
Watch Code Review Video
The Ehancement Plan Summary
My plan for enhancing the software engineering and design is to improve the software by creating more readable output, more user-friendly input, and a well-rounded ‘update’ module for the API which will help to deliver better value. I will also remove unused code, improve commenting, and try to fix any bugs.
The plan for algorithms and data structure enhancement is to add to the complexity of the artifact by creating new value-driven algorithms. These algorithms will allow for internal and API module field deletion, internal document retrieval and a menu that allows users to select program services to run.
My plan for database enhancement is to utilize more advanced administrative methods to investigate and apply performance tuning on the database, with the end-goal of improving database efficiency by speeding up its reads and writes.
Now on to Software Design & Engineering
Note: To see the old or new source code, please see the source code links at the top of the page.