Reference no: EM133777089 , Length: word count:5000
Advanced Software Engineering
Assessment 1:
Introduction
This is an individual assessment. You will be given a case study to explore and evaluate some of the contemporary software architectures. Your report will include professional judgments and arguments to nominate the most appropriate software architecture for the given scenario.
Students will download a GitHub code project and perform a static code analysis to analyse the code architecture, code patterns and types of architecture.
You are free to choose your own project from Git Hub. Discuss and evaluate the architecture and design patterns used in the GitHub project.
Students must write a report not exceeding 2000 words based on the case study below. Students are required to use the knowledge learnt in software engineering with this unit to produce the report. The report should follow strictly to the format below:
Report format.
Title
Introduction
Architecture Design
Approach
System
Pattern
Type of software architecture
Discussion and Evaluation
Conclusion
Reference
The content of the report will cover what had been learned in the lecture. Please read through the lecture before attempting the assessment. Students should use the content in the lecture to complete the report (Note: use the idea but in your own words). External content is not encouraged.
Assessment 2:
System Design Report (2000 words) and Presentation (Group)
Introduction
This is a group assessment. The group will be comprised of 4 - 5 students. Select one of the assessment reports from the group for this assessment. Your group will apply advanced design principles and employ tools to design a complex software system. Each group will submit a report and recorded presentation.
Students are to generate UML diagrams to understand the code. The following links may be useful.
GitUML
Doxygen homepage
You will also create data flow diagrams such as Sequence Diagrams or Flow charts. Discuss and evaluate the at least four (4) key design decisions in the GitHub Project with reference to your UML diagrams. Your discussion and evaluation should include an alternative design and performance issues.
Below are the format requirements for the report.
Title Page (all group members and their student numbers)
Abstract
System Description and Requirements
UML Diagram (class diagrams, object diagrams, etc) Discussion and Evaluation
Data Flow Diagrams Discussion and Evaluation
Appendices (if needed)
Contributions
Other Diagrams
Task Management
Students need to use tool the following tools for this assessment:
GitHub as a repository to store and share the code.
Python programming language for programming
Disco, Slack, Discord, Team for team communication
Monday.com for work location and schedule
Students are required to read the lecture note before attempting the assessment. Mark will be penalized if the diagram and definition in the report is different from what has been taught. Unless the section is not covered in the lecture, students can use external resources with citation and referencing. In this assessment, students are required to write a program based on the functional requirements in the report.
For the presentation, students are expected to prepare a 10-minute presentation for the report. The presentation should not exceed 10 minutes.
Assessment 3:
Quality Management Report and Presentation
Introduction
This is a group assessment. You will work to develop a quality management plan by referring to a real world scenario. Your report will include, but not be limited to, the adoption of an appropriate software quality model with consideration of international standards, the group decision of selecting the most suitable software quality metrics, the development of a defect management regime and a configuration management plan. Each group will submit a report (2000 words) and make a presentation in class.
Each group member is also required to complete (i) a peer review report (1000 words) and (ii) a self-reflective report as an individual submission(1000 words)
Upload the code to one of the following testing tool:
SonarQube
Embold
Coverity Scan
Checkmarx
Analyse the Reliability - bugs, Maintenance - Code Smells, Security - Code Vulnerabilities, Security Review and Coverage and Duplicates. Discuss and explain how to manage defects/bugs/non-conformance.
Report and Presentation
Title Page (all group members and their student numbers)
Abstract
System Description and Requirements
Quality Discussion and Evaluation
Security, coverage, duplicates
Individual Self Reflection and Lessons Learnt
Appendices (if needed)
Contributions - Work Allocation
Individual Self Reflection
Task Management
Presentation