Presentation on theme: "Software Engineering Basics Software Engineering Learning Program Track 1.1 – SE Foundation."— Presentation transcript:
Software Engineering Basics Software Engineering Learning Program Track 1.1 – SE Foundation
SE Basics v 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 v 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 v 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 “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 v 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 v The added-value of an SDLC repeat control predict improve deliver modify
SE Basics v 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 v But... Beware of the Dark Side...
SE Basics v 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 v Feasibility/ Definition Conceptual Design Technical Design Implementation Deployment Test Analysis = Formal deliverables and phased Go/No-Go ‘ Throwing it over the Wall’ Waterfall
SE Basics v Iterative
SE Basics v Increment Iterations – Refinement of Products Create Order Intent Description Intent Description Alternate Flow Create Order
SE Basics v 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 v Process Evolution – Where are you? Structured OO CBD SOAIterative Waterfall Hacking
SE Basics v 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 v What SDLCs are used by CGEY? LAD SDM IAD RAD DSDM RUP APER RAPID ...
SE Basics v 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 v 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 v 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 Content RUP
SE Basics v RUP Extensions CGEY: Deliver Project Management – plug-in
SE Basics v 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 v 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 v ISO Certification IS : 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 v 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 v “Maturity” of an IT-organization Initial Repeat- able Defined Managed Optimizing CMM 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 Process Areas per Maturity Level
SE Basics v “Maturity” of an IT-organization – CMM.v. CGE&Y approach evolution Initial Repeat- able Defined Managed Optimizing CMM Maturity Initial Repeat -able Defined Managed Optimizing “To Be” “As Is” Processes IT Gover- nance Architec- ture Deliver Operate Support Maturity Assessment Framework (MAF)
SE Basics v 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 v Questions Ask me something I know, not something you don’t know.