280 likes | 401 Views
Software Engineering Learning Program Track 1.1 – SE Foundation. Software Engineering Basics. Module Objectives. To understand popular Systems Development Lifecycles (SDLCs) and the value they add To understand the various contexts of SDLC usage
E N D
Software Engineering Learning ProgramTrack 1.1 – SE Foundation Software Engineering Basics
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 - 2
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 - 3
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 - 4
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 - 5
The added-value of an SDLC deliver improve control modify repeat predict SE Basics v2.0 - 6
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 - 7
But ... Beware of the Dark Side... SE Basics v2.0 - 8
Waterfall SDM LAD PBS APER VSAP SEED ... Iterative IAD / RAD RUP Select Perspective Agile Methods DSDM eXtreme Programming (XP) A high level overview of industry SDLCs It seems that every combination of the alphabet results in a new method name.. SE Basics v2.0 - 9
Waterfall ‘Throwing it over the Wall’ Feasibility/ Definition Analysis Conceptual Design Technical Design Implementation Test Deployment • = Formal deliverables and phased Go/No-Go SE Basics v2.0 - 10
Iterative SE Basics v2.0 - 11
Iterations – Refinement of Products Intent Description Intent Description Alternate Flow Create Order Create Order Increment SE Basics v2.0 - 12
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 - 13
Process Evolution – Where are you? Structured OO CBD SOA Iterative Waterfall Hacking SE Basics v2.0 - 14
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 - 15
What SDLCs are used by CGEY? • LAD • SDM • IAD • RAD • DSDM • RUP • APER • RAPID • ... SE Basics v2.0 - 16
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 - 17
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 - 18
Time Content RUP RUP specifies 9Disciplines, all spanning all phases during several development -iterations. The height of the wave is an indication of degree of effort for this discipline. SE Basics v2.0 - 19
CGEY: Deliver Project Management – plug-in RUP Extensions SE Basics v2.0 - 20
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 DSDM and RUP Both: • Organization and/or project tested for feasibility • Iterative SE Basics v2.0 - 21
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 - 22
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 ISO Certification SE Basics v2.0 - 23
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” Optimizing Managed Defined Repeatable Initial CMM Certification SE Basics v2.0 - 24
Optimizing Managed Defined Repeat- able Initial “Maturity” of an IT-organization • Defect Prevention • Process Change Management • Technology Change Management CMM • Quantitative Process Management • Software Quality Management • Organizational Process Focus • Organizational Process Definition • Integrated Software Management • Software Product Engineering • Intergroup Coordination • Training Program • Peer Reviews Key Process Areas per Maturity Level • Requirements Management • Software Project Planning • Software Project Tracking & Oversight • (Software Subcontract Management) • Software Quality Assurance • Software Configuration Management • Ad hoc processes SE Basics v2.0 - 25
Maturity Assessment Framework (MAF) Optimizing Optimizing CMM Managed Managed Maturity Defined “To Be” Defined Repeat -able “As Is” Repeat- able evolution IT Gover- nance Operate Architec- ture Deliver Support Initial Initial Processes “Maturity” of an IT-organization – CMM .v. CGE&Y approach SE Basics v2.0 - 26
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 - 27
Questions Ask me something I know, not something you don’t know. SE Basics v2.0 - 28