session # 49
DESCRIPTION
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) - PowerPoint PPT PresentationTRANSCRIPT
Session # 49
Software Development Lifecycle for Business
People
Holly HylandJim McMahon
2
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.
3
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.
4
5
SDLC Process• Develop Requirements • Determine Architecture• Implement New Code or
Changes• Test System Functionality• Deploy New Functionality
6
Vocabulary - Models• Waterfall (sequential)
– Requirements, design, implement, test, integration, and maintenance
• Iterative (cyclical)– Agile– Rational Unified Process (RUP)– Rapid Application Development)
(RAD)
7
SDLC Examples - Waterfall
8
SDLC Examples – Unified Process
9
SDLC Examples - Agile
10
Use Case Example
11
Requirements
12
Develop Requirements• Complete• Consistent• Prioritized• Structured• Traceable
13
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.
14
DODAF
15
Zachman Framework
16
Federal Enterprise Architecture
17
Sample System Architecture
18
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.–Cobol– Java
19
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
20
Requirements Flow through to Testing
21
Requirements Traceability to Test
22
User Acceptance Test CasesIdentified 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.
23
Vocabulary – Supporting Disciplines
• Configuration 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.
24
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.
25
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
26
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?
27
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?
28
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.
29
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]