• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Software Engineering - 02. Framework
 

Software Engineering - 02. Framework

on

  • 2,371 views

Software Engineering - 02. Framework

Software Engineering - 02. Framework

Statistics

Views

Total Views
2,371
Views on SlideShare
2,369
Embed Views
2

Actions

Likes
2
Downloads
143
Comments
0

1 Embed 2

http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

Software Engineering - 02. Framework Software Engineering - 02. Framework Presentation Transcript

  • Framework of Software Development Arry Akhmad Arman School of Electrical Engineering and Informatics Institut Teknologi Bandung, Indonesia Email: arman@kupalima.com Website: http://www.kupalima.com Blog: http://kupalima.wordpress.com Download Center: http://slideshare.net/kupalima Last update: September 2008 Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Software Horror! • The Mars Climate Orbiter crashed in September 1999 because of a quot;silly mistakequot;: wrong units in i a program. Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Software Horror! • Several 1985-1987 1985 1987 deaths of cancer patients were due to overdoses of radiation resulting from a race condition b t diti between concurrent tasks in the Therac-25 software. Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Therac-25 System Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Software Horror! • The Ariane 5 satellite launcher malfunction was caused by a faulty software exception routine resulting ti lti from a bad 64-bit floating point to 16- bit integer conversion. Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Software Horror! • The Dallas/Fort Worth air-traffic system began spitting out gibberish in the Fall of 1989 and controllers had t t ll h d to track planes on paper. paper Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Arman’s Framework for Software Development 1 2 3 4 Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Defining Scope g p • Scope is a short description of an application (software) that will be built. • Scope definition conducted by Business Process Owner (its will be better if it is helped by IT people) Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Scope Content p • Context. How does the software to be built fit into a larger system, product, or business context, and what constrain ? • Information Objectives. O f i Obj i Output d data object, bj input data object. • Function and performance Transformation performance. from input to output. Are any special performance characteristic? • Reliability. How the system should be reliable? Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Case: Software in Space Shuttle [sample of software f specific need] [ l f ft for ifi d] In 1981, a small timing difference caused by a computer program 1981 change created a 1/67 (or 1 in 67) chance that the space shuttle’s five on-board computers would not synchronize. Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Arman’s Framework for Software Development 1 2 3 4 Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Quick Project Estimation Q j • Activities to estimate all resources and effort that is needed to support software development process • Usually, all resources and effort converted to y, amount of money value to estimate project value. Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Project Estimation: Problem Decomposition • Decomposition is applied in two major areas: – The functionality that must be delivered – The process that will be used to deliver it PROCESS n tio g r in COMMON PROCESS ica sis ing mm er ee FRAMEWORK ACTIVITIES co tom un a ly an k nn r is gin pla s en cu Software Engineering Tasks g g Product Functions PROBLEM Text input Editing and formating Automatic copy edit Page layout capability Automatic indexing and TOC File management Document production Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Cost Estimation Techniques q • Comparison estimation • Bottom-up estimation • Parametric modeling g – Software for Aircraft Development (McDonall Douglas), its developed from many cases – Office automation = $10,000 per workstation • C Constructive Cost M d l (COCOMO), i.e. i C Model LOC (Line of Code)or FP (Function Point) Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Case: Project Overrun j The 1995 CHAOS Report showed that th average cost overrun the t for IT project was 189% of their original estimates estimates. Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Case: Project Overrun j The 2001 CHAOS Report showed h h d that the company have made great improvements in d i i reducing cost overruns. Its decreased from 189% to 145%. Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Arman’s Framework for Software Development 1 2 3 4 Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Engineering Life Cycle g g y Problem definition Status Technical quo development Solution integration Problem definition Status Status Technical quo development Quo Solution integration Problem definition Status Technical quo p development Solution integration Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Software Development Life Cycle p y Development Phase (Project Execution) Pre-Project Phase • Communication: Project Initiation, R ii i Requirement Gathering i G h i • Planning: Estimating, Development Scheduling, Tracking g, g Phase • Modeling: Analysis, Design • Construction: Coding, Testing • Deployment: Delivery, Support, Support Feedback Phase Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Software Development Models p • Waterfall Model (Linear Sequential) • Incremental Process Model • Incremental Model • RAD (Rapid Application Development) Model ( p pp p ) • Evolutionary Process Models • Prototyping • The Spiral Model • Concurrent Development Model • Specialized Process Models • Component Based Development • Formal Methods Model • Aspect Oriented Software Development • The Unified Process Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • [Software Development Models] Waterfall (Linear Sequential) Model •One Cycle •Easy Project Monitoring Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • [Software Development Models] Incremental Models Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • [Software Development Models] RAD (Rapid Appl Dev) Models Appl. Supported by •Visual Programming •Object Oriented Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • [Software Development Models] Evolutionary: Prototyping Models Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • [Software Development Models] Evolutionary: Spiral Models Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • [Software Development Models] Evolutionary: Concurrent Models Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • [Software Development Models] Unified Process Assignment (1 week, to be presented in the class): Write a short paper that consist of (1) Unified Process Description, (2) History, (3) Comparison between Unified Process and other approaches. Also prepare PPT for presentation! Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Arman’s Framework for Software Development 1 2 3 4 Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Project Management j g • Scope Management p g • Time Management • g Cost Management • Quality Management • Human Resource Management • Communication Management • Risk Management • Procurement Management Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Life Cycle Costing y g • A sample of relationship between “Development Life p p p Cycle” and “Cost” When D f t i D t t d? Wh Defect is Detected? Typical C t f Correction T i l Cost of C ti User Requirements $100 - $1,000 Coding/Unit Testing di / i i $1,000 or more $ System Testing $7,000 - $8,000 Acceptance Testing $1,000 - $100,000 After Implementation Up to millions of dollars Source: Collard, Ross, Software testing and QA, (1997) Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • The Cost of Change in Software Development Effort 60x-100x 1.5x-6x 1x Stage Definition Development After Release Source: Software Engineering, Roger S. Pressman Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Software Complexity p y Operating System Year Line of Code Windows 3.1 1992 3 milion Windows NT 1992 4 milion Windows 95 1995 15 milion Wi d Windows NT 4.0 6 1996 16.5 milion 6 ili Windows 98 1998 18 milion Windows 2000 Wi d 2000 35-60 milion * 6 ili * Perkiraan sumber informasi Sumber : Bruce Schneier [43], hal 357 Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Typical Organizational Charts yp g Project Manager Deputy PM System Engineering Independent Test Group Project Technical Lead Quality Assurance Configuration Management S/W SubProject Manager 1 S/W Sub Project Manager 2 H/W Sub Project Manager 2 Team 1 Team 1 Team 1 Team 2 Team 2 Team 2 Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Project Quality Management Process: Quality Assurance • S ft Software Q lit A Quality Assurance (SQA) is i i important t t to improve Quality Assurance analysis design testing Development Team Assessment SQA Team Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Maturity Level of Software Developer is important for Software Quality Productivity and Quality Change Management Defect Prevention 5 Optimizing Product and Process Quality 4 Managed Continuously Improving Engineering Process 3 D fi d Defined Predictable P di t bl Standard, Consistent Project Management g 2 Repeatable Disciplined Heroes 1 Initial Project Risk j Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Closing Remarks g • There are several alternatives to execute software development process, but all of them always consist of: Communication, Planning, Modeling, Construction, Deployment. p y • Software Project Management is a key success factor in software d l ft development. t • CMM is a model to represent maturity model of software developer that indirectly will determine the quality of software (as product) Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
  • Thank you y THIS SLIDES CAN BE DOWNLOADED IN http://www.slideshare.net/kupalima Stanford University, San-Francisco, 2001 Comparative Study For Software Industry Development in Indonesia Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008