Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes l Sekumpulan aktifitas terpadu untuk pelaksanaan spesifikasi,

Presentasi serupa


Presentasi berjudul: "©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes l Sekumpulan aktifitas terpadu untuk pelaksanaan spesifikasi,"— Transcript presentasi:

1 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes l Sekumpulan aktifitas terpadu untuk pelaksanaan spesifikasi, desain, implementasi dan testing system software

2 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 2 Objectives l To introduce software process models l To describe a number of different process models and when they may be used l To describe outline process models for requirements engineering, software development, testing and evolution l To introduce CASE technology to support software process activities

3 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 3 Topics covered l Software process models l Process iteration l Software specification l Software design and implementation l Software validation l Software evolution l Automated process support

4 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 4 The software process l Sekumpulan aktifitas yang terstruktur yang dibutuhkan untuk mengembangkan software Specification Design Validation Evolution l Model software process adalah representasi abstrak dari proses. Model akan mendeskripsikan suatu proses dari sudut pandang tertentu

5 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 5 Generic software process models l The waterfall model Separate and distinct phases of specification and development l Evolutionary development Specification and development are interleaved l Formal systems development A mathematical system model is formally transformed to an implementation l Reuse-based development The system is assembled from existing components

6 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 6 Waterfall model

7 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 7 Waterfall model phases l Requirements analysis and definition l System and software design l Implementation and unit testing l Integration and system testing l Operation and maintenance l The drawback of the waterfall model is the difficulty of accommodating change after the process is underway

8 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 8 Waterfall model problems l Pembagian proyek yang tidak flexibel dalam bentuk tahapan yang berbeda l Hal ini mengakibatkan kesulitan saat merespon perubahan kebutuhan customer l Dengan demikian, model ini hanya akan sesuai apabila kebutuhan telah disepakati dan dipahami dengan baik antara customer dan developer

9 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 9 Evolutionary development l Exploratory development Objective is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirements l Throw-away prototyping Objective is to understand the system requirements. Should start with poorly understood requirements

10 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 10 Evolutionary development

11 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 11 Evolutionary development l Problems Ketidakjelasan dari process visibility Struktur sistem seringkali amat buruk Dibutuhkan special skills (e.g. in languages for rapid prototyping) l Applicability For small or medium-size interactive systems For parts of large systems (e.g. the user interface) For short-lifetime systems

12 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 12 Formal systems development l Based on the transformation of a mathematical specification through different representations to an executable program l Transformations are ‘correctness-preserving’ so it is straightforward to show that the program conforms to its specification l Embodied in the ‘Cleanroom’ approach to software development

13 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 13 Formal systems development

14 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 14 Formal transformations

15 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 15 Formal systems development l Problems Dibutuhkan ketrampilan dan pelatihan khusus untuk mengaplikasikan teknik ini Kesulitan dalam menspesifikasikan beberapa aspek ke dalam sistem misalnya dalam penentuan user interface l Applicability System kritis khususnya sistem yang mengutamakan faktor keselamatan dan keamanan sebelum sistem utamanya dioperasikan

16 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 16 Reuse-oriented development l Berdasarkan pada pendekatan pakai-ulang yang sistematik dimana sistem dintegrasikan dari komponene2 yang telah tersedia atau disebut COTS (Commercial-off-the-shelf) systems l Process stages Component analysis Requirements modification System design with reuse Development and integration l Pendekatan ini menjadi sangat penting namun kajian dan pengalaman masih sangat terbatas

17 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 17 Reuse-oriented development

18 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 18 Process iteration l Dalam suatu project system requirements SELALU mengalami perubahan, itulah sebabnya iterasi proses pada tahapan awal yang selalu dikerjakan berulang- ulang menjadi bagian dari prosess pada system yang lebih besar l Iteration can be applied to any of the generic process models l Two (related) approaches Incremental development Spiral development

19 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 19 Incremental development l Bukan sekedar menghantarkan sistem sebagai “single delivery”, development dan delivery dipecah menjadi beberapa tahapan dimana tiap tahap akan mendeliver bagian dari kebutuhan fungsionalitas sistem l User requirements are prioritised and the highest priority requirements are included in early increments l Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve

20 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 20 Incremental development

21 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 21 Incremental development advantages l Kebutuhan customer dapat di-delivered di tiap-tiap increment sehingga sistem akan tersedia lebih awal l increments awal bertindak sebagai prototype untuk membantu menentukan kebutuhan untuk increment selanjutnya l Lower risk of overall project failure l The highest priority system services tend to receive the most testing

22 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 22 Extreme programming l Pendekatan baru pada tahapan pengembangan dengan berbasis pada development and delivery of very small increments of functionality l Mengacu pada pengembangan kode secara konstan, pelibatan user dalam development team dan pairwise programming

23 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 23 Spiral development l Process direpresentasikan sebagai spiral bukan aktifitas sequence dengan backtracking l Each loop in the spiral represents a phase in the process. l No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required l Secara explicit resiko dikenali dan diselesaikan selama proses berlangsung

24 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 24 Spiral model of the software process

25 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 25 Spiral model sectors l Objective setting Menentukan tujuan untuk phase yang diidentifikasi l Risk assessment and reduction Resiko dikenali dan aktifitas dilakukan untuk mengurangi sejumla resiko l Development and validation Model development system ditentukan yang memungkinkan penggunaan berbagai model secara umum l Planning The project is reviewed and the next phase of the spiral is planned

26 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 26 Software specification l Proses untuk menentukan services apa yang dibutuhkan dan batasan pada tahapan pengoperasian dan pengembangan sistem l Requirements engineering process Studi kelayakan Pembentukan dan analisa kebutuhan Requirements specification Requirements validation

27 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 27 The requirements engineering process

28 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 28 Software design and implementation l Proses mengkonversi spesifikasi system specification kedalam executable system l Software design Desain struktur software yng mengacu pada dokumen specification l Implementation Translate this structure into an executable program l Aktifitas desain dan implementasi sangatlah berdekatan dan kadang saling tumpang tindih

29 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 29 Design process activities l Architectural design l Abstract specification l Interface design l Component design l Data structure design l Algorithm design

30 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 30 The software design process

31 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 31 Design methods l Pendekatan sistematik dalam pengembangan desain software l The design is usually documented as a set of graphical models l Possible models Data-flow model Entity-relation-attribute model Structural model Object models

32 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 32 Programming and debugging l Merubah desain kedalam program dan menghilangkan errors yang ditimbulkan dari program l Programming is a personal activity - there is no generic programming process l Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process

33 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 33 The debugging process

34 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 34 Software validation l Verification dan validation diperlukan untuk menunjukkan bahwa system telah sesuai dengan spesifikasinya dan memenuhi kebutuhan dari customer l Melibatkan checking dan review proses serta system testing l System testing meliputi mengeksekusi system dengan skenario test yang diturunkan dari spesifikasi data real untuk diproses oleh system

35 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 35 The testing process

36 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 36 Testing stages l Unit testing Individual components are tested l Module testing Related collections of dependent components are tested l Sub-system testing Modules are integrated into sub-systems and tested. The focus here should be on interface testing l System testing Testing of the system as a whole. Testing of emergent properties l Acceptance testing Testing with customer data to check that it is acceptable

37 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 37 Testing phases

38 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 38 Software evolution l Software pada dasarnya flexible dan dapat dirubah. l Dengan berubahnya kebutuhan seiring dengan perubahan kondisi bisnis, software yang mendukung bisnis sudah selayaknya juga ikut berubah l Although there has been a demarcation between development and evolution (maintenance) this is increasingly irrelevant as fewer and fewer systems are completely new

39 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 39 System evolution

40 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 40 Automated process support (CASE) l Computer-aided software engineering (CASE) adalah software untuk mendukung software development dan process evolusi l Activity automation Graphical editors for system model development Data dictionary to manage design entities Graphical UI builder for user interface construction Debuggers to support program fault finding Automated translators to generate new versions of a program

41 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 41 Case technology l Case technology telah berkembang dengan sangat pesat dalam mendukung software process melebihi dari yang diperkirakan sebelumnya Software engineering requires creative thought - this is not readily automatable Software engineering is a team activity and, for large projects, much time is spent in team interactions. CASE technology does not really support these

42 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 42 CASE classification l Pengklasifikasian CASE membantu kita dalam memahami berbagai tipe dari CASE tools dan dukungannya terhadap process activities l Functional perspective Tools are classified according to their specific function l Process perspective Tools are classified according to process activities that are supported l Integration perspective Tools are classified according to their organisation into integrated units

43 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 43 Functional tool classification

44 Activity-based classification

45 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 45 CASE integration l Tools Support individual process tasks such as design consistency checking, text editing, etc. l Workbenches Support a process phase such as specification or design, Normally include a number of integrated tools l Environments Support all or a substantial part of an entire software process. Normally include several integrated workbenches

46 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 46 Tools, workbenches, environments

47 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 47 Key points l Software processes adalah aktifitas meliputi producing dan evolving software system. Aktifitas ini direpresentasikan dalam software process model l Activitas umumnya meliputi specification, design dan implementation, validation dan evolution l Model process secara umum menggambarkan organisasi process software l Iterative process models mendiskripsikan software process sebagai siklus aktifitas

48 ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 48 Key points l Rekayasa Kebutuhan adalah process pengembangan spesifikasi software l Proses design dan implementasi mengubah spesifikasi menjadi executable program l Validation memastikan system telah memenuhi spesifikasi dan kebutuhan user l Evolution fokus pada modifikasi system setelah software system diterapkan l CASE technology mendukung aktifitas software process


Download ppt "©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes l Sekumpulan aktifitas terpadu untuk pelaksanaan spesifikasi,"

Presentasi serupa


Iklan oleh Google