Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CSCI 310 Software Engineering

PROJECT 2.2

Overview: In this assignment, you must focus on the design of the Android application assigned to you based on the requirements you gathered in the Project 2.1 assignment.

Objective: The objective is to gain experience in designing a software system based on the requirements document, and expressing your design using a combination of natural language and UML.

Detailed Description: In this assignment, you will focus on both the high-level architectural design and the implementable detailed design of your Android application, based on the requirements document you created in Project 2.1. You must produce a design document that captures the following efforts:

      First, you must design a high-level architecture of your whole system to describe how different system components interact with each other.

 Second,  you  must  create  an  implementable  detailed  design  that  can  be  understood  by  a software engineer outside of your team, to implement your system based on your design.

In addition to presenting both the architectural design and the detailed design, you must explain the relationship between components in your architectural design and elements in your detailed design.

If you plan to use external frameworks and libraries, please include them in your design as well.

You may write explanations (i.e., the rationale behind your design) in natural language if necessary, but your design must follow the UML standard. Specifically, in your detailed design, you should present a “class diagram” and a set of “sequence diagrams” in UML.

Note that in the subsequent Project 2.3 (Implementation), your implementation will have to be based on the design specified in Project 2.2 (this project) . If your implementation deviates significantly from your design (due to some obvious and unreasonable defects in your design), your grade will be affected.

Deliverable: Your team will deliver a design document containing the following sections:

1.    Project Title and Authors

a.    Your assigned team number (from 1 to 76)

b.    Optionally a cool name you select for your team

c.    A list of all team members (names, USC ID numbers, and USC emails)

2.    Preface

3.    Introduction

4.   Architectural Design

a.    This is a high-level architectural design.

b.    It should include an overall breakdown of the system into major components.

c.    It should explain the architectural patterns (styles) you use, and the rationale.

5.    Detailed Design

a.    This is a refinement of your architectural design into an implementable detailed design.

b.    It should state the relationships between elements in the detailed design and

components in the architectural design (e.g., “this class belongs in that component”).

c.    It should have the following UML diagrams:

i.       A Class Diagram (including class names, attributes, methods, and relationships with other classes)

ii.       At least five (5) Sequence Diagrams (describing the key interactions among objects of the classes in your design)

Grading Rubric: The assignment will be graded out of a maximum of 100 points.

      High-level checks (10 points)

o PDF format; has all required team information; have a preface section; have an introduction section

     Architectural design check (30 points)

o Identify the major components in your system (5 points)

o Map all system components to requirements (5 points)

     To justify their existence (needed to meet which requirements)

o Provide an architectural configuration – the block diagram (10 points)

o Provide the rationale for the architectural configuration (10 points)

      Explain the choice of components

      Explain the choice of architecture style

      Detailed design check (60 points)

o Have a class diagram that makes sense (20 points)

o Have at least five sequence diagrams that make sense (30 points)

o Use the UML notation correctly (5 points)

o Refine all system components mentioned in the architectural design (5 points)