Reference no: EM133530938
Software Engineering Methodology
Learning Outcome 1: Understand, critically analyse and choose appropriate methodology for building software based on the business requirements and technical platform using which the software is distributed.
Learning Outcome 2: Reflect on given project conditions to implement component driven development practices taking into consideration customer requirements, platform features and technological constraints.
Learning Outcome 3: Engineer requirements, design a system or component or process to meet desired business needs within realistic constraints.
Learning Outcome 4: Independently create a system design using the latest engineering tools to devise robust structural organization and dynamic behaviour using modelling techniques such as class, object, and sequence diagrams.
Learning Outcome 5: Conduct research on state of art practices and assess various modelling methodologies in software architecture, design, development, and testing; and recommend appropriate approaches to tie the stages of software engineering methodologies to resources within the project.
INSTRUCTIONS:
This assignment is an extension of assignment 1, that is the team is working on the same case study as in assignment 2, and adding extra artefacts.
Using the feedback provided by the teaching instructor, update the requirements of the VIT Ride application.
Based on the updated requirements draw a conceptual class diagram of the whole system showing all classes and relationships. You can add attributes and methods where necessary but it's optional, and you do not need to show all attributes and methods.
Hint: Show methods where inheritence or any solid principles are applied.
The diagram should adhere to all object oriented principles and patterns covered in this unit and appropriate for the case study under discussion.
Define and discuss what architectural pattern should be used to design the VIT Ride application. The architecture should be incorporated or reflected in the class diagram developed in the part 2 of this assignment.
At least develop one complex module such as a Ride ratings, Map, comments and moderation etc. Students should discuss within the team and get confirmation from the staff member about the complex module they are implementing. Use Java programming language to develop it. You can use GIT or any other distributed version control system to track changes and access files remotely. However, it is optional and not accessed but recommended. Also, write instruction to run and deploy code on machines so that the teaching team can run it on their local machines.
Note: It is not mandatory to use GUI, a simple stand alone command line application is also acceptable as long as it shows the required functionalities.
Important: Simply showing correct outputs will grant no marks.
The whole group should demonstrate the design and working of the application including the contribution. The video demonstration must follow the following protocols:
The whole group will be present in the video with face visible (Camera on). The whole group must introduce themselves and present their contributions. Then the team should discuss design, architecture and demonstrate the running of the system (VIT Ride Application).
The video must not exceed more than 10 minutes
Workplan / Work breakdown Agreement (WBA)
You are expected to work as a group on this assignment and contribute very closely to approximately an equal amount of work (unless the special consideration policy outlined applies). In your workplan you must provide details about the contributions and how the work is organised and managed. In most cases, if this is followed, students will receive equal marks on those aspects to their teammates. The Workplan section must include the following information:
Student Name:
Contribution Description:
%age of Contribution:
I [NAME OF THE STUDENT] hereby accept the Work breakdown/contribution as agreed.
[DATE]
NOTE: We will take into account your WBA while marking your assessments and the marks will be adjusted based on the WBA.
Task 1: Class Diagram
- Classes are well-chosen.
- Important domain concepts are modelled.
- Elements that are outside the scope of the specification are not modelled.
- All elements that are shown are within the scope of the specification.
- All relevant associations are shown.
- Inheritance is used appropriately.
- Aggregation/composition are used correctly (if at all).
- All obvious associations and dependencies between classes are shown.
- Navigability arrows on associations and dependencies make sense (if shown).
- Syntax is correct
Task 2: Architecture
- Appropriate Architectural Pattern is applied in design and the code.
- Architectural Pattern is correctly justified.
Task 3: Implementation
- Design in the code matches the design in the class diagram.
- Coding standards. Applies to any code that has been touched by human hands (e.g. meaningful variable and method names, commenting, layout) -- note that this applies to both human-written code and machine-generated code that has been hand-edited. We will look for meaningful identifier names (variable, classes, methods), inline comments, method header comments, class/module comments, layout.
- Functional Completeness (any complex module including login)
Task 4: System Demonstrations
- Please start the video by discussing the contribution of each team member (i.e., which team member was responsible for which component in the system). Students should demonstrate a working system (the complex module) including the design, architecture and any other parts (if required).
- Students demonstrate understanding of the system, the relationship between the code and the design documents, the design and the architecture of the system. Students should point out where in their code the constructs shown in their design documents are implemented.
Task 5: Work Breakdown Contribution is present.