代做ITS66404 Software Engineering ITS60604 Principles of Software Engineering代做Java语言

2024-11-18 代做ITS66404 Software Engineering ITS60604 Principles of Software Engineering代做Java语言

ITS66404 Software Engineering

ITS60604 Principles of Software Engineering

ASSIGNMENT

HAND OUT DATE:        Week of 30th  September  2024

HAND IN DATE:            Week of 17th November 2024

GROUP PROJECT: 30%

Instructions to students:

•   The assignment should be attempted in groups of 5 students.

•   Complete this cover sheet and attach it to your assignment - this should be your first page.

•   Your presentation date will be conducted at a different date.

1.0 Learning Outcomes

MLO3

Demonstrate subject specific skills with respect to apply modelling techniques and notations in the group project coursework.

TGC3 - Communication Skills

•   Communication   Skills   refer   to  the   ability  to   create   and   deliver   messages   effectively, expressively and sensitively inappropriate contexts and specific to the discipline.

•    Deliver content with consideration of audience, purpose, and context surrounding the task, both orally and in written form. as well as any other appropriate forms

OBJECTIVES

This assignment has been designed for students to:

•    Determine requirements for a software system.

•    Demonstrate subject specific skills with respect to applying modelling techniques and notations in the group-project coursework.

•   Apply theory and foundations of software engineering.

•   Apply some key aspects of a software engineering process.

•   Create and finalise models for analysis of a software system.

•   Apply some key aspects of project management.

•   Create testcases based on use case specification

2.0 Project Scenario and Requirements

In this project, students are required to create a  SOFTWARE IDEATION PROJECT PROPOSAL. Students are first to explore existing software systems or applications that address one of the 17 United Nations Sustainable Development Goals (SDGs). The objective is to identify limitations or inefficiencies in the current system and propose an enhanced software application that can improve its effectiveness and impact.  Students  are  advised  to  explore Malaysia  SDG  Summit  2024  for  a  clear  and  descriptive understanding of the various SDG’s.

3.0 Project Requirements

1.   Create Groupings:  Each group is to have Maximum if 5 members. Document the grouping list in

the link given below.

https://docs.google.com/spreadsheets/d/1bh4-

XnWbvWkIRLOt17ZPvukvAW43HgeIgTQIsVOa_Gs/edit?usp=sharing

2.   SDG Selection: Each team must select one of the 17 SDGs, which include areas such as:

•    No Poverty (SDG 1)

•   Good Health and Well-Being (SDG 3)

•   Quality Education (SDG 4)

•   Affordable and Clean Energy (SDG 7)

•   Climate Action (SDG 13)

3.   Existing   System/Software   Identification:  Students  must  research  and  identify  a  system  or software application currently being used to address their chosen SDG. This can include:

•   Government or NGO applications (e.g., poverty relief platforms).

•    Public or private sector software solutions (e.g., energy management systems).

•    Mobile or web applications with social impact (e.g., education platforms in underserved areas).

4.  Problem Analysis: After selecting the system, teams must conduct a thorough analysis of its current functionality. Identify key problems, challenges, and limitations, such as:

•    Inefficiency in resource management.

•    Poor user interface design.

•    Limited scalability or accessibility issues.

•    Data management challenges.

5.   Proposed System/Software Application: Teams are required to design and propose an improved version of the system. The new system should address the identified problems and improve upon:

•    Functionality: Improved features and usability.

•   Scalability: Adaptability to larger userbases or geographies.

•    Efficiency: Better performance, reduced costs, or more sustainable resource use.

•    User Experience: Enhanced UI/UX, accessibility, and inclusivity.

•    Integration  of  Emerging Technologies:  Utilize AI,  blockchain,  IoT,  or  other  relevant tech to enhance impact.

6.   Technical  Considerations:  The  proposed  system  should  demonstrate  a  solid  understanding  of software engineering principles and include:

•   Appropriate software development methodologies (Agile, Waterfall, etc.).

•   A clear system architecture and design pattern adopting all relevant UML design diagrams.

•   Justification for technology stack choices (e.g., backend and frontend technologies).

•    Data handling and security considerations.

4.0 Deliverables

1.    Proposed system requirements type:

Functional Requirements - core system functionalities needed to full-fill the system’s objectives. E.g., user authentication, data processing, reporting features.

Non-Functional  Requirements  -  system  qualities  such  as  performance,  security,  usability,  and scalability that must be maintained.

Tasks:

Identify functional and non-functional requirements using requirements elicitation techniques (e.g., interviews, surveys).

2.    Define the Scope of the Proposed System:-

•    People involved in system processes.

•    Individuals controlling the data.

•   The volume of data processed.

•   Costs and consequences of system failure.

What is covered:

Clearly explain the system boundaries, processes, and stakeholders involved.

What is not covered:

Specify functionalities or scenarios outside the system’sscope.

3.    UML USE CASE DIAGRAMS:-

Deliverables:

•    Draw TWO (2) or more UML Use Case Diagrams for your proposed system.

•    Ensure each use case models interactions between users and the system.

•    Complete use case descriptions and use case specifications for MAIN use cases (2 Use Cases). Use the template provided for use case descriptions and specifications.

4.    UML CLASS DIAGRAMS:-

Deliverables:

•    Draw THREE (3) UML Class Diagrams.

•    Each  diagram should  have 5-10 classes  representing the  information to  be stored  by the system.

5.    UML OBJECT DIAGRAMS:-

Deliverables:

•    Draw THREE (3) UML Object Diagrams.

•    Model four non-trivial situations in your system to visualize object interactions and states.

6.   User Interface mock-ups

Deliverables:

•   Create 3-5 major user interaction design layouts/pages

•    Explanation of the interface design

7.   Test Plan

Deliverables:

•   Create THREE (3) testcases per use case (follow use case specification).  Use the template provided for testing.

8.   UML SEQUENCE DIAGRAM

Deliverables:

•   At least ONE (1) sequence diagrams expected for any use case covering the happy path and one of the alternative pathways.

9.   UML ACTIVITY DIAGRAM

Deliverables:

•   At least ONE (1) activity diagram.

10.   UML STATE CHART DIAGRAM

Deliverables:

•    Draw at least TWO (2) state chart diagram.

11.    Discuss your design rationale consisting of

•    Strengths and weakness of the final design-including any known issues with the design as it is. Minimum 3 paragraphs.

•    Alternative design ideas that were considered (classes, structures, patterns, etc…) and why they were eventually rejected?. Minimum 3 paragraphs.

•     Evaluation of the proposed ideas, the feasibility study.

12.   group analysis to be completed at the end of the project, consisting :-

•    A  brief  discussion  about the  strengths  and weaknesses of the project team and how/if these were managed effectively. Minimum 2 paragraphs.

•    An evaluation of lessons learnt about teamwork – what would you do differently (and the same) give the opportunity. Minimum 2 paragraphs.

13.   Prototype (or mock-ups of the user interface) or Prototype Video (Less than 4 minute video):

•    Develop  a  prototype  (alpha  version   is  required,  but  preferably  beta  version)  of  the proposed  system  and  include  a  brief  description  of  the  major  functionalities  and  key benefits.

•    It should be submitted in video format and your presentation should show some level of interactions.

14.   Presentation (F2F). Max 25-minute:

•   To conduct a technical and value proposition pitching with expected impact in line with purpose learning and to show prototype

IMPORTANT NOTE:

•    Presentation is conducted to propose the new system and teamwork. It may include Introduction, Background, Ideas & Rationale, Lessons learned and Prototype.