Assignment #11

  1. Send me your documents (files) electronically comprising your project, in 2 versions, one with names and one without:
    1. You can email me a compressed file (e.g. 7zip) or share via Google drive or via git or bitbucket (version control software), or you can send me the URL of your source code reposity, or URL of a website (e.g. on panther, Google sites) that has your documentation.
    2. With the exception of the critical self-reflection document (emailed to me individually), the rest of the documents are a group submission (one submission per group).
  2. Please name each file descriptively (e.g. Requirements, UserManual, etc) and use appropriate headings within each file:
    1. Assignments 1-10, which includes your project proposal, initial requirements, sprint plans (with test plans for each sprint...), progress reports (with outcomes of tests...), abstract and product flyer.
      • Add a column for actual and/or estimated time worked to the product backlog which has: Requirement ID, sprint/milestone scheduled, priority (Must, Should, Could, Won't), and current status (as in hw2 template).
      • Requirements specification (answers the question "what"), including functional and non-functional requirements, and updates (e.g. you updated statuses of milestones following sprints).
      • User manual (what does the user need to know to use your system, step-by-step, with screen shots). Are there any programs other than yours that need to be installed, and configured? Your audience for this document is a non-technical user.
      • Technology choices (hardware and software) and tools for program development (design, implementation, testing, version control, etc), with rationales for decisions. If a decision was informed by experimentation or by scholarly research, describe your experiment or research.
      • Design (answers the question "how" will your system satisfy its requirements):
        • How your program's components fit together
        • ER / UML diagrams
        • Discussion of issues, and evaluation of alternative solutions, i.e. rationale for your design decisions. If a decision was informed by experimentation or by scholarly research, describe your experiment or research.
        • Outline how to maintain your source code; you may do this by discussing how you designed for ease of maintainance (e.g. abstract data types, method decomposition, separation of model and view). `
        • Include any special configuration settings within your software that you used (e.g. an interface that has constants representing different settings/choices).
      • Implementation (the code itself, documented e.g. javadoc, preconditions and postconditions)
      • Testing
        • Test plan (describe how you are going to test your system: unit tests, integration tests, acceptance tests ; include both expected and alternate scenarios)
        • Test results (what were the results when you executed each of the tests in your test plan?)
      • Development log or consistent use of change management tool e.g. Bitbucket or github (regarding the software development (above steps), what was done when and by whom? When did you make changes, e.g. new features and bug fixes?)
      • One-page flyer, which should include the title, the project team members (one version with and one without), list of features, and a brief pitch. The picture can be a screenshot(s). Feel free to be as artistic as you like.
    2. If you created presentation slides (e.g. Powerpoint file), include this.
    3. References (e.g. course materials, textbooks, reliable online sources, tutorials and/or other sources that you referred to during the entire process of working on your project)