28
Software Development Lifecycle Justin Conner Matt Unverferth

SDLC lifecycle

Embed Size (px)

Citation preview

Page 1: SDLC lifecycle

Software Development Lifecycle

Justin ConnerMatt Unverferth

Page 2: SDLC lifecycle

Goals for Session

Convey basic information about the Software Development Lifecycle (SDLC)

Identify basic processes and a basic vocabulary regarding (SDLC)

Identify sources for additional information.

2

Page 3: SDLC lifecycle

3

Page 4: SDLC lifecycle

SDLC Process

Develop Requirements Determine Architecture Implement New Code or Changes Test System Functionality Deploy New Functionality

4

Page 5: SDLC lifecycle

Vocabulary - Models

Waterfall (sequential)Requirements, design,

implement, test, integration, and maintenance

Iterative (cyclical)AgileRational Unified Process (RUP)Rapid Application Development)

(RAD) 5

Page 6: SDLC lifecycle

SDLC Examples - Waterfall

6

Page 7: SDLC lifecycle

SDLC Examples – Unified Process

7

Page 8: SDLC lifecycle

SDLC Examples - Agile

8

Page 9: SDLC lifecycle

Use Case Example

9

Page 10: SDLC lifecycle

Requirements (In a nutshell)

10

Page 11: SDLC lifecycle

Develop Requirements Complete Consistent Prioritized Structured Traceable

11

Page 12: SDLC lifecycle

Determine Architecture

Department of Defense Architecture Framework (DODAF) – standard way to organize an enterprise architecture into a complimentary and consistent view.

Zachman Framework – formal and highly structured way of defining an enterprise.

Federal Enterprise Architecture – common methodology for IT within government.

12

Page 13: SDLC lifecycle

DODAF

13

Page 14: SDLC lifecycle

Zachman Framework

14

Page 15: SDLC lifecycle

Federal Enterprise Architecture

15

Page 16: SDLC lifecycle

Sample System Architecture

16

Page 17: SDLC lifecycle

Implement New Code or Changes Computer Programming – process of writing code. Source Code – sequence of statements or declarations

written in a programming language. Programming Language – artificial language used to control

the behavior of a machine. Python Java

17

Page 18: SDLC lifecycle

Test System Functionality Testing Traceability Matrix – mapping the requirements to the

test cases. Test scripts – scenarios designed to test a system. Regression Testing – ensuring that adding new functionality

did not result in “breaking” what worked before. User Acceptance Testing – the process of testing with

functional users. Integration Testing – the process of testing new functionality

18

Page 19: SDLC lifecycle

Requirements Flow through to Testing

19

Page 20: SDLC lifecycle

Requirements Traceability to Test

20

Page 21: SDLC lifecycle

User Acceptance Test Cases

21

Identified in BRD

Test Area Scenario Date Tested

Notes

Award Classification Testing

Test for generation of single honours qualification (all possible classifications according to the weighting for the award).

  Schools to run tests for production of classifications for all the scenarios they have.

  Test for generation of combined honours in two disciplines qualification (all possible classifications according to the weighting for the award).

  Schools to run tests for production of classifications for all the scenarios they have.

  Test for group honours qualification generation (all possible classifications according to the weighting for the award).

  Schools to run tests for production of classifications for all the scenarios they have.

  Test for Integrated Masters with honours qualification (all possible classifications according to the weighting for the award).

  Schools to run tests for production of classifications for all the scenarios they have.

Page 22: SDLC lifecycle

Vocabulary – Supporting DisciplinesConfiguration Management – revision

control.Documentation – written text that accompanies

computer software.Software Quality Assurance – monitor

software engineering process usually via audits.Project Management – discipline of organizing

and managing resources so that projects have a defined scope, quality, time and costs constraints.

User Experience Design – designing to a users satisfaction.

22

Page 23: SDLC lifecycle

Vocabulary - Standards

ISO 12207 – lifecycle for software. CMM or CMMI – capability maturity model

integration. ISO 9000 – quality management systems. ISO 15504 (SPICE) – software process

improvement and capability determination. Six Sigma (manufacturing-oriented) – practices

to systematically improve processes.

23

Page 24: SDLC lifecycle

Additional Information

Do a google search on SDLC – you will find Software Development Lifecycle and System Development Lifecycle. Both define process methods.

Visit Wikipedia and search on SDLC

24

Page 25: SDLC lifecycle

Suggested Questions

Hey<name>, for the 2008-2009 AY, do we need to develop or adjust our standard templates for requirements gathering so that we improve our SDLC process?

25

Page 26: SDLC lifecycle

Suggested Questions

Hey<name>, do we practice a waterfall or iterative process for our SDCL? Or do we use both processes depending on the expected changes?

26

Page 27: SDLC lifecycle

Suggested Questions

Hey<name>, I know that you’re going to need FAO input for the 2008-2009 changes. Can we get together to develop a project plan? I want to make sure that you have the resources you need for requirements gathering and testing.

27

Page 28: SDLC lifecycle

Contact InformationWe appreciate your feedback and

comments. We can be reached at:

Holly Hyland Phone: 202.377.3710 Email: [email protected] McMahon Phone: 202.377.3124 Email: [email protected]

28