One and a half hours. Appendix A is located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Similar documents
Two hours. Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Two hours. Please note that an OMR Sheet is attached for use with Section A: full instructions for their use are given in Section A

Software Development Process Models

One and a half hours. Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours. Appendices A and B are located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Optimize tomorrow today.

Guide to Use of the CFP Marks by Education Partners

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

TABC Seller-Server Certification Course Marketing Guidelines

3Lesson 3: Web Project Management Fundamentals Objectives

DSDM Trainer-Coach Candidate Guidelines Version Jan-16. I help others to do it right

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Edexcel GCSE ICT. Controlled Assessment. Teacher Support Book 2012

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45

COMP6471 WINTER User-Centered Design

Software Engineering I (02161)

Product Documentation SAP Business ByDesign February Marketing

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

Extreme programming XP 6

OHJ-306x: Software Testing Introduction to the Course Project Part 1: General Information and Project phases 1 & 2: Unit testing

BCS Examination Guidance for the Practitioner Software Asset Management Examination

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Application Development at

Chapter 4 Requirements Elicitation

Interactive (High-fi) Prototype (Group)

(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes.

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

CE151-4-AU UNIVERSITY OF ESSEX. Sample Examination Questions 2011 INTRODUCTION TO PROGRAMMING

Writing Cover Letters

Design Proposal: Outline

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

Support Notes (Issue 1) September Diploma in Digital Applications (DA105) Coding for the web

<<Subsystem>> Software Architecture Document

IBM IBM WebSphere Lombardi Edition V7.2 BPM Program Management. Download Full Version :

Software Engineering I (02161)

Nick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture

Webcasts, Webinars, Web Conferencing and Video Conferencing: What's the Difference?

DIG 3110 Web Design & Interactive Media

NCC EDUCATION INTERNATIONAL DIPLOMA IN COMPUTER STUDIES SYSTEMS DEVELOPMENT. 5 th June 2005

Closed Book Examination. Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. Monday 26 th January 2009.

CS 4400 Introduction to Database Systems 2002 Spring Term Project (Section A)

COMP-202A: Introduction to Computing 1

Standard Operating Procedures for Pesticide Applicator Certification Exams (January, 2017)

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

PROGRAMME SUMMARY You are required to take eight core modules in terms one and two as outlined in the module list.

An Intro to Scrum. Agile (Iterative) Project Development. Written in 2001 Can be read in its entirety at:

Library 2.0 for Librarians

Explain how an agile software process differs from a waterfall software process and give an

BCS THE CHARTERED INSTITUTE FOR IT. BCS Higher Education Qualifications BCS Level 6 Professional Graduate Diploma in IT EXAMINERS' REPORT

SOLUTIONS TO REVIEW QUESTIONS AND EXERCISES FOR PART 3 - DATABASE ANALYSIS AND DESIGN (CHAPTERS 10 15)

CPSC 410 Advanced Software Engineering Mid-term Examination (Term I ): Solution Instructor: Gail Murphy

Spreadsheet Management Software Cases. Evaluate the effectiveness of an e-commerce company s Web site and advertising sites

Spreadsheet Case 2. Clarkson Cosmetics

Three Key Considerations for Your Public Cloud Infrastructure Strategy

Objectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements...

Ready for Scrum? Steve Hutchison DISA T&E

Software Engineering I (02161)

Programme Regulations

I. Introduction A. Client Description B. Product Vision II. Requirements III. System Architecture... 5

XSEDE Service Provider Integration Use Cases

Push Notifications: A Review of Best Practices for Mobile Product Managers

Confirming Trainees Satisfy WellSharp Course Prerequisites

Tutorial notes on. Requirements analysis

Object-Oriented Programming for Managers

3 Days Classroom Training Exam and Certification Included

TMA01 Fall 2011 (Cut-off date 8 Dec 2011)

TE.0X0 SUPPLIER GUIDE Oracle NAC Subcontractor Staffing Tool (SST)

Birkbeck (University of London)

COMP-202A: Introduction to Computing 1

APMP. The APM Project Management Qualification. Guide for Candidates

Closed Book Examination. One and a half hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. Date: Wednesday 20 th January 2010

University of Manchester School of Computer Science. Content Management System for Module Webpages

Privacy Policy. What Information Do We Collect?

Thursday 24 May 2012 Morning

Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson January 20, 2005

Chapter 5 System modeling

Software Engineering II - Specimen Exam Answers Page 1 of 10

IB Computer Science Student Status Report for the Internal Assessment

3 Steps to a Great Website

WHO SHOULD ATTEND? ITIL Foundation is suitable for anyone working in IT services requiring more information about the ITIL best practice framework.

CREATING EFFECTIVE USER STORIES

Course Wrap-up. CSC207 Fall 2015

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. Date: Thursday 1st June 2017 Time: 14:00-16:00

San Diego Elementary PowerTeacher: Seating Charts Quick Reference Card

UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Computational Science & Engineering

Test-Driven Development (TDD)

CFRE INTERNATIONAL STYLE GUIDE FOR USE OF THE CFRE DESIGNATION AND MARKS

GiftGuide/GiftStory/GiftCalcs User Reference Manual

NFPA Edition

CS 2505 Computer Organization I

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms

Siebel Project and Resource Management Administration Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

Data Privacy Breach Policy and Procedure

SAMPLE PAPER FOR AN IGBR JOURNAL OR PROCEEDINGS PUBLICATION

COURSE SYLLABUS ANDROID. Industrial Training (4 MONTHS) PH : , Vazhoor Road Changanacherry-01.

1995 Paper 10 Question 7

PHP6 AND MYSQL BIBLE BY STEVE SUEHRING, TIM CONVERSE, JOYCE PARK

Transcription:

One and a half hours Appendix A is located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Agile Software Engineering Date: Tuesday 15th January 2013 Time: 09:45-11:15 Please answer any TWO questions from the FOUR Questions provided Use a SEPARATE answerbook for each SECTION. This is a CLOSED book examination The use of electronic calculators is NOT permitted [PTO]

1. Section A a) What are the characteristics of an agile process and model-driven software engineering that means that a model-driven approach can be used as an agile technology? [3 marks] b) In model-driven software engineering, the phrase everything is a model is often used. Explain why this can be considered to be true. [3 marks] c) Outline the four-levels of modelling defined by the OMG and compare the role of each level. With justification, indicate at which of these four-levels of modelling Platform Independent Models (PIMs) and Platform Specific Models (PSMs) occur? [4 mark] d) The PIM meta-model below allows the definition of the domain model aspect of an application. Outline the two meta-models that would be required to support a Java bean PSM and relational database PSM version of this. [4 marks] package domain { class Entity { property features : Feature[*]; abstract class Feature { attribute name : String; class Attribute extends Feature { property type : DataType; class Assocation extends Feature { property type : Entity; class DataType { attribute name : String; e) Compare and contrast the transformations that would translate a domain PIM (conforming to the PIM meta model in part d) into a Java Bean PSM or a relational database PSM that conform to the meta models that you outlined in part d. Your answer only needs to discuss the transformations and additional information that needs to be added, you are not required to show the transformations in any model-to-model (m2m) language. [6 marks] Page 2 of 10

2. a) In a model-driven approach, an input model is often captured using a Domain Specific Language (DSL). This will capture one or more of the following aspects of an application: domain model, flow-of-control, algorithm and user interface. i) Describe by using examples, why a general purpose modelling language like UML is not used? ii) For the user interface (UI) aspect of an application, what are the main elements that a model must be able to capture? [3 marks] A model can be captured using either a textual or graphical syntax, discusses the advantages and disadvantages of each and outline the circumstances under which you would recommend each. [5 marks] b) Model-to-text (m2t) transformations are the final stage of generating implementations from models and are based on control structures, templates (design patterns) and placeholders. i) State the main capabilities that the control elements of this must possess and compare and contrast how two different model-2-text (m2t) systems provide these. [6 marks] ii) Outline with reasons, the abstraction-level relationship that exists between the input model and the templates. For the MOFscript template below show what is output when applied to the following input model. MOFScript: ddl.database::main() { 'CREATE DATABASE ' self.name self.tables->foreach(table) { table.output() ddl.table::output() { 'CREATE TABLE ' self.name '( self.elements->foreach(column:ddl.column) between(', ') { column.output() ') Ddl.Column::output() { self.name self.type Input model: <ddl> <Database name= xxx > <Table name= yyy > <Column name= zzzz type= abc /> <Column name=xyz type= def /> </Table> </Database> </ddl> [PTO] Page 3 of 10

Section B 3. a) In each of the following scenarios, an agile team is breaking one of the four values from the Agile Manifesto. For each scenario, state which value is being disregarded and give a brief justification of your answer. (The text of the Agile Manifesto is given in Appendix A, for you to reference.) i) A co-located team of 5 developers and 1 customer representative has been created to deliver a small but important addition to the customer organisation s website. One of the developers recommends his preferred story management software. None of the other team members have used this tool before, so he proceeds to run several halfday training sessions on how to use it. During these training sessions, the customer representative catches up on e-mail and phone calls unconnected with the project. ii) A member of a busy sales team is seconded to work with an agile team developing software for the sales staff. She works with the agile team for 2 days every week. Her absence is putting pressure on her sales team colleagues, and so she is keen to let them know that she is working hard for them while with the agile team. Because of this, she spends a part of each day with the developers writing a report on the decisions made and the achievements of each day, to show to her sales colleagues. An agile team is impressing its client by delivering useful software to a reliable release schedule. Half way through the current release, the client organisation receives news that it has won a very lucrative contract, for which it will require some additional functionality to be added to software the team is building. Rather than abandon the work they have done in the current release, in the customer s absence, the team decides to finish the current release (requiring 3 more 1 week iterations) and then to start to look at how the new functionality can be brought in. [6 marks] Question continues on next page Page 4 of 10

3) (Continued from previous page) b) For each of the following, state whether it is or is not an acceptable way of writing this user story, according to common agile practice. Briefly justify your answer in each case. i) In order to encourage more people to browse the catalogue, as a marketing campaign planner, I want to select which current discounts should be advertised prominently in our home page. ii) iv) Select which current discounts should be displayed prominently on the home page. As a marketing campaign planner, I want to select which current discounts should be displayed prominently on our home page. Fred, a marketing campaign planner, chooses the 20% off for orders over 100 discount on electronic goods, to be displayed at the top of the time-limited discounts area on the home page. c) An agile team has selected the following stories for its next release and has placed them in priority order (most important first, least important last): i) Display selected discounts in a prominent area of the home page ii) Cancel a discount Make changes to an existing discount iv) Add a new discount v) Remove a discount from display on the home page vi) Select a discount for display in a prominent area of the home page Roles have been omitted since all these stories relate to the role of marketing campaign planner. Business values have also been intentionally omitted, since this question is asking to you think about the business values for yourself. Provide a rationale for this particular ordering of the stories, based on the business value that each might provide. For example, why has the customer decided that it is more important to be able to cancel (i.e., delete) discounts from the system than to be able to add new discounts? What are the negative consequences for the business of being able to do the latter but not the former? Your answer should account for the relative position of all of the stories in this release plan. [6 marks] Question continues on next page Page 5 of 10

3) (Continued from previous page) d) Explain briefly what would be involved technically in implementing the stories from part c) in the order given. For example, amongst other questions, your answer should explain how we can write, test and (potentially deploy for use) code to display discounts on the home page, before you have written the code to create the discounts and to select them for display. [4 marks] e) Write business values for any two of the stories from part c) of this question, apart from i) and vi). The business values you give should be consistent with your answer to part c). Page 6 of 10

4. a) For each of the following lines of Java code, state whether it is production code, or test code, or whether it could be either. i) assertequals(0.0, distance, 1e-15); ii) public String getname() { return this.appname; Customer cust1 = new Customer("123456789", "Fred", "Smith", "22", "M1 1AA"); iv) double distance = 1 - ngram.match(s.tostring(), t.tostring()); b) The following actions all relate to the development of a suite of automated unit tests for some system. For each action, say whether the developer performing it is using a test-driven development style (TDD), a test-first development style (TFD) or a traditional style in which tests cases are written after the code they test has been implemented (TAD, for test after development ). i) The developer uses the conditions of if-statements and loops in the method under test to design a set of contrasting unit tests for the method. ii) iv) The developer runs the test suite to decide whether to write some production code or some test code next. The developer is responsible for implementing a particular class from scratch. She starts by writing five test cases to help her understand the key parts of the class s interface. The developer implements a method with a single statement: return 0; checks that the implemented tests now pass, and checks the code into the team s repository. [4 marks] Question continues on next page Page 7 of 10

4) (Continued from previous page) c) Design an acceptance test table for the following story, and populate it with four rows describing four contrasting acceptance tests: As a special circumstances board member, I want to calculate the total mark for an individual student on a particular course unit, so that I can make better decisions about what compensation actions should be taken in respect of that student. On the back of the index card bearing this story, the following notes have been written: Total mark is sum of weighted coursework mark and weighted exam mark. All coursework, exam and total marks must be given as percentages. Each course unit can choose its own weighting for each component (weights must add to 100). The student can be resitting any or all of the components. In this case, the maximum mark that can be counted for a resit component is 40. E.g. if mark for coursework is 55, then only count as 40 if resit. Take care to indicate clearly which of your columns are inputs and which are outputs. Note: this test can be encoded without a fixture table. However, marks will not be deducted for including a fixture table, provided the meaning of the tables taken together is correct. [6 marks] d) Write a JUnit test case (or, for almost full marks, a close pseudocode equivalent) for any one of the examples given in your answer to question c), from which you can elicit some of the classes and methods needed to implement this application in a test-first manner. (Note: you should not give the implementation of any of the application classes/methods in your answer you should write the test case referring to them as though they have already been implemented, and you are using them like an API. Candidates will not be penalised for minor syntactic errors in Java code.) [4 marks] Question continues on next page Page 8 of 10

4) (Continued from previous page) e) You are a member of an agile team who is contracting for work from a client organisation you have not worked for before. At present, your team s is the leading bid for the work, but there is one stumbling block. The client insists that the majority of the testing work on the project be carried out by an independent test group, employed by them from another favoured contractor, and is unwilling to resource your team for this part of the work. State the problems that the client s insistence on this approach to testing will cause for your team. Suggest a compromise position that might keep the client happy, while allowing your team to function according to its usual testing practices. Make clear any assumptions you make about your team (e.g., methodology used, agile practices used) or the client (e.g., awareness of agile practices, mission criticality of software to be built), in your answer. [4 marks] Page 9 of 10 [PTO]

APPENDIX A: The Agile Manifesto This appendix contains the text of the Agile Manifesto (agilemanifesto.org), for reference when answering question 3, part a). The Agile Manifesto (2001) We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: 1. Individuals and interactions over processes and tools. 2. Working software over comprehensive documentation. 3. Customer collaboration over contract negotiation. 4. Responding to change over following a plan. That is, while there is value in the items on the right, we value the items on the left more. END OF EXAMINATION Page 10 of 10