Phase 1
Assignment
For the assignments in this course, your team will not be implementing the actual development project, but rather, you will be developing a comprehensive software development plan document. Your team's first task in this process will be to select a project to use as the basis of your plan. You will also create the shell document for the final project deliverable that you will be working on during each unit. As your team proceeds through each project week, you will individually and collectively add content to each section of the final document to gradually complete the final project delivery. Appropriate research should be conducted to support the analysis in your teams plan, and assumptions may be made when necessary.
Note: To be clear, each individual will be creating a software development plan in fulfillment of the individual project assignments, and the team will also create a software development plan in fulfillment of the group project due at the end of the course.
Individual Project Deliverables
Software development plan document shell
- Use Word
- Title page
- Course number and name
- Project name
- Student name
- Date
- Table of contents
- Auto-generated TOC
- Separate page
- Maximum of 3 levels deep
- Fields of TOC should be up-to-date before submitting
- Section headings (create each heading on a new page with TBD as content, except for sections listed under new content below)
- Project Outline
- Development Methodology
- Requirements
- Design
- Development and Testing
- Project Schedule
- Risk Analysis
New content
- Project Outline
- Brief description of the project
- List of major issues to consider in the development of the application
- Material taken from approved proposal submitted to instructor
- Project must be approved by instructor
- Development Methodology
- Describe methodology that will be used for software development
- Include justification of selected methodology and why it suits project well
Phase 2
The following are the project deliverables:
Update the software development plan document title page with a new date and project name.
Update the previously completed sections based on your instructor's feedback.
Add the following new content:
- Requirements:
- Describe the approach that you will take to gather the requirements for the project.
- Work through the steps in your requirements gathering process, and define the requirements for your project. Be sure to provide a sufficient number of high-level requirements (at least 10) to allow design of the application to proceed.
- Describe the requirements elicitation process used and whether each requirement is functional or nonfunctional.
- Requirements should be stated in measurable terms. At a minimum, the requirements should each include a description, rationale, measurement criterion, and priority.
- Include an analysis of your requirements to ensure that the most important requirements are included, and summarize your conclusions.
- Design:
- Describe the overall architecture of your application.
- Identify each of the major components of the application, and describe how they will work together. A component diagram should be used to illustrate the architecture, and a UML class diagram should be provided to show the class hierarchy and relationships for the application.
- Provide at least 1 use case for each component to demonstrate how the component will be used in the application.
- Prepare a visual design for the main screen of your application.
- Address any data management requirements in your design.
Be sure to update your table of contents before submission.
Phase 3
The following are the project deliverables:
Update the software development plan document title page with a new date and project name.
Update the previously completed sections based on your instructor's feedback.
Add the following new content:
- Development:
- Summarize the development methodology to be used during the coding phase of the project.
- Identify at least 3 key processes that you will use to drive the project during coding (e.g., identification and tracking of milestones using an Agile process).
- Describe how the process works, the documentation required to track the process, and the approvals required during execution of the process.
- Testing:
- Identify the key phases of the project that will be subject to testing and the type of testing to be used during that phase.
- Write at least 3 test cases for the project. Each test case should address the testing requirements in each of the major phases of the project (design, development, and release).
- Each test case should address 1 of the major requirements or 1 of the major components of the application.
- The test cases should identify the test process and the expected outcome for the test. Additional information required in each test case is purpose, prerequisites, any test data with values used, and the steps required to complete the test.
- Be sure to update your table of contents before submission.
Phase 4
The following are the project deliverables:
Update the software development plan document title page with a new date and project name.
Update the previously completed sections based on your instructor's feedback.
Add the following new content:
- Project Schedule:
- Identify each of the major milestones for the project, including the requirements, design, development, and testing phases. Note that no task should be longer than 1 week in duration, so if you have longer tasks, divide them into multiple, shorter tasks in an appropriate work breakdown structure (WBS).
- Within each milestone, identify the tasks and their duration, the required resources to complete the tasks, and the major deliverables for the milestone (i.e., identify how you will determine if the milestone is complete).
- Prepare a timeline for the project using the information above. The timeline should account for prerequisites and should also identify the major milestones. Include a Gantt chart and a network flow diagram showing the critical path for the project.
- Discuss any float built into the project, and justify your reasoning.
- Define how the project tasks will be tracked and how completion of tasks will be verified.
Be sure to update your table of contents before submission.