Upload
juan-billings
View
222
Download
4
Tags:
Embed Size (px)
Citation preview
Software Engineering Basics
Software Engineering Learning ProgramTrack 1.1 – SE Foundation
SE Basics v2.0 - 2
Module Objectives
To understand popular Systems Development Lifecycles (SDLCs) and the value they add
To understand the various contexts of SDLC usage
To be familiar with associated Software Engineering (SE) roles
To establish a common understanding
a common foundation
speak the same language
SE Basics v2.0 - 3
Module Topics
What is a Systems Development Lifecycle (SDLC)
Why use an SDLC
The added-value of an SDLC
A high level overview of industry SDLCs historical development advantages and disadvantages per SDLC
Typical roles throughout an SDLC
Positioning Rational Unified Process (RUP)
Positioning ISO/CMM
SE Basics v2.0 - 4
What is an SDLC?
Software Engineering and Information Engineering “Software Engineering is the application of a systematic, disciplined,
quantifiable approach to the development, operation and maintenance of software”. IEEE- 1993
“Information Engineering is the application of an interlocking set of formal techniques for the planning, analysis, design and construction of Information systems on an enterprise wide basis or across a major sector of the enterprise”. James Martin
An approach to Systems Development with an engineering-type rigor
SE Basics v2.0 - 5
Why use an SDLC?
Customer driven quality
Global acceptance
Continuous improvement
Information Systems are the backbone of any company
To deliver information systems of high quality
SE Basics v2.0 - 6
The added-value of an SDLC
repeat
control
predict
improve
deliver
modify
SE Basics v2.0 - 7
The added-value of an SDLC - more
To provide an enterprise-wide framework for the development of software
To provide coordination among separate software projects
To involve end-users significantly in each phase
To help the long-term progress of systems
To match systems development with strategic goals of the project
SE Basics v2.0 - 8
But ... Beware of the Dark Side...
SE Basics v2.0 - 9
A high level overview of industry SDLCs
Waterfall
SDM
LAD
PBS APER
VSAP
SEED
...
Iterative
IAD / RAD
RUP
Select Perspective
Agile Methods DSDM
eXtreme Programming (XP)
It seems that every combination of the alphabet results in a new method name..
SE Basics v2.0 - 10
Feasibility/Definition
Conceptual Design
TechnicalDesign
Implementation
Deployment
Test
Analysis
= Formal deliverables and phased Go/No-Go
‘Throwing it over the Wall’
Waterfall
SE Basics v2.0 - 11
Iterative
SE Basics v2.0 - 12
Increment
Iterations – Refinement of Products
CreateOrder
IntentDescription
IntentDescriptionAlternate Flow
CreateOrder
SE Basics v2.0 - 13
Benefits of Incremental Working
Incremental/Iterative working builds in the ability to respond to change
because of:
growing functionality with each increment
building on firm foundations
providing on time feedback
managing expectations
SE Basics v2.0 - 14
Process Evolution – Where are you?
Structured OO CBD SOA Iterative Waterfall Hacking
SE Basics v2.0 - 15
Typical roles throughout an SDLC
Project Manager
Business Architect
Business Analyst
Systems Analyst
GUI Designer
Software Architect
Systems Designer
Database Designer (DBA)
Developer (Programmer)
Systems Tester
Data Administrator
....
SE Basics v2.0 - 16
What SDLCs are used by CGEY?
LAD
SDM
IAD
RAD
DSDM
RUP APER
RAPID
...
SE Basics v2.0 - 17
Positioning RUP – where does RUP fit in?
Iterative approach
CGE&Y preferred approach for Systems Development
Combination of work by Booch, Rumbaugh and Jacobson
Built on Unified Modeling Language (UML)
SE Basics v2.0 - 18
Why RUP?
Accepted Software Development Process standard common vocabulary & definitions
phases, disciplines, workflow, activities
guidelines and templates
best practices
Clients who ask for it or are interested Ahold, Danzas, Philips, TNT, NS, CBS
ABN-AMRO, OHRA, Vola, Rabobank, etc.
We achieved successes applying RUP faster sales of projects
increased productivity and quality
increasing trust
RUP is the CGEY Global standard (SDP-Deliver/RUP)
SE Basics v2.0 - 19
RUP specifies 9 Disciplines, all spanning all phases during several development -iterations. The height of the wave is an indication of degree of effort for this discipline.
Time
Co
nte
nt
RUP
SE Basics v2.0 - 20
RUP Extensions
CGEY: Deliver Project Management – plug-in
SE Basics v2.0 - 21
DSDM and RUP
DSDM = Method
WHAT (decide yourself on HOW and documentation)
Role description attitude
stakeholders
No tool-support
RUP = Process & Method
Not only WHAT also HOW
Role description knowledge / capabilities or
competences
coupled on activities
Tool support tool guidelines
work guidelines
Templates
Both:
Organization and/or project tested for feasibility
Iterative
SE Basics v2.0 - 22
Positioning ISO and CMM
ISO – International Standards Organization
Quality Management Systems Assurance
over 100 member countries
public and private sectors
ISO IS NOT A DEVELOPMENT APPROACH ITSELF!
CMM – Capability Maturity Model
assesses the quality and maturity of an organization’s development approach and practices
CMM IS NOT A DEVELOPMENT APPROACH ITSELF!
SE Basics v2.0 - 23
ISO Certification
IS0 9000 : 1994 & 2000
Focused on Quality Management Systems Assurance in:
Requirements
Design
Development
Production installation
Servicing
CGEY ADC and sectors addresses ISO through:
Use Cases – RUP
RDWs, JADs, and ASEs
Structured Code Walkthroughs
Documentation and testing
Documentation and Procedures
SE Basics v2.0 - 24
CMM Certification
Capability Maturity Models (CMM) Level 2 & 3 Software Engineering Institute (SEI) , sponsored by Department of Defense
Envisions “The right software, delivered defect free, on time and on cost, every time”
Initial
Repeatable
Defined
Managed
Optimizing
SE Basics v2.0 - 25
“Maturity” of an IT-organization
Initial
Repeat-able
Defined
Managed
OptimizingCMM
•Requirements Management•Software Project Planning•Software Project Tracking & Oversight•(Software Subcontract Management)•Software Quality Assurance•Software Configuration Management
•Organizational Process Focus•Organizational Process Definition•Integrated Software Management•Software Product Engineering•Intergroup Coordination•Training Program•Peer Reviews
•Quantitative Process Management•Software Quality Management
•Defect Prevention•Process Change Management•Technology Change Management
•Ad hoc processes
Key
Pro
cess
Are
as p
er M
atu
rity
Lev
el
SE Basics v2.0 - 26
“Maturity” of an IT-organization – CMM .v. CGE&Y approach
evolution
Initial
Repeat-able
Defined
Managed
OptimizingCMM
Mat
uri
tyInitial
Repeat-able
Defined
Managed
Optimizing
“To Be”
“As Is”
Processes
ITGover-nance
Architec-ture
Deliver Operate Support
Maturity Assessment
Framework (MAF)
SE Basics v2.0 - 27
Summary
Why use a Systems Development Lifecycle (SDLC)
The added-value of an SDLC
A high level overview of industry SDLCs historical development advantages and disadvantages per SDLC
Typical roles throughout an SDLC
Positioning Rational Unified Process (RUP)
Positioning ISO/CMM
SE Basics v2.0 - 28
Questions
Ask me something I know, not something you don’t know.