Software Engineering Fundamentals 2020 Semester 1 Group Assignment Project Objective Software engineering Fundamentals is a hybrid project based course where the group project plays a major role in...

topic 3


Software Engineering Fundamentals 2020 Semester 1 Group Assignment Project Objective Software engineering Fundamentals is a hybrid project based course where the group project plays a major role in building student capabilities. It requires you to analyse the requirements of various stakeholders as a team and resolve any conflicts (or vague requirements) with the tutor acting as the product owner, before synthesising your solution iteratively, applying the software engineering principles taught. One major goal of this software engineering assignment is to facilitate teamwork and you will be expected to use techniques such as CRC cards to effectively distribute responsibilities across classes and individual team members. Your team and technical experience in this project will help to meet the course and the program level objectives as well as act as a cornerstone project. The milestone and face-to-face sessions are designed to improve your communication skills. You will also be exposed to tools common in the industry (Git, Trello, LucidChart, JUnit) that foster teamwork and individual accountability. Overview of Project and Assessment You will get both formative (continuous) and summative (final) assessments as part of this project and this section briefly explains the assessment structure and the role it plays in building your capabilities. Assessment Role Marks 1. Weekly progress marks Weeks 3-12 Measuring your progress as an individual and as a team and giving feedback 10 x 1 2. Milestones Week 7 and 12 Present your requirements, design and implementation as a team and as an individual member to get feedback. 2 x 5 3. Face-to-face meetings Week 9 and After submission in Week 12. Designed to give more in depth feedback on your design, implementation and testing. The initial one will focus on the design aspects while the latter one will consider both functional and qualitative aspects such as usability, reusability, extensibility and maintainability. For individual part you will be asked to explain how your individual contribution is aligned with overall group design. 5 + 20 Team Formation (Formed by students) Since SEF is currently common to students from a number of degrees with different pathways we encourage teams to be self-formed reflecting individual competencies and interests and the more experienced student in the team may take a leadership role (such as Scrum Master) facilitating teamwork and the transfer of skills. Multiple assignments are provided in an attempt to match your interests but all of them require you to demonstrate your core competencies in requirements-gathering, analysis, object oriented design, processes, implementation and testing. Note all members of the team should be in the same group. Project Weight This project is worth 45% of your total grade for this course. You are required to do only one of the seven project options. PROJECT OVERVIEW I 1. Weekly Progress Marks (10 marks) To get full marks each team is also expected to complete the tutorial working as a team as well as meeting the weekly criteria specified below. Wk Suggested Activities Progress/ Activity Milestone/ Meeting 3 Select the project and form the team – consider the strengths, interests and experiences of team members 1 mark 4 Identify User Stories for Product/ Release Backlog 1 mark 5 Identify main domain classes and add responsibilities such that objects can interact to get the first release done. Distribute classes/responsibilities to members. 1 mark 6 Write Test Cases and start writing code to make them pass (individual) 1 mark 7 Initial Milestone: Present partially completed product and get feedback from tutor and class. Demonstrate working Test cases (individual) and continue integrating code and testing. 1 + 5 marks Initial Milestone 8 Plan second release incorporating feedback. Add classes, extend class responsibilities and distribute work. 1 mark 9 Develop detailed Group UML Diagrams (class, use-case). Initial Face to Face Meeting 1 + 5 marks Initial Face to Face 10 Develop Individual UML Diagrams (sequence, state, object). Demonstrate individual Test cases 1 mark 11 Develop Activity Diagrams. Combine code and run integrations tests. Resolve conflicts. Refactor design and code before final submission. 1 mark 12 Second Milestone: Present final product to tutor and class. 1+5 marks Final milestone 13 Final Face to Face Marking of design and code by Class Tutor 20 marks Final Face to Face PROJECT OVERVIEW II 2. Milestones 1 and 2 (10 marks) A. Milestone 1 (5 marks) in Week 7 This first demo/presentation will award marks for both group and individual work. Each individual member is expected to undertake at least two major tasks or responsibilities. Some of these responsibilities can be shared. For example, in the chess-like game “show all valid move destinations for a piece” can be a user- story/responsibility that must be shared by the Piece and the Board classes. The subclasses of Piece such as Rook and Knight may know valid moves but only the Board class knows where the vacant and opponent squares are located. In such a situation, those members writing the Rook and Knight classes may override the method getAllValidMoves():Squares[], while the person developing the Board class may write a method to check which of these squares are free to move using IsValidDestination(square). These two methods from different classes may thus be combined to determine all valid destinations. Students can defer non-model (GUI) aspects until the “core- logic” is fully tested (by using a simple textual interface). Activity Marks Group Part Presenting the Initial Release Backlog (design documents: Class and Use Case diagrams) and demonstrating a partially completed product. 2 marks (4 mins) Individual Part 1. Individual member is expected to explain his or her role/obligation towards carrying out the main user-stories/responsibilities, and any challenges faced. 3 marks (4 x 1.5 mins) B. Milestone 2 (5 marks) in Week 12 The second demo/presentation will award marks for both group and individual work though more marks is awarded for group work. Activity Marks Group Part Presenting the Final Release Backlog and demonstrating the final product 2 marks (3 mins) Use a class diagram to present the overall design; use two sequence- diagrams to present the core functionality. Explain the design rationale highlighting usability, maintainability, extensibility etc. 2 marks (3 mins) Individual Part Individual members explaining their role/ contribution and any challenges 1 mark (4 x 1 min) PROJECT OVERVIEW III 3. Face to Face Tutor Marking 1 & 2 (Total 25 marks) Face to face marking is designed to give feedback and to award marks for following processes, using industry tools, flexible designs and the use of standard modelling notations. A. Initial Face to Face Demo and Marking (Total 5 marks) in Week 9 Activity: Group Part 2 Marks Model a positive and a negative scenario for 4 main use cases/user stories. You may use the storyboarding technique/screenshots to show the sequence of interactions (1 mark). Design classes/methods that can collaborate to carry out the 4 main user stories/use cases. Your initial class diagram should be extended to show more details of methods (1 mark). 2 marks (6 mins) Activity: Individual Part 3 Marks Each team member has to write two positive and two negative JUnit test cases (exceptions must be thrown for negative ones) for a significant method in an important domain class they are assigned (2 marks). Each individual student has to explain how these tests help implement the different scenarios identified in the group part. (1 mark) 3 marks (2 mins each) No submission required but students are expected to bring their documents (storyboarding, scenarios, class diagrams) and execute the test cases developed by each individual student. B. Final Face to Face Marking (Total 20 marks) Submit in week 12 and Demoed in week 13 Group effort will be measured through overall class and use-case diagrams, which should explain the overall requirements and design decisions. Each individual member is expected to demonstrate their individual contribution by detailing their part of the use-case (a use case textual description) and class- diagrams and by coming up with two other UML diagrams (a sequence diagram and one of state/activity/object diagrams). Tutors will check your diagrams are aligned with your code and how group diagrams such as class and use case diagrams are aligned with individual diagrams (sequence and state). Include a table giving contribution of each member, allowing group mark to be adjusted. Activity: Group Part 10 Marks Overall Class Diagram (group) The class diagram must show all the methods, attributes, associations and multiplicities. Name the associations wherever possible. Up to 2 marks for valid class diagram that captures all the main classes, associations (with naming) with the correct multiplicities. Standard UML notation expected. The remaining 1 mark is allocated for consistency with individual sequence diagrams (update the class diagram to reflect the final sequence diagrams). 3 marks Overall Use Case Diagram (group) Up to 2 marks for a valid Use Case diagram capturing all individual use cases. For the remaining 1 mark show all the relationships including extends/includes. 3 marks Group Evaluation (max 1 page report) including: Lessons learnt about project/process management (2 marks) Strengths and weaknesses of your system in terms of reusability, extensibility, maintainability and usability (2 marks). 4 marks Activity: Individual Part Total 10 marks Show detailed methods/attributes/associations relating to individual contribution in the class diagram 2 marks Show detailed explanation relating to individual contribution in use case diagrams – present one use case textual description for a significant use case. 2 marks Sequence Diagram (individual) 2 marks One
Apr 14, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here