attachment_1 - 2023-11-12T050118.920

docx

School

Fisk University *

*We aren’t endorsed by this school

Course

121

Subject

Computer Science

Date

Nov 24, 2024

Type

docx

Pages

4

Uploaded by GrandTree9090

Report
Assignment 2 (software engineering) Learning outcomes assessed In this assignment we are evaluating your professional use of Git and GitLab, your basic knowledge of software engineering (through exam questions), your ability to communicate (UML) and the quality of your code (design patterns). You will be assessed on the processes and techniques that you used more than the effective functioning of the submitted code. Your submission will be a saved Maven project from the Eclipse IDE that meets a strict CheckStyle enforced coding standard, without Code Smells, using Test Driven Development supported by JUnit. You are being assessed on your proper use of software engineering tools (you must use Maven, Eclipse, Git/GitLab, JUnit, UMLet, JavaFx xml). This will be assessed by the proper loading and working of your Eclipse project. You will be assessed on your continued use and understanding of TDD (you must use JUnit), together with the Red/Green/Commit cycle. This will be assessed primarily through the Git log, but also by executing your test suite. You understanding of Code smells, standards and TDD will also be assessed by considering your codebase project in Eclipse. You Git/GitLab usage will be assessed to make sure that it tells a development story that should include a proper use of the CS2800 Git workflow. This will be assessed primarily through the Git log. You will be assessed on the quality of your implementation, system testing and product delivery, as well as the frequency of the updates you make to the code base. This will be assessed primarily through the Git log. You will be assessed on your ability to understand design considerations through documented UML in your report. You will be assessed on basic knowledge of Software Engineering through your answers to some questions taken from last year's exam. Instructions Submit an electronic copy of your work
CS2800 Second Assignment: Process, Design and Use of Git/GitLab: Requirements and Grading If no reasonable attempt at all has been made to develop good code and to use the Git/GitLab archive in a professional way then your grade may be capped at 40% for this assignment. A reasonable attempt will include evident effort to use a feature branch. It will also require a sufficient number of significant, commented commits. A sufficient number would be at least three commits per week, from teaching week seven of the course. If commits did not not begin by week seven then continual professional Git committing, on many different days, over more than two weeks could also demonstrate a reasonable attempt to use Git. A significant, commented commit can be: Any red-green-commit TDD cycles where the commit message explains what functionality was added. Any merges that actually updated a file. Here the commit message might explain what was merged in (You can use "git -amend" to update a git commit message before you have pushed). Any branch creation - whether a candidate release or a feature branch. The first commit message in the branch must describe the reason for making the new branch. The final merge commit should have a nice, useful message. The cutting of a tag. Some release notes should be included in the tag annotation. Any bug fix or update to the CHANGELOG, or to the WISHES file in a candidate release branch. The commit message will explain the change and why it was required. A commit that fixed an earlier commit error ("I did not mean to commit") or spelling mistakes or updates to Javadoc to make it readable etc., will not be considered a significant commit. A sensible and useful log message can be just one carefully constructed sentence. A commit without a sensible and useful log message will be ignored. The total grade available for the this assessment is 100 marks.
Graded directly from your GitLab repository (50 marks) 1. Use of Git/GitLab. (35 marks) a. How much work you have done and over what sort of time period? (15 marks max) You will be graded on the number and regularity of (significant, commented) commits. b. Have you used branches and tags? Is there good evidence that you have used TDD? (10 marks max) You will be graded on your use of feature branches. Also whether your commit show TDD cycles. c. Have you tested any releases? (5 marks max) You will be graded on whether or not there is a commit to fix a bug discovered during integration or system testing, or the use of a candidate release branch cut into a tag with an appropriate ( tested .... ) comment. d. Did you use tasks to break up your work? (5 marks max) You will be graded on whether any commits (often reintegration) indicate that you have broken your project into tasks. Ideally each feature branch, and the main branch, will tell nice stories of development. 2. Code Quality (Graded from the final code version in the main branch of your GitLab repository. 15 marks) Good software engineering should be evident from your code base. Here we grade some aspects of your code. Is the test code in separate classes? Does it pass Checkstyle? Any lingering code smells? a. Checkstyle (5 mark) Code that passes all Google Checkstyle requirements and is well commented, with appropriate file and method Javadoc text. b. TDD (5 mark) Code where all (non-trivial) classes are associated with TDD JUnit test classes c. Smells (5 mark) Code that has no bad Code Smells. Graded from your report (50 marks) Reports MUST be submitted as A4 size, single line spaced, 12 pt and in Portable Document Format (pdf). Reports not in this format cannot be graded. The report must be at most six sides of A4, not including the title page. A penalty mark will be deducted if your report is too long. The report must have a Title Page with your full name, your Moodle name, your
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help
student number, email address and the URL of your GitLab repository. The questions that you need to answer from the PDF file on Moodle are modified exam question from previous exams. The mark guidelines are taken from the exam model solutions. UML and Design Patterns (total 20 marks) It is important that you understand and use design patterns, which are an essential tool for communication and refactoring in the agile process. We give extra credit for the appropriate use of a design pattern that was not in the original UML. There are marks for just giving a picture of the final UML that matches your own code structure. 1. UML (10 marks) Include a image of the your final UML class design diagram, annotated with design pattern stereotypes. 2. Indicate how you have understood and/or improved the original UML (10 marks) The UML diagram must have associated text that briefly explains it, and its use of design patterns. If you have changed the UML you should (very briefly) explain how and why you changed the original UML. Report Too Long You can only data-score negative marks here - but they are easy to get. You can lose marks for long reports (More than six sides). This length includes the answers to the exam questions, but not the title page. You can lose up to FIFTY marks by being wordy. Worse is to use a tiny/small font and cramped writing to try and get more on a page. Exam Questions (total 30 marks) Grading Guidelines: Standard Exam Questions: You are just being asked to say what you learnt in CS2800.