85
กกกกกกกกก กกกก กกกกกกกกก (Software Process) 1

กระบวนการผลิตซอฟต์แวร์ ( Software Process)

  • Upload
    taran

  • View
    159

  • Download
    21

Embed Size (px)

DESCRIPTION

กระบวนการผลิตซอฟต์แวร์ ( Software Process). SDLC (Software Development Life Cycle). - PowerPoint PPT Presentation

Citation preview

(Software Process)

(Software Process)1SDLC (Software Development Life Cycle) ( Logical Process) ( Phase ) ( Planning Phase) ( Analysis Phase) ( Design Phase) ( Implementation Phase ) ( Steps )

2 SDLCWaterfallV-ShapedSpiralIncrementAgile

3Waterfall model

SDLC Waterfall

4Waterfall modelWaterfall Model Waterfall Model Product Product

5 Waterfall , Milestones Sets requirements stability ( user ) (plan, staff, track)

(Milestone) (output)

Waterfall Module

Waterfall Model User User platform platform

Adapted Waterfall model

SDLC Adapted Waterfall waterfall 9V-Shaped model Model (verification) (validation) Software

10V-Shaped model11Project and Requirements Planning

Product Requirements and Specification Analysis spec Software

Architecture or High-Level Design Software

Detailed Design

Production, operation and maintenance System and acceptance testing Software

Integration and Testing Module

Unit testing module

Coding Algorithm Software

V-Shaped model Verification Validation 12 V-Shaped Model Requirement (Risk Management)13 V-shaped Model (high reliability) (hospital patient control applications) Requirement 14Spiral model

15Spiral model spiral 3 6 16Spiral model17Spiral model18Spiral model 19Spiral model model (risk-driven) Prototype product product

20Iterative and Incremental ModelRequirement1SASDImpOpIteration1Built1Requirement2SASDImpOpIteration2Built1Built2Requirement3SASDImpOpIteration3Built1Built2Built321Iterative and Incremental Model SDLC () ()

22Agile ProcessAgile Agile Process Agile RAD (Rapid Application Development) .. 1970 .. 1990 Agile Method

23Agile ProcessAgile 4 [Agile Alliance 2001]1. 2. 3. 4.

24Agile ProcessAgile XP ASD Scrum DSDM Crystal FDD AM

25Extreme Programming (XP) Kent Beck .. 1999 Iteration and Incremental 4 26Extreme Programming (XP)27(Planning)(Design)(Coding)(Testing)ReleaseSoftware IncrementUser StoryIteration PlanSimple DesignSpike Solution : PrototypeUnit TestContinuous integrationAcceptance TestPair ProgrammingUnit TestContinuous Integrations

Adaptive Software Development (ASD)- Jim Highsmith

28

Adaptive Software Development (ASD)29SpeculationCollaborationLearningReleaseAdaptive cycle planningMission statementProject constraintsBasic requirementsTime-boxed release planRequirements gatheringJADMini-specsComponents implemented/testedFocus groups for feedback Formal technical reviews postmortems Software increment adjustments for subsequent cycles

Adaptive Software Development (ASD) (Speculation) (release) (Collaboration) Agile

30

Adaptive Software Development (ASD) (Collaboration)

31

Adaptive Software Development (ASD) (Learning) 3 (Focus Groups) / (Formal Technical Review) (Postmortems)

32ScrumScrum Jeff Sutherland 1990 Schwaber Beedle

33Scrum Scrum

34Scrum Scrum (Sprint) Scrum (Software process pattern)

35Dynamic System Development Method (DSDM)DSDM DSDM => 80% 20% DSDM 80%

36Dynamic System Development Method (DSDM) DSDM (Feasibility Study) (Business Study) (Functional Model Iteration)

37Dynamic System Development Method (DSDM) DSDM (Design and Build Iteration) (Implementation coding) DSDM XP

38Crystal Alistair Cockburn Jim Highsmith Crystal Cockburn Highsmith Agile

39Crystal Crystal Crystal Yellow, Crystal Orange Crystal Family

40Crystal Crystal 3

Human-poweredUltralightStretch-to-fit

41Feature Driven Development (FDD) Peter Coad Stephen Palmer John Felsing Coad

42Feature Driven Development (FDD) FDD

43Agile Modeling (AM) Scott Amble Agile Agile Agile Agile

44Agile Modeling (AM)AM (Model with a purpose) (Use multiple models) (Travel light) (Content is more important than representation) (Know the models and the tools you use to create them) (Adapt locally)

45CMM () (Process Improvement) Total Quality Management (TQM) Business Process Redesign (BPR) Continuous Process Improvement (CPI) Six Sigma CMM

46CMM() (Capability Maturity Model : CMM) SW-CMM (Software Capability Maturity Model) (Software Engineering Institute : SEI) CMM (Capability Maturity)47 (Capability Maturity Model : CMM)

48 5 (Optimizing) 4 (Managed) 3 (Defined) 2 (Repeatable) 1 (Initial) (Capability Maturity Model : CMM) 1 (The initial Level) 49 (Capability Maturity Model : CMM) 2 (The Repeatable Level) (Repeatable)

50 (Capability Maturity Model : CMM) 3 (The Defined Level) 2 (Documented and Integrated Process) (Document Management)

51 (Capability Maturity Model : CMM) 4 (The Managed Level) (Standard) 52 (Capability Maturity Model : CMM) 5 (The Optimizing Level) (Learning Organization) (Technology) (Knowledge Based) (Innovation) 53 (Capability Maturity Model : CMM) Key Process Area (KPA) KPA 54 CMM55 CMM (KPA)1 (Initial)2 (Repeatable)3 (Defined) CMM56 CMM (KPA)4 (Managed)5 (Optimizing) () (Capability Maturity Model : CMM) (KPA) CMM 5758 Slide CMM .. (Tool) Project Management Application ( Microsoft Project) Word Processor/Text Editor Integrated Development Environment (IDE) Drawing/Graphics Application ( Rational Rose, Visible Analyst, Visual Paradigm, SmartDraw, Visio) Computer-Aided System Engineering (CASE) Tool Database Management Application Code Generator Tool59 CASE Tools CASE (Computer-Aided Software Engineering) CASE Tool (Design Editor) (Data Dictionary) (Compiler) (Debugger)60 CASE Tools CASE CASE Repository CASE CASE CASE 61 CASE CASE Tool CASE Tools (Functional Perspective) (Process Perspective) CASE Tools (Integration Perspective)62 CASE CASE Tools 8 (Software Requirement Tool) (Software Design Tools) (Software Construction Tools) (Software Testing Tools) (Software Maintenance Tools) (Software Configuration Management Tools) (Software Engineering Management Tools)8. (Software Quality Tools)63 CASE 1. (Software Requirement Tool) 2 - (Requirement Modeling Tools) - (Requirement Traceability Tools) 64 CASE 2. (Software Design Tools) - - Rational Rose, EA

3. (Software Construction Tools) - - (Program Editor)- (Compiler) - (Interpreter)- (Debugger) Eclipse, EditPlus, Windev, .NET Studio

65 CASE 4. (Software Testing Tools) - (Testing Generation) - (Test Execution Framework) - (Test Evaluation Tools) - (Test Management Tools) - (Performance Analysis Tool) 66 CASE 5. (Software Maintenance Tools) 2 1. (Comprehension Tools) 2. (Reengineering Tools) 6. (Software Configuration Management Tools)

67 CASE 7. (Software Engineering Management Tools) - (Project Planning and Tracking) - (Risk Management) - (Measurement) 8. (Software Quality Tools)- (Inspection Tools) - (Static Analysis Tools) Control Flow

68 CASE ToolsIntegrated CASE Environment- CASE Tool - CASE Tool

Meta Tools- Editor

69 (Methodologies)- - 1. (Structured Approach)2. (Object oriented Approach)3. Heuristic Methodology4. Formal Methodology70 1. (Structured Approach) (Sub-System) (Structured System Analysis and Design: SSAD) Yourdan & Demarco .. 1978

71 1. (Structured Approach) 72

73 - 2. (Object Oriented Approach)

Grady Booch, James Rumbaugh Ivar Jacobson (Object-Oriented System Analysis and Design) (Object)

74 2. (Object Oriented Approach) 75

76InvoiceIDNo.AddressA/C No.Amount

Computer value of goodsComputer discountComputer Ad. ChargeComputer Invoice AmountobjectAttributesMethods 3. Heuristic Methodology- (Informal Method) - - Methodology - Structured Methodology/Approach - Object-oriented Methodology - Data-oriented Methodology

77 4. Formal Methodology- 2 1. (Formal Specification) 2. (Formal Verification) 78- Agile 4 - Extreme Programming (XP) Agile 4 - - - - 79Adaptive Software Development (ASD) 3 ASD 80 Dynamic Systems Development Method (DSDM) DSDM 81 Scrum () Crystal () Agile 82 Feature Driven Development (FDD)- Agile - FDD Agile Modeling (AM)

83- (Process) - Software Process Software Development Process - - (Software Engineering Process) - (Software Process Model) 84- (Process Improvement) - (SEI) (Capability Maturity Model : CMM) 85