top of page
Galaxy

SPACETRADER|FLY ME TO THE MOON

space2.png

Objective

To develop an Android strategy game in Java. 

MY ROLE: Software Engineer & UX Designer 

TIMEFRAME: January, 2019 - May, 2019

CLASS: Objects and Design

TEAM STYLE: 4 Software Engineers 

TEAMMATES: Ryan Li, Kiersten Schutz, Jonathan He

TOOLS USED: Java, Android Studio, Software Architecture, UI Flow Diagram, Unit Testing, Domain Model, Github, Context Diagram

BIGGEST TAKEAWAY: Creating APP is fun!

Goal

To create an Android game called SpaceTrader that can allow users to create account, adjust user settings, go to different planets, occur random events during the flights, and buy goods. 

Getting Started

I would document the setting up and designing of the project based on timeline. The APP development was going on at the concurrent time. You can download the codes here from Github if you would like: 

1. First of all we need to set up the project. To brainstorm the events, we individually write user story and draw sequence diagram. 

My user story and sequence diagram on difficulty attribute of game

2. Then we created a context diagram for the whole system and 10 user stories with titles only.

  10 user stories and context diagram for whole system

3. Next, we brainstormed candidate classes/objects for the domain model. 

Screen Shot 2020-01-05 at 4.07.47 AM.png

Brainstormed candidate classes/objects

Screen Shot 2020-01-05 at 4.09.35 AM.png

Domain model

4. We then created a diagram of software architecture and annotate it with trust boundaries.

Also, we created a UI flow diagram (state diagram) and a set of UI prototype screen drawings representing the planned user interactions. The screen prototypes only included the major screens for the application. 

Screen Shot 2020-01-05 at 4.12.50 AM.png

5. Here is a UML class diagram for the complete application design. 

Screen Shot 2020-01-05 at 4.14.06 AM.png

UI flow diagram

UML class diagram

6. Upon the end of the project, we conducted code quality and unit testing by each person picking a non-trivial method (one that has loops and/or conditional statements) and tested that method to achieve branch coverage. 

Screen Shot 2020-01-05 at 4.21.03 AM.png
Picture1.png

Inspection issue log

My method contract for code quality check

Final Product

Untitled-2.png

new game

create player

menu

travel

travel options

market

buy/sell action

Video demonstration

Download the project here from Github: 

bottom of page