Comp 2013 Software Maintenance Coursework 1 for 2018Maintainable Code Reflection PortfolioDeadline: 5 Nov, 3pmSynopsis:Part of understanding how to improve as a software developer is learning how to reflect on new conceptsand on your coding performance. In this coursework you will be asked to write about several aspects of thepractical sessions of this course. Each week you will receive a new task which is related to either what youhave implemented in the lab sessions or what you have understood from the guest lectures.You must choose FOUR out of the six tasks outlined for you. You must answer the question using examplesof what you have achieved in the practical sessions or from your own personal study of the related coursematerial. Each task will contain a question for you to answer.The aim of this coursework is to ensure you have understood the principles involved in creating anddeveloping maintainable software. To getstarted, read the following blog article on writing good, clean, clearand understandable code.https://www.javaworld.com/article/2075129/testing-debugging/make-bad-code-good.htmlYour answers to the tasks should be written in the style of a blog article. Please feel free to enhance youranswers with snippets of commented code. Each task should be completed in no more than 250 wordsmaximum.Deliverables:You must write up your answers to your FOUR out of six tasks of your choosing. We will not acceptsubmissions which answer all six, your first four tasks only will be marked. Each task will have an associatedword count which you must also not exceed, which is 250 words excluding illustrations and supporting codesnippets.Your submission will be a PDF file submitted through Moodle on or before the given deadline. This single filemust contain your answersto the FOUR tasks. We will not acceptsubmissions containing multiple files. Checknearer the submission date for the live link to the Moodle submission system. Furthermore, we might refuseto continue reading answers to individual questions beyond 250 words (although we will not stop in themiddle of a sentence; but try to stick to the limit). Please add the overall number of words you wrote for allFOUR tasks to the front page.To mark your work, we may wish to print off a copy, therefore please add your full name and student ID toeach numbered page of your completed portfolio. Also please use your surname, first name, and student IDas the filename for your submission, e.g Greensmith_Julie_40135203.pdf. Failure to adhere to these rulesmay result in our refusal to mark your coursework.Note:You are gently reminded that we are at liberty to use plagiarism detection software on your submission.Plagiarism will not be tolerated, and academic offences will be dealt with in accordance with University policyand as detailed in the student handbook. This means you may informally discuss the coursework with otherstudents but your submission must be your own work. Please also note that it is not permitted for you tocopy and paste text from another source without correct referencing. If you are unclear about this processplease discuss with the module convenors during one of our lab sessions or at the end of a teaching session.Assessment Details:This coursework is worth 25% of this module and as such is marked out of 25. Each task is worth a maximumof 5 marks. A further 5 marks will be awarded for the quality of the writing and clear communication skills.Each of the five marks refers to a degree classification as outlined in Table 1Mark Classification Marking Schema0 0 No task was submitted, is missing, or is nonsensical1 Fail Poor answering of the question, no reflective content, incorrect codesnippets or did not answer the question. Also, very poor presentation.2 3rd Class Basic completion of the task with partially correct evidence but nolinkage with lab tasks or guest lectures. Also, adequate presentation butwith inconsistencies and with some errors.3 Lower SecondClassGood completion of the task with correct evidence but some problemseither with commenting, minor inconsistencies, an attempt at reflectivecontent, basic linkage with lab tasks or guest lectures.Also good presentation, mostly c代写Comp 2013作业、代做Java/C++程序设计作业、代写Software Maintenance作业、代做CSorrect and consistent with some minorerrors.4 Upper SecondClassVery good completion of the task complete with a strong link to the labor guest lecture content. Examples provided and correct and clearstatement of reflection and implications of the task provided. Also, greatstandard of presentation, consistent and clear use of code, style andwriting.5 First Class Excellent completion of the task, with correct linkage with lab or guestlecture content, with examples which go beyond those described in theclasses, labs and guest talks, which are fully referenced sources. Alsoflawless standard of presentation and could be externally published.Table 1: Marking Classification (Rubric) for Tasks and PresentationTasks are detailed below, of which you must complete FOUR out of six, each task to be completed in amaximum of 250 words (excluding diagrams, illustration and supporting code snippet examples). You alsohave to highlight 5-6 keywords/phrases that you think highlight the idea behind your answer.Task 1: InterfacesIn relation to your implementation of the ZooApp system in Lab 2, describe the term interfaces andinformation hiding in this context and reflect on how an interface relates to packages, libraries and APIs,giving example code snippets from your completed lab assignment.Task 2: Object Oriented Design Group TaskIn relation to your completed work on the group task in Lab 3, reflect on your considerations for how todesign software with lower maintenance effort in the future giving examplesfrom this object oriented designlab class and relating your reflection to your understanding of building maintainable code.Task 3: Regression TestingIn relation to your completion of the testing process tasks in Lab 4, describe the process or regression testingand discuss the differences between debugging and testing. Illustrate your answer with a discussion of theregression testing process you trialled in the lab and discuss the importance of regression testing whenupdating legacy versions of maintained software.Task 4: Branching and Merging in Source ControlIn relation to your knowledge acquired of practical version control using Git based systems in Lab 5, reflecton how you will utilise source control in your future work at the University and beyond, including how thiswould apply to your second year group project. Emphasise how you would manage the process of softwaredevelopment in a team using source control and use command line code samples to substantiate youranswer.Task 5: Reflections on Dr. Sameh Zackary’s Guest Lecture (University of Nottingham)Attend the guest lecture* given by Dr. Sameh Zackary which describes the software maintenance process inresearch grade software maintained over a legacy period. Write a reflection on how the central messages ofthis guest lecture can apply to your own ability to write maintainable code and how this can be applied toyour second year group project.Task 6: Reflections on Yas Poptani’s Guest Lecture (Coventry Building Society)Attend the guest lecture* given by Yas Poptani and colleagues which describes the industrial softwaremaintenance process and emphasisesthe role ofsecurity in software maintenance. Write a reflection on howthe central messages of this guest lecture can apply to your own ability to write maintainable code and howthis can be applied to your second year group project.*please note that guest lectures will not be recorded, so it is important to attend these, if you want to writeabout them.Questions?Dr. Greensmith and Dr. Siebers will of course be happy to answer questions and give high level interimformative feedback on your assignment during the lab sessions.To help yourself to complete this coursework it is highly recommended that you do the lab worksheets duringthe lab session where you can make use of course leaders and demonstrators for feedback on your work.Ideally you should complete one task per week to avoid ‘coursework congestion’ near the deadline - this is amuch more mature way of completing assignments. Leave it to the last minute at your peril as some of thelab work is very difficult to complete outside of the assigned teaching sessions!Good luck, have fun, code well.转自:http://ass.3daixie.com/2018110722443838.html