Lincoln School of Computer Science Assessment Item Briefing Document Title: CMP3022M Software Engineering Assignment 2 Indicative Weighting: 25% Learning Outcomes: On successful completion of this assessment item a student will have demonstrated competence in the following areas: [LO1] critically evaluate empirical research on advanced topics of software engineering and extracting key ideas from them; [LO2] Critically analyse the empirical nature of software engineering research and the application of empirical methods in software engineering research. [LO3] critically appraise advanced concepts of software engineering when applied in practice to software products and processes. Outline: For this assignment you are to work in your groups that you will be assigned. In these groups you have to ensure that each of you contribute to the different roles that exist within the methodology that is to be used to develop your artefact. The clients for whom you are to design your artefact have asked that you use the SCRUM methodology. As such you will need: Client Liaison – these will be responsible for relaying the information back to you Designers – these group members will write the UML from which the coders will work Coders – must be at least two people and you must use pair programming Testers – will test bits of the code as you develop People in the group can take more than one role. Once you have identified the ‘Client Liaison’ send them to speak to the client (Lecturer or Demonstrator) However, there are barred combinations, if taking on more than one role, you cannot have the following combinations: Client Liaison & Designer Designer & Coder Coder & Tester Artefact: Your client, Lincolnshire Acme Road Corporation wishes for you to develop a traffic control and simulation and monitoring system. The roads within the Lincolnshire area have become very congested in recent years and they wish to look at traffic control management. Initially you are to develop a simulation of a (multi) cross-roads (see example image below) which monitors the flow of traffic through each of the junctions. You need to control the lights in order to ease congestion. The data from your simulation needs to be uploaded to a central server and remote monitoring stations must be able to access the simulation. Finally your system must be scalable. Your client, Lincolnshire Acme Road Corporation has provided the following basic requirements. Monitor traffic on a cross-road Allow for simulation of traffic using the roads o To monitor the traffic flow o To easy and manipulate traffic flow Develop a scalable simulation system o Must allow for pedestrian crossings Allow traffic data to be uploaded to Lincolnshire Acme Servers Allow for remote monitoring of simulation If you need more details then please speak to the client (lecturer) to gather these requirements. Task: Your task is to develop ‘week-by-week’ a Traffic Control Simulation and Monitoring system that can be used to provide traffic flow control information to Lincolnshire Acme Road Corporation. Working in groups you will need to identify your particular (initial) role, developer, driver, QA assessor, project manager, client liaison, tester, etc. You will need, in your group, to follow the SCRUM and Agile process, maintaining and updating SPRINTS and CYCLES for the development of the artefact on a weekly basis at the very least. In addition to this, you must execute and provide evidence of carrying out specific XP and programming practices, each of which will be given to you on a weekly basis. These will include: Adding design patterns Pair Programming etc As a deliverable you are to provide two main pieces of work: 1. A documented session-by-session log of your engagement with the project. a. What role did you undertake? b. What actions did you carry out at each meeting? c. What impact did you make to the development process? 2. A Critical evaluation of the SCRUM and Agile processes. a. Referring to other software development methodologies and processes you may have used previously, such as Waterfall, critically evaluate the process of developing an artefact using SCRUM and Agile processes. b. This critical evaluation should include both the advantages and disadvantages of the SCRUM methodology. You should pay particular attention to how SCRUM differs in terms of implementing the methodology compared to others such as Waterfall, DSDM, Spiral, etc. c. You should provide a conclusion in your report what states how effective you think the SCRUM methodology and Agile Processes are for developing this particular artefact. Useful Information This assessment is an individually assessed item. Your work must be presented according to the Lincoln School of Computer Science guidelines for the presentation of assessed written work. Please make sure you have a clear understanding of the grading principles for this component as detailed in the accompanying Criterion Reference Grid. If you are unsure about any aspect of this assessment component, please seek the advice of a member of the delivery team. Note: The indicative word count for this assessment is 3000. Submission Instructions The deadline for submission of this work is included in the School Submission dates on Blackboard. The submission should be in electronic format as directed by the guidelines for the presentation of assessed written work. Your document must be submitted in PDF format. DO NOT include this briefing document with your submission.
Lincoln School of Computer Science Document updated 1 February 15 CMP3022M Software Engineering – Assessment Item 2 Learning Outcome Criterion Pass 2:2 2:1 1st [LO1] Critically evaluate empirical research on advanced topics of software engineering and extracting key ideas from them. Development of a progress log for the development of a software artefact. (30%) The provided log should detail as a minimum the actions you have taken during each session of the development process of the artefact. The provided log should include as a minimum the actions you have taken during each session of the development process of the artefact, along with how these developments tie in with the Agile Development process, for example, what Agile XP practices were selected to benefit the developments? Your log should provide a list of details relating to the input you have made to the development of the artefact during each session. What Agile XP practices have influenced these decisions, a list of changes to the SCRUM sprint, what actions and decisions were taken. Your log should include all previous details in addition to providing a short discussion after each session detailing how the development of the artefact is progressing under the SCRUM methodology and critically analysing how SCRUM processes could improve the development of the artefact in future sprints. [LO2] Critically analyse the empirical nature of software engineering research and the application of empirical methods in software engineering research. Critically reflect on the SCRUM methodology as a developmental process for the construction of an artefact. (40%) Your discussion should detail the basics of implementing SCRUM for developing an artefact. Your discussion should detail the basics of implementing SCRUM in addition to how the processes found in this methodology differ from other non-agile methodologies. Your discussion should in addition to the previous requirements detail the advantages and disadvantages of using SCRUM as a methodology for the development of an artefact. In addition to previous requirements, your discussion should also provide a critical reflection on the outcome of your artefacts development as a direct consequence of the SCRUM methodology. You should also provide details of which agile processes you found were beneficial to the development of the artefact, and which you found to be disadvantageous for development of such an artefact. [LO3] critically appraise advanced concepts of software engineering when applied in practice to software products and processes. Demonstrate the development of an artefact and its code base. (20%) Your system does not run and there are no design diagrams or UML modelling to support the system. You have minimal code that shows some work has been attempted. Your system compiles and runs but does not meet all the requirements of the system. There is minimal design diagrams and UML to support the development. Your system compiles and runs and meets most of the requirements of the specification. Design diagrams and UML are presented to support your work. Your system compiles and runs, it meets nearly all of the requirements specification, and is fully supported with design and UML documents. Code is well documented and demonstrates substantial levels coding. Support your discussion with references and appropriate sources. (10%) Your discussions are supported with reference to appropriate texts. However, these are limited in their scope. Your discussions are supported with reference to appropriate texts from several sources but may be out of date. Your discussions are supported with reference to appropriate texts from a wide range of up-to-date sources. Your discussions are supported with reference to appropriate texts from a wide range of sources. Indications of current relevant theoretical understanding are also presented. Weighting All criteria are weighted as shown by the percentages indicated in the relevant criterion box.