Assignment-3 Solution

$30.00 $24.00

Introduction In this assignment, you will continue the design and implementation of the Smart City automation system and explore the Internet of Things (IoT). Overview For this assignment, you will design and implement one component of the Smart City System: the Smart City Controller Service. In the assignment’s design portion, you will create a software…

5/5 – (2 votes)

You’ll get a: zip file solution

 

Description

5/5 – (2 votes)

Introduction

In this assignment, you will continue the design and implementation of the Smart City automation system and explore the Internet of Things (IoT).

Overview

For this assignment, you will design and implement one component of the Smart City System:

the Smart City Controller Service.

In the assignment’s design portion, you will create a software design document that satisfies the Smart City Controller Service requirements. You will use a UML class diagram and class dictionary to document the required classes, including the attributes, associations, and methods for each class (similar to the design provided in assignment 1).

Include a use case diagram that shows the use cases supported by the Controller Service.

Provide one or more sequence diagrams that describe the interaction between the Controller Service and the Model Service.

Utilize the Ledger Service implemented in assignment 1 for processing transactions.

Utilize the Observer Pattern for processing events emitted by the Smart City Model Service. Use the Command Pattern to implement the rules and actions supported by the Smart City Controller Service. Optionally, support queueing and logging of events and actions.

In the implementation portion of the assignment, you will implement your design and test your solution.

You will have 2 documents as input to your design:

  • Requirements Document describing the functional requirements for the Smart City Controller Service.

  • The system Architecture document provides a high-level description of how the Smart City Controller Service component will fit in the overall Smart City System.

Also, a software design template is provided for you to use as a base for your design.

1

CSCI E-97 Assignment 3

10/6/2020

Development Process

This assignment will simulate a 3-week Sprint. A sprint is a time-boxed unit of development, as defined by Scrum. (For more details on Scrum: http://en.wikipedia.org/wiki/Scrum_(software_development)#Sprint)

The assignment is framed within the context of a 3-week sprint to help demonstrate how formal software design can be successfully applied within a fast-moving agile development environment, ultimately increasing the development team’s velocity and improving their quality of the output.

The following diagram provides an overview of the development process that we will use. This instance of the development process requires 13 days, with 2 days buffer.

Assignment Notes:

The goal of this assignment is to help you become familiar with the process of design and implementation within the context of a collaborative agile development environment.

Another focus of the assignment is to create a design document, leveraging the Object

2

CSCI E-97 Assignment 3

10/6/2020

Modeling and Class Diagram techniques recently covered in class.

You should implement the classes as defined by the class diagram and class dictionary specified in your design document. All classes except for the TestDriver should be defined within the package “com.cscie97.smartcity.controller”.

Implement a TestDriver class to load in the sample Smart City configuration, simulate events, and show the current state of the cities, devices, and people.

When implementing your design, you may vary from the design. Use the results document to document the changes, justify your changes, and describe how your changes continue to support the requirements.

Remember to use Java doc to document class and method headers. Add comments inline where appropriate to explain code logic.

What To Turn In

You’ll turn in a zip file (firstname_lastname_assignment3.zip) containing:

  • Your source code (no .class files)

  • Your data files

  • Sample output for all your data files

  • Your design document (in pdf format)

  • Include a Results document (in pdf format) describing your results:

    • Did the design document make the implementation easier?

    • How could the design have been better, clearer, or made the implementation easier?

    • Did the design review help improve your design?

    • How did you find the integration of the components?

    • Your comments on your peer’s designs – please include your peer’s names

    • Comments from your peer design review partners

    • Updates to your design based on the peer design review or implementation

    • It would be a good idea to provide a short description of how to:

      • Compile your code

      • Run your program on your data files

We should be able to unzip your file into a directory, then cd into that directory and compile your program with the command:

  • javac cscie97/smartcity/model/*.java cscie97/smartcity/controller/*.java com/cscie97/ledger/*.java cscie97/smartcity/test/*.java

3

CSCI E-97 Assignment 3

10/6/2020

We should be able to run your program with the command:

  • java -cp . cscie97.smartcity.test.TestDriver smartcity.script

The smartcity.script is a set of commands to configure the smart city system and set sensor and device status and control values.

Caution: When you believe you’re done, try zipping your files, then unzipping them into a different directory and following the steps above. In other words, test your packaging before you submit your assignment.

Submit your solution online through the Canvas site. Review the grade sheet for this assignment prior to submitting it.

4

Assignment-3 Solution
$30.00 $24.00