You will follow stories / subtasks that you and your partner created in assignment 3 for implementing the system described in assignment 1.
– Make sure to provide story # to commit comments when you commit your code to SVN. Both partners must follow this. TAs will confirm the commits in SVN history.
For example: “Story 1 – code implementation”
– Both partners must work on different stories / subtasks by collborating when merging / committing the code to SVN.
1. Working code with proper documentation and comments. (60)
– Code must include unit tests showing all the code is covered by test cases.
– TAs will test your code. They can use your test cases or their own.
2. 10-15 minute demo with TA. (40)
– TA will post a doodle schedular on google groups.
– Pick a time slot for demo.
– One demo par pair.
– Give yourself enough room between demo and due date in case TA comes back with issues and you need to fix it. You may request another demo after the issues are fixed.
Due Date: 07/13/2018 23:59:59
You will start implementing the system described in assignment 1 and deliver the working system in assignment 4.
For this assignment answer these questions. Remember this is a collaborative effort with your partner. Both should brainstorm user stories.
1. Provide user stories for each module that you discussed in assignment 1 and 2. (30)
LOOK FOR EXAMPLES ONLINE. Here is a good resource: https://www.yodiz.com/blog/writing-user-stories-examples-and-templates-in-agile-methodologies/
2. Provide description, acceptance criteria, and effort in story points for each story. TA will test your modules using the description and acceptance criteria. You might want to discuss with TA. (40)
Hint: Story points follow fibonacci series. 1(minor effort), 3(small), 5 (medium), 8(large)
3. For each story, provide subtasks and who will be working on it. (30)
– Implement module (partner 1)
– Create unit tests (partner 1)
– Review and test code using unit tests(partner 2)
– Integrate with other modules (partner 1 and 2)
These are for reference
Assignment #1 COSC 4353/6353 Due Date: 06/22/2018 23:59:59 Description: In this assignment we will come up with initial design for the program. We will not be writing any code in this assignment, but only looking at some initial design ideas. Problem Statement: —————— A Currency broker company has asked us to build a system that notifies them when a currency pair rate reaches the target rate. User configures the currency pair and target rate. The URL to get the Rates in XML form: “http://rates.fxcm.com/RatesXML” Example of the rate: <Rate Symbol=”EURUSD”> <Bid>1.38022</Bid> <Ask>1.38042</Ask> <High>1.38266</High> <Low>1.37634</Low> <Direction>0</Direction> <Last>10:42:43</Last> </Rate> Here “Bid” is the current rate. “Ask” is the suggested sell rate. “High” is day high, “Low” is day low, “Direction” is 1=>up, -1=>down, 0=>no change compared to last rate, and “Last” is the time for last tick. Design considerations: ———————- 1. You will need a parser to parse the XML. There are several examples online. 2. Start with hard coded user configuration. For example. Pair: EURUSD, Target rate: 1.381 3. Make it user entry once you have working code. 4. You will periodically check the rates, consider using a schedular. 4. For notification, we will assume that there is a system that will be called to notify users. You only display on the screen if target has been reached. Answer these questions: 1. Based on design considerations above provide an architeral design diagram. (This is not a class diagram. Look for examples online for software architectural diagram.) (40) 2. Discuss major modules in your architectural diagram. Provide details what each module is used for. (30) 3. Discuss what development methodolgy, software technologies (front and back end), and frameworks you will use? Discuss reasoning behind your pick. (30) NOTE: Include a separate file (may be a scan of hand drawn picture if you like, or a PDF, tiff, word document, etc.) which shows a UML diagram of your design.
Assignment# 2 COSC 4353/6353 Due Date: 07/06/2018 23:59:59 Description: In this assignment we will come up with additional design for the program. We will not be writing any code in this assignment, but only looking at some initial design ideas. Problem Statement: —————— Same as assignment 1. Answer these questions: 1. Based on architectural diagram from assignment 1 describe any design patterns you will use. Provide reason why you are proposing a certain design pattern. (20) 2. Provide class diagrams for each module. (40) 3. Provide sequence diagram for each module. (40) NOTE: Include a separate file (may be a scan of hand drawn picture if you like, or a PDF, tiff, word document, etc.) which shows a UML diagram of your design.
1. 1.Based on architectural diagram from assignment 1 describe any design patterns you will use. Provide reason why you are proposing a certain design pattern.
For this phase of the project we will be using the Model View Controller design pattern to ensure modular design so that each component of the program can be designed, tested, and operated independently.
Model: Currency pair data structure.
View: UI class using Win Forms library
CurrencyFrequencyController- This is a global state class that determines how often to inspect the currency data, and then invoke function to receive the latest currency frequency. It drives the program loop. We will use the JSP design pattern.
CurrencyClientInput- This class gets the information from the url by the client input. Is called by CurrencyFrequencyController, and implemented by using command pattern. Is used by a specific object.
XMLParser and ValidateCurrency- This class parses and updates the currency frequency then combined XML data into intervening data structures a command call by CurrencyClientInput. Also includes a ValidateCurrency that updates/validates currency pair state by XMLParser’s data structure.
XMLExtractCompare- This class validate availability of the currency frequency from the Rate Information system within the variety of XML. This will compare the current frequency with the target rate. This then can be verified with the currency information given by the client.
CurrencyInfoDisplay- The currency info display interface is utilized to show the currency details once it has aligned with the client entered currency details and the value returned from the external service. The class uses the command pattern by ValidateCurrency and XMLExtractCompare.
1. Provide class diagrams for each module.
1. Provide sequence diagram for each module.
1. Based on design considerations above provide an architectural design
diagram. (This is not a class diagram. Look for examples online for
software architectural diagram.)