Session # 49

Software Development Lifecycle for Business People Holly Hyland Jim McMahon

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

History of this Session
• This session suggestion came from IT professionals at last years Conference. In the same way that we offer Financial Aid 101 for IT staff, they wanted a session on SDLC for business people – to enhance education and communication.

3

4

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

5

Vocabulary - Models
• Waterfall (sequential) –Requirements, design, implement, test, integration, and maintenance • Iterative (cyclical) –Agile –Rational Unified Process (RUP) –Rapid Application Development) (RAD)
6

SDLC Examples - Waterfall

7

SDLC Examples – Unified Process

8

SDLC Examples - Agile

9

Use Case Example

10

Requirements

11

Develop Requirements
• Complete • Consistent • Prioritized • Structured • Traceable

12

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. common methodology for IT within government.

• Federal Enterprise Architecture –

13

DODAF

14

Zachman Framework

15

Federal Enterprise Architecture

16

Sample System Architecture

17

Implement New Code or Changes
• Computer Programming –
writing code. process of

• Source Code –

sequence of statements or declarations written in a programming language. artificial language used to control the behavior of a machine.

• Programming Language – –Cobol –Java

18

Test System Functionality
• Testing Traceability Matrix – • Test scripts –
system. mapping the requirements to the test cases. scenarios designed to test a

• Regression Testing –

• User Acceptance Testing – • Integration Testing –
testing new functionality process of testing with functional users.

ensuring that adding new functionality did not result in “breaking” what worked before. the

the process of

19

Requirements Flow through to Testing

20

Requirements Traceability to Test

21

User Acceptance Test Cases
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). Test for generation of combined honours in two disciplines qualification (all possible classifications according to the weighting for the award). Test for group honours qualification generation (all possible classifications according to the weighting for the award). 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.

 

 

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

 

 

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

 

 

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

22

Vocabulary – Supporting Disciplines
• Configuration Management –
control. revision

• Documentation –
computer software.

written text that accompanies monitor

• Software Quality Assurance –
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. designing to a users satisfaction.

• User Experience Design –

23

Vocabulary - Standards
• ISO 12207 – lifecycle for software. • CMM or CMMI – capability maturity model • ISO 9000 – quality management systems. • ISO 15504 (SPICE) – software process • Six Sigma (manufacturingoriented) – practices to systematically improve
processes. improvement and capability determination. integration.

24

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

25

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?

26

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?

27

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.

28

Contact Information
We appreciate your feedback and comments. We can be reached at:
Holly Hyland • Phone: 202.377.3710 • Email: Holly.Hyland@ed.gov Jim McMahon • Phone: 202.377.3124 • Email: James.McMahon@ed.gov

29