software development a proposed process and methodology

15
Software Development A Proposed Process and Methodology

Upload: cory-boyd

Post on 13-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Development A Proposed Process and Methodology

Software Development

A Proposed Process and Methodology

Page 2: Software Development A Proposed Process and Methodology

Overview

Page 3: Software Development A Proposed Process and Methodology

Requirements

A requirement identifies a capability, characteristic, or quality that an application must provide. Each requirement should be traceable, attainable, and unambiguous.

Ask: • What is the overall scope and goal? • What tasks the users want to use the software to do?• What are the key features and functions?

Identify the requirements needed to propose a solution

Requirements document

Page 4: Software Development A Proposed Process and Methodology

Design by Feature

Design the application as a set of features

Feature Set Document, Design Model

Page 5: Software Development A Proposed Process and Methodology

Design by Feature

• A feature set is a collection of small blocks of client-valued functionality• Each feature is trackable, measurable and doable with a single iteration

A feature set is composed of features

Page 6: Software Development A Proposed Process and Methodology

Design by Feature

Procedure:

• Analyze Requirement• Partition requirement into Features• Identify Features

Page 7: Software Development A Proposed Process and Methodology

Design By Feature

Example:

Feature set: Making a product sale to a customerMajor Feature: Product-sale management

Features:1. Calculate the total of a sale.2. Assess the fulfillment timeliness for a sale.3. Calculate the total purchases by a customer.4. Calculate the tax for a sale.5. Assess the current preferences of a customer.

Page 8: Software Development A Proposed Process and Methodology

Design By Feature

1. For each Feature Set, produce Use Case Diagrams2. For each Use Case Diagram, produce Class diagram3. Where needed for clarity, produce Activity and Sequence Diagrams4. Diagrams “just good enough”5. Review diagrams with Team Members

Page 9: Software Development A Proposed Process and Methodology

Implementation

• 2 week iterations

• Build by feature using design model diagrams

• Develop unit test for each feature

• Brief code review with another developer or team members

• Check into source control

Implement the solution specified in the Design Model.

Unit Tests, fully tested and working application that fulfills the requirements.

Page 10: Software Development A Proposed Process and Methodology

Operational Testing

Insure the application meets the user’s requirements

A verifiable application

• Formal testing conducted by user to determine whether the application meets the requirements

• User determines whether to accept the application

• Defects tracked and prioritized

Page 11: Software Development A Proposed Process and Methodology

Deployment

• Produce Component Diagrams that depict the distributable components of the application.

• Produce Deployment Diagrams that depict the structure of the configuration of the hardware and software components that make up the run-time system.

Describe the run-time environment

Component Diagrams, Deployment Diagrams

Page 12: Software Development A Proposed Process and Methodology

Software Development

Appendix

Page 13: Software Development A Proposed Process and Methodology

Appendix

The application transitions through various operational states.

Page 14: Software Development A Proposed Process and Methodology

Appendix

Workstation Development Reference Model OperationalTesting

Production

Developers code the feature and run unit tests on their workstations. When satisfied with the results the code is checked into the source code repository.

An automated build script retrieves the source code, builds it, installs it and executes the Test Suite and regression tests.

Provides the reference standard to insure ITE compatibility. Demo server.

User acceptance testing. Mirrors the production environment where appropriate.

Golden Code !!

Page 15: Software Development A Proposed Process and Methodology

Appendix

After the feature is checked into the source code repository, the entire application is tested to ensure the features integrate correctly.

An automated build script:1. Gets the source code2. Builds the application3. Installs the application 4. Executes the Test Suite5. Executes regression testing

A pass/fail report is emailed to the project leader.