程序代写代考接单-CSIT314 Software Development Methodologies Wollongong Campus Exam

 School of Computing and Information Technology CSIT314 Software Development Methodologies Wollongong Campus Exam duration Weighting Directions to students Examination Paper Autumn Session 2021 

2 hours (for the students with RA, this time might be different based on Moodle site) 50% Clearly mark the question numbers. Answer each question on a new page. This paper includes 6 questions. Submit your work in ONLY one single file (PDF or Word) to the Final Exam submission site provided on Moodle. You must write your full information on the cover page (first page) of your submitted file. To draw diagrams, you can use any tool of your choice (or draw by hand and take pictures – make sure the pictures are all clear). However, you need to insert the diagrams into the submission file. Submission must be made by the exam end time. The submission site will automatically close after the exam end time. The exam shall be completed independently on your own. You shall not discuss, collude, or share you work with anyone else. When you submit, you acknowledge that it is your own work (You need to write this sentence in the cover page of your single submission file). Plagiarism and other academic misconducts may result in a Fail grade and are subject to the University Academic Misconduct Procedures. 2021 CSIT314 Autumn 2021 Page 1 of 4 Question 1 (6 marks) A company called StartUp has been following the agile development process (e.g. Scrum) to develop its products for a number of years. They would now like to have a software system which helps them effectively manage this development process. The software system should support different types of users (e.g. Scrum Master, Product Owner and Developer). The software should allow a Product Owner to create and modify user stories, rank them and add or remove them to/from a product backlog. Scrum Masters can use the system to set up sprints and track the progress of an ongoing sprint. The system allows developers to define the tasks for completing a user story and estimate the effort (in terms of story points). All team members should be able to view user stories/tasks and interact with other team members by providing comments. Visual analysis of a sprint shall be provided to Scrum Master in the form of sprint burn-down chart and release burn-down chart. The system should also provide support for all users in searching for user stories and tasks through keywords and titles. Note: Any assumptions you make in addressing the questions should be stated clearly. a) Develop a list of user stories for this system (3 marks) b) Consider that you have a development team and you want to use the agile practices as discussed in the subject to build this system. Describe how you would apply the agile practices to develop this system starting from today. Provide specific examples to illustrate your answer. (3 marks) Question 2 (10 marks) Assume that you are asked to develop the above system in Question 1. a) Develop a UML use case diagram for this system. Include at least 2 instances of use case relationships (e.g. inclusion, extension). (3 marks) b) Use the b-c-e framework to develop a design for the above system. Draw a class diagram to represent your design. (3 mark) c) Write the details of one of the use-cases (steps) from use case diagram. mark) (1 d) Develop a UML state machine diagram modelling the behaviour of an object in this system. You need to clearly specify which object you model and your state diagram needs to have at least 5 states. (3 marks) Question 3 (9 marks) The following questions are related to the system in Question 1. a) b) Propose (and explain your reasons) one (1) feature of the above system that can be developed using the data-driven approach discussed in the subject. Describe how this feature can be developed and integrated into the system using the data- driven development approach. (3 marks) Explain one (1) ethical consideration specific to this system? Discuss how you would address it during the development of the system. (3 marks) 2021 CSIT314 Autumn 2021 Page 2 of 4 c) Once the system is deployed, you are asked to continue maintaining the system. Discuss how you would address at least 4 of the eight laws of software evolution discussed in the subject when you maintain the system. (3 marks) Question 4 (10 marks) Suppose that you are using test-driven development (TDD) to develop a program named “Calculator” that performs elementary arithmetic, including the operations of addition, subtraction, multiplication, and division, on real numbers. This Calculator program will be run from the command line as follows: Calculator <expression> where <expression> is a string passed to Calculator as input, and the output will be rounded to two decimal places. For example, for the following input: Calculator “1+2*3/4.5-1+10” the output will be “11.33”. Assuming that in each development cycle of TDD you add 5 new tests (where each test is an arithmetic expression). List all the different tests that you would design for the first 10 development cycles of TDD. You should list your tests using the following format: Round 1: <expression 1> <expression 2> ... <expression 5> Round 2: <expression 1> <expression 2> ... <expression 5> ... Round 10: <expression 1> <expression 2> ... <expression 5> Question 5 (10 marks) Suppose that you are developing an online ordering system using Continuous Integration and Delivery (CI/CD). Answer the questions below. (Note: Your answers must be specific to the online ordering under development.) 1) What are the benefits of keeping the staging environment (that is, the testing environment) and the production environment as consistent as possible? (5 marks) 2021 CSIT314 Autumn 2021 Page 3 of 4 2) How would you data-driven development can improve CI/CD? (5 marks) Question 6 (5 marks) Consider the development of an online photo gallery web site (for example Flickr.com) using Kanban. Suppose that your team has five software engineers. Show how the Kanban Board would change in each and every week for the first five weeks. Your answer should use the following format: Kanban Board (week 1): Left column: Middle column: Right column: Kanban Board (week 2): Left column: Middle column: Right column: ... Kanban Board (week 5): Left column: Middle column: Right column: Hint: you need to define a list of user stories and development tasks and then list them on Kanban Board. End of Examination 2021 CSIT314 Autumn 2021 Page 4 of 4 


51作业君 51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: ITCSdaixie