Coder Social home page Coder Social logo

cs3733-c21-team-u / cs3733-c21-team-u-project-bwapp Goto Github PK

View Code? Open in Web Editor NEW
4.0 6.0 2.0 54.4 MB

A JavaFX application for use by Brigham and Women's patients and staff created for WPI's CS3733 (Software Engineering)

Java 97.45% CSS 2.55%
javafx software-engineering wpi java-8 twillio-api controlsfx google-maps-api jfeonix scenebuilder pretty-time

cs3733-c21-team-u-project-bwapp's People

Contributors

beast-nev avatar cvkittler avatar gearymich avatar kohmeik avatar lilydurkin avatar nicklesscs avatar olajac avatar oliveoil301 avatar tasanderv avatar tasanderville avatar wgburke310 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cs3733-c21-team-u-project-bwapp's Issues

User stories for the minimal application

Size the user stories, prioritize them, and place them in the sprint backlog. Create a product backlog that contains the remaining prioritized epics and user stories that will not be implemented in sprint 1.

brainstorm application features

  1. Use Zoom, and Google Docs or Miro (miro.com – sticky notes with real time collaboration), to brainstorm online as a team to come up with a set of application features (refer to the PowerPoint slides on how to conduct a brainstorming session!). Do not forget to include enhancements to the pathfinding, map building, and service request components. Given what is currently taking place, see if you can brainstorm some ideas that take into account the current COVID-19 pandemic.

List of high-level functional requirements

With guidance from your survey results and interviews, determine as best as possible the application features that your team would like to implement by the end of the term

Object Model

Class Diagrams with class association for minimal application. " Object model – control and entity classes. Use rectangles to represent JavaFX scenes. The class diagram should include class associations, methods, and attributes."

Let's do Scrum!

1. Getting Started

  • Define your first Scrum Team
  • Define your Sprint length
  • Appoint a Scrum Master
  • Appoint the Product Owner
  • Create the Initial Product Backlog and #13

2. First Sprint Planning Meeting

  • Define a sprint goal
  • Move stories from your Product Backlog to Sprint (Add / update T-shirt sizing and prioritize tasks)
  • Assign teams to stories
  • Set Dependencies between tasks
  • Setup Burn-down chart to track velocity

3. First Daily Scrum

  • Have everyone answer the following questions:
    • What have I done since the last meeting?
    • What do I plan to complete before the next meeting
    • What problems am I likely to face?
    • Update Scrum Board
  • Discuss inter-team task dependencies
  • Show burn-down chart to see if deadline will be met

4. First Sprint Retrospective

  • Have each team member identify specific things that the team should:
    • Start doing
    • Stop doing
    • Continue doing
  • Refine / Vote on the improvement ideas generated and apply them to the next sprint

WARNING! Even though Scrum is simple to understand, it is difficult to master. Some people on the team will love it and some people will hate it. This is perfectly normal and you should encourage people on the team to give it a proper try before they give up. If an individual ends up giving up, then remove them from the team and let another one step in. This also means that the person that is taken off the team no longer should work on the project.

Remember that Scrum projects tend to be hard to predict, from timelines to budgets. Without a concrete plan and complete requirement set, everything remains a bit vague. So much so that agile projects can easily go off the rails when project managers are unsure about the outcomes they want to achieve.
(https://www.forecast.app/blog/implementation-of-scrum-7-steps)

Design Document

a copy of the Requirements, Analysis and Design Document below, in Word or PDF format

Summary and discussion of interview results

For entire application, not just the minimal application

Submission:
(optional) a copy of a spreadsheet containing the survey responses if this is not already included in an Appendix in the above document

Write a Depth First Search

Write a depth-first search algorithm and test it on a very simple map with nodes and edges that you create yourselves.

Submit:
The A* algorithm IntelliJ project along with your simple map. You do not need to submit the depth-first search pathfinding program.

  • Write the Depth First Search algorithm
  • Test DFS on the Simple Map

map - create the floor plan CSV file

Instructions on the creation of your floor map CSV file (use Excel). For this assignment you will create a CSV file of just the parking spots to entrances on the Campus map of Brigham & Women’s Faulkner Hospital. There are 18 parking spots in the garage on the left side of the map and 12 parking spots north of the Atrium entrance. The two entrances are the main Atrium entrance and the Emergency entrance.

Check: Assignments -> Project Part B -> Floor Map Data Entry Instructions

Functional Model

This is for the Final Hospital App NOT the 3 Porotype Programs

Create a functional model as a team, rather than divvying up each part to individuals, for the following iteration 1

The functional model should include scenarios, epics, user story cards, initial user story conversations, use case diagrams and textual use cases, and UI mockups that are created using Adobe XD or Scene Builder. Use t-shirt sizing and then poker sizing to assign a sizing number for your user stories. Begin poker sizing with the smallest t-shirt sizes first. Storyboards are optional. However, include storyboards in your submission if you created them. Remember to ask for feedback from the quieter members of the team by giving them time to think before asking them for their input.

  1. using the A* algorithm, draws a path on the campus map of Hospital from a starting location (static) to a destination specified by the user. The starting and ending locations are the 30 parking spots on the map and the entrances. Do not create the paths for inside the building. You do not need to draw a path across more than one map.
  2. includes a floor map editor for managing (add, edit, and delete) nodes, edges, and locations on a floor map.
  3. includes two service request components. See Project Description for some possibilities.
  4. create the nodes CSV file and edges CSV file for just the campus map of Brigham & Women’s Faulkner Hospital. See attached CS3733-C21 Map Data Instructions document. CSV template files are located in the Faulkner D20 Team P zip file.
  • Scenarios (DB)
  • Epics (DB)
  • User Stories (NOT #14)
  • Initial User Stories Conversation (Algo)
  • Use Case Diagram (UI)
  • Textual Use Case (Algo - UI)
  • UI Mockup (UI)
  • Poker sizing
  • (Optional) storyboards

Create your own JavaFX page

Have one of the lead or assistant lead engineers create the initial JavaFX app, Xapp.java where X is your team letter, using the emptyproject which will load a default page when the JavaFX program starts. Everyone who is not working on the database or A* should create their own JavaFX page with several UI components on it – labels, checkboxes, etc. Each person will create a button on the default page that will switch to their own page. And on their own page, they should create a button that switches to the default page. Do not worry about making the other UI components do anything in this prototype. This is a good time to get everyone working with GitHub. When you finish creating the application, generate the JAR file. You may need the assistance of your team coach if you encounter problems.

  • Kohmei's Page
  • Kaamil's Page
  • Lily's Page
  • Tyler's Page
  • Create Jar File

A star

Then begin writing the A* algorithm. Although you do not need to complete the A* algorithm in project B, you should get at least part of the algorithm working so you can run it against your map.

Submission: The A* algorithm IntelliJ project along with your simple map. You do not need to submit the depth-first search pathfinding program.

  • Overlay
  • Heuristic

Database CLI

Implement code behind producing output of museums and command line argument parsing

The program always runs by first creating an embedded (client-server will be later) Apache Derby database with a table that contains information on 5 museums and a second table that contains 20 paintings that can be found in those 5 museums. Each table should have at least 4 attributes. The Java JDBC program will permit a user to access, modify, and display the tables in the database. The program will always take two parameters, e.g., username and password to connect to the database. (Pass them as parameters so I can easily set them as needed without recompilation).

  • Create DB containing 20 paintings in 5 museums
  • Authentication (User/pass as parameters)
  • (1) displays the list of museums along with their attributes
  • (2) displays the name of each museum followed by the paintings (with their attributes)
  • (3) Update Museum Phone Number
  • (4) Exit Program
  • Generate Jar file

make the depth-first search

Write a depth-first search algorithm and test it on a very simple map with nodes and edges that you create yourselves.

Submit:
The A* algorithm IntelliJ project along with your simple map. You do not need to submit the depth-first search pathfinding program.

  • Write the Depth First Search algorithm
  • Test DFS on the Simple Map

Entity Diagram

ERD – database entity-relationship diagram. Just for the minimal application

Dynamic Model (Activity / Sequence Diagram)

Dynamic model

  • sequence diagrams just for the path finding component. Nick
  • activity diagrams diagrams just for the path finding component. Lily
  • Some teams do a state chart diagram for screen switches. Kohmei

Word Doc with Team info

  • Cover page

    1. CS3733-C21 Prof. Wong
    2. Team name
    3. Your team coach.
    4. List each person, their position, and their GitHub account name. Note: these roles are only until the end of the first development sprint.
    5. GitHub link to your organization. Make sure repositories are viewable to me and to your team coach!
  • List all software, project, and communication tools that the team plans to use.

  • List of user stories for the 3 prototype programs and who worked on them. #14

  • The functional model for the minimal application. UI mockups are to be pasted as images into the document. #13

  • Requirements Gathering. Results of your brainstorming, interview protocol (questions and user types), and survey. #10 #5

  • Mention what you did this past week as a team to promote a healthy and congenial team culture.

  • deliverable salary of $30.00 WPI dollars

  • Acknowledge significant contributions by your team members in a personal manner

  • Review all work and requirements!

Everything we need to submit for Project B

The 3 Main Programs

  • The Xdb JAR file and IntelliJ project #3 [DB Prototype (access museum DB)]
  • The A * algorithm IntelliJ project along with your simple map #12 #9 #4 [A*/DFS Program]
  • Xapp JAR file #11 [UI Prototype (switch between pages)]

Non-Code things

  • Floor map CSV files #18
  • A single Word Doc (using the Project B upload button) #15

Prototype Application

  • Write a JavaFX program that demonstrates reading your CSV files from Project B and creating an embedded database table from it
  • In a second window, do the same thing for MapXEdges.csv
  • create Java classes that simplify the operations on a record and on a record’s field
  • Permit the user to load or save node and edge csv files
  • In another window, demonstrate a simple A* pathfinding program with either the simple map that you created in Project B or the campus floor map that you created
  • Generate a JAR file

Survey and Interview Protocol

Create a survey of potential patient/visitor pathfinding and service request enhancements and send them to potential users – fellow students, family, friends, etc. Do not specify Brigham & Women’s Hospital. Instead, state that the survey is about features that they may want if they were visiting a hospital. Do not survey map building features because locating people with this background will be difficult. Have a question at the beginning of the survey asking if the participant is under 18 years old. If so, the survey should immediately end and thank the participant.

Please do not survey or interview health care professionals this term because most of them are too busy dealing with the pandemic to be distracted from their work. The only exception would be family members who are not working in hospitals and are eager to participate in your team project.

Create a survey of potential patient/visitor pathfinding and service request enhancements and send them to potential users – fellow students, family, friends, etc. Do not specify Brigham & Women’s Hospital. Instead, state that the survey is about features that they may want if they were visiting a hospital. Do not survey map building features because locating people with this background will be difficult. Have a question at the beginning of the survey asking if the participant is under 18 years old. If so, the survey should immediately end and thank the participant.
Present your survey questions. You will submit your survey results and findings including tables/charts in the next project submission, Project Part C.
Include your interview protocol (see Requirements Gathering PowerPoint slides). By Project Part C, you will need to have interviewed individuals on what they might want to have in a hospital pathfinding and service request application and how they would want to use it. Make it clear to them that this will be a combination of a desktop application and possibly a mobile app (JavaFX can be recompiled to run on an Android phone). No one under 18 years is to be interviewed.

Task Template

Optional description can be written here if needed

  • Subtask 1
  • Subtask 2

simple Node-Edge Map for DFS Testing

Write a depth-first search algorithm and test it on a very simple map with nodes and edges that you create yourselves.

Submit:
The A* algorithm IntelliJ project along with your simple map. You do not need to submit the depth-first search pathfinding program.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.