Metodologi Pengembangan Perangkat Lunak

dokumen-dokumen yang mirip
Pendahuluan Rekayasa Perangkat Lunak

PENGENALAN. Perancangan Perangkat Lunak. (Software Engineering) Bertalya Program Pascasarjana Univesitas Gunadarma

Produk perangkat lunak tersebut:

Pengembangan Sistem Informasi

DASAR-DASAR PERANCANGAN PERANGKAT LUNAK


Pemodelan Industri Perangkat Lunak

MODUL 4 Unified Software Development Process (USDP)

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

Software Development Life Cycle (SDLC)

THE SOFTWARE PROCESS

Teknik Informatika S1

BAGIAN 4. METODE ILMIAH

REKAYASA PERANGKAT LUNAK I

PEMODELAN ANALISIS PL

Review of Process Model. SE 3773 Manajemen Proyek Teknologi Informasi *Imelda Atastina*

SOFTWARE PROCESS MODEL

Proses Pengembangan 1

Perangkat lunak dan Pengembangannya (Software and Software Engineering)

PROSES-PROSES PERANGKAT LUNAK

I. INTRODUCTION TO SOFTWARE ENGINEERING. 1. What and Why Sofware Engineering?

The Process. A Layered Technology. Software Engineering. By: U. Abd. Rohim, MT. U. Abd. Rohim Rekayasa Perangkat Lunak The Process RPL

SOFTWARE PROCESS MODEL I Disiapkan oleh: Umi Proboyekti, S.Kom, MLIS

Pengembangan Sistem Informasi

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

Pengembangan Sistem Informasi

Fase Desain Proyek Perangkat Lunak

REKAYASA PERANGKAT LUNAK I ALIF FINANDHITA, M.T. - TEKNIK INFORMATIKA UNIKOM 1

Testing dan Implementasi Sistem

Teknik Informatika S1

LANGKAH-LANGKAH MEMBUAT SOFTWARE MENURUT RUP

Pendahuluan Rekayasa Perangkat Lunak

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)

Hanif Fakhrurroja, MT

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010

3. The Software Process

PENGANTAR RUP & UML. Pertemuan 2

SDLC SYSTEM DEVELOPMENT LIFE CYCLE. Materi ke-2. Pengembangan Sistem Informasi 5KA28 // 4KA14

APLIKASI PERANGKAT LUNAK

Hanif Fakhrurroja, MT

08 Pengembangan & Pemeliharaan Sistem Informasi [Bagian 1]

REKAYASA PERANGKAT LUNAK

Teknik Informatika S1

Jenis Metode Pengembangan Perangkat Lunak

PENGEMBANGAN PERANGKAT LUNAK

BAB II KONSEP PEMBANGUNAN SISTEM DARI PERSPEKTIF SOFTWARE ENGINEERING

METODOLOGI PENGEMBANGAN SOFTWARE

Software Products are Software Systems delivered to a customer with the documentation which describes how to install and use the system.

SIKLUS HIDUP PERANGKAT LUNAK

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) Siklus Hidup Perangkat Lunak (SWDLC/Software Development Life Cycle)

System Development Life Cycle (SDLC)

A Layered Technology

SOFTWARE PROCESS MODEL I

Rational Unified Process (RUP)

PENDAHULUAN PENGEMBANGAN SISTEM INFORMASI

Tugas Softskill. Universitas Gundarma. : Sistem Informasi Manajemen. : Waldhi Supriono NPM : Kelas : 2 DB 12

Models of Software Evolution: Life Cycle Model. Aktivitas dalam daur hidup perangkat lunak. Aktivitas dalam daur hidup perangkat lunak

Pertemuan 2 SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) POKOK BAHASAN

REKAYASA BERKOMPONEN

Metodologi pengembangan sistem METODOLOGI PENGEMBANGAN SISTEM INFORMASI DIAN PALUPI RINI, M.KOM 1

Software Engineering - Defined

Pertemuan 3 Metodologi Pengembangan Sistem Informasi

Aplikasi yang pendekatannya sistematis, disiplin, bisa terukur untuk pengembangan operasional dan pembuatan software. Tools. Methods.

Pengembangan Sistem Informasi. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma PTA 2015/2016

Mata Kuliah Testing & Implementasi Sistem Program Studi Sistem Informasi 2014/2015 STMIK Dumai -- Pertemuan 2 --

Rekayasa Perangkat Lunak DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS PENDIDIKAN INDONESIA 2008

Metode-Metode Pengembangan Desain Aplikasi

Meeting 3_ADS. System Development Life Cycle (SDLC)

Metodologi Pengembangan Sistem Informasi

REKAYASA PERANGKAT LUNAK

SOFTWARE PROCESS & METHOD

Software Proses. Model Proses Perangkat Lunak. Pengembangan Perangkat Lunak. Framework activities 3/20/2018. System Development Life Cycle (SDLC)

PERENCANAAN DAUR HIDUP

REQUIREMENT ENGINEERING

REKAYASA PERANGKAT LUNAK

PEMBANGUNAN SISTEM INFORMASI

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Genap Tahun 2009/2010

Rekayasa Perangkat Lunak

METODE DAN TEKNIK PENGEMBANGAN SISTEM INFORMASI

BAB II LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling

MAKALAH REKAYASA PERANGKAT LUNAK ( SIKLUS HIDUP PERANGKAT LUNAK )

BAB I PENDAHULUAN. Pembangunan ekonomi sangat penting dalam menunjang pembangunan

Systems Development Life Cycle (SDLC)

Rekayasa Perangkat Lunak (Software Engineering)

MATERI PEMODELAN PERANGKAT LUNAK KELAS XI RPL

REKAYASA PERANGKAT LUNAK I ALIF FINANDHITA, M.T. - TEKNIK INFORMATIKA UNIKOM 1

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

RPL. (Rekayasa Perangkat Lunak) SOFTWARE PROSES TP - AKN BOJONEGORO

Software Engineering dalam SOA

PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

Testing dan Implementasi

Pendekatan-Pendekatan Pengembangan Sistem Hanif Al Fatta M.kom

BAB I PENDAHULUAN. manusia dengan bantuan alat dan akal sehingga seakan-akan memperpanjang,

Nama : Rendi Setiawan Nim :

A. Spesifikasi Perangkat Lunak

Perancangan Sistem Informasi

STMIK AMIKOM YOGYAKARTA

Transkripsi:

M.K.: Perancangan Perangkat Lunak Metodologi Pengembangan Perangkat Lunak Karmilasari 1

Apa itu software? Program komputer dan seluruh dokumen yang terkait di dalamnya Produk perangkat lunak dapat dikembangkan untuk : pelanggan tertentu (custom) dikembangkan untuk pasar umum (generik) 2

Apa itu software engineering? Software engineering adalah suatu disiplin perekayasaan yang terkait dengan semua aspek produksi perangkat lunak Perekayasa perangkat lunak harus mengadopsi pendekatan yang sistematis dan terorganisir untuk pekerjaan mereka dengan menggunakan perkakas dan teknik tertentu tergantung pada masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia 3

Apa itu software process? Satu set kegiatan yang tujuannya adalah pengembangan atau evolusi dari perangkat lunak Aktivitas umum software processes : Specification - sistem apa yang harus dikembangkan dan kendala pengembangannya Development - produksi software system Validation pengecekan apakah software tersebut sudah sesuai dengan keinginan customer Evolution perubahan software dalam merespon perubahan permintaan 4

Apa itu software process model? Sebuah representasi sederhana dari proses perangkat lunak, yang disajikan dari perspektif tertentu Contoh process perspectives Workflow perspective urutan aktivitas Data-flow perspective alur informasi Role/action perspective siapa mengerjakan apa Generic process models Waterfall Evolutionary development Formal transformation Integration from reusable components 5

Apa itu metode software engineering? Pendekatan terstruktur untuk pengembangan perangkat lunak yang meliputi model sistem, notasi, aturan, saran desain dan petunjuk proses Model descriptions Deskripsi dari model grafis yang harus diproduksi Rules Batasan yang diterapkan pada model sistem Recommendations Rekomendasi untuk mendapatkan desain yang bagus Process guidance Arahan kegiatan 6

Atribut yang Dibutuhkan untuk Mengembangkan Software yang baik? Maintainability Perangkat lunak harus berkembang untuk memenuhi perubahan kebutuhan Dependability Software harus dapat dipercaya Efficiency Software tidak memboroskan sumber daya sistem Usability Perangkat lunak harus dapat digunakan oleh pengguna 7

Apa tantangan utama yang dihadapi software engineering? Mengatasi sistem pewarisan, mengatasi keragaman yang meningkat dan mengatasi tuntutan untuk mengurangi waktu pengiriman Legacy systems Lama, sistem yang berharga harus dijaga dan diperbarui Heterogeneity Sistem didistribusikan dan mencakup gabungan hardware dan software Delivery Ada tekanan yang meningkat untuk pengiriman lebih cepat dari perangkat lunak 8

State of The Art Metodologi Pengembangan Perangkat Lunak 1920an, alat bantu flowchart sudah mulai dikenal Metodologi pengembangan perangkat lunak mulai dikenal sejak tahun 1960an sejak diperkenalkannya SDLC (System Development Life Cycle) 1970an : Pemrograman Terstruktur 1980an : Metodologi Analisa dan Perancangan Sistem Terstruktur (Structured System Analysis and Design Methodology / SSADM) 9

State of The Art Metodologi Pengembangan Perangkat Lunak 1990an : Object Oriented Programming (OOP) Rapid Application Development (RAD) Scrum Development Team Software Process (dibangun oleh Watts Humphey) 2000an : Extreme Programming (1999) Rational Unified Process /RUP (1998) Agile Unified Process / AUP (2005) Integrated Methodology (QAIassist IM) (2007) 10

Software Process Satu set kegiatan terstruktur yang dibutuhkan untuk mengembangkan sistem perangkat lunak Specification Design Validation Evolution Sebuah model proses perangkat lunak adalah representasi abstrak dari suatu proses. Hal ini menyajikan gambaran tentang suatu proses dari beberapa perspektif tertentu 11

Model Process Generic Software Waterfallmodel Memisahkan dan membedakan fase spesifikasi dan pengembangan Evolutionary development Spesifikasi dan pengembangan interleave Formal systems development Model sistem matematik ditransformasikan ke implementasi Reuse-based development Sistem dirakit dari komponen yang ada 12

Waterfall model Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance 13

Fase Waterfall model Mendefinisikan dan Menganalisis kebutuhan Perancangan System dan Software Pengujian unit dan Implementasi Pengujian Sistem dan Integrasi Pengoperasian dan Pemeliharaan Kelemahan dari model air terjun adalah sulitnya mengakomodasi perubahan setelah proses sedang berlangsung 14

Masalah Waterfall model Partisi yang tidak fleksibel dari proyek pada tahap yang berbeda Hal ini membuat sulit untuk merespon kebutuhan pelanggan yang berubah Oleh karena itu, model ini hanya sesuai ketika persyaratan dipahami dengan baik 15

Evolutionary development Exploratory development Penetapan tujuan dikerjakan bersama dengan pelanggan, termasuk pengembangan sistemnya,dari awal hingga akhir. Dimulai dengan pemahaman kebutuhan yang baik. Throw-away prototyping Tujuan adalah untuk memahami kebutuhan sistem. Dimulai dengan pemahaman kebutuhan yang kurang 16

Evolutionary development Concurrent activities Specification Initial version Outline description Development Intermediate versions Validation Final version 17

Evolutionary development Masalah Kurangnya visibilitas proses Sistem ini sering kurang terstruktur Keterampilan khusus (misalnya dalam bahasa untuk rapid prototyping) mungkin diperlukan Applicability Untuk sistem interaktif yang kecil atau menengah Untuk bagian dari sistem yang besar (misalnya user interface) Untuk sistem yang berumur pendek 18

Formal systems development Berdasarkan pada transformasi spesifikasi matematika melalui representasi yang berbeda untuk program dieksekusi Transformasi adalah corectness-preserving' sehingga sangat mudah untuk menunjukkan bahwa program tersebut sesuai dengan spesifikasinya Embodied in the Cleanroom approach to software development 19

Penggunaan formal methods Metode formal telah membatasi penerapan praktis Manfaat utamanya adalah mengurangi jumlah kesalahan dalam sistem sehingga daerah utama mereka adalah penerapan sistem kritis Penggunaan metode formal memiliki biaya-efektif 20

Formal systems development Requirements definition Formal specification Formal transformation Integration and system testing 21

Penggunaan formal specification Spesifikasi formal melibatkan investasi lebih banyak usaha dalam fase awal dari pengembangan perangkat lunak Hal ini mengurangi kesalahan persyaratan dalam hal analisis rinci persyaratan Ketidaklengkapan dan inkonsistensi dapat ditemukan dan diselesaikan Ketidaklengkapan dan inkonsistensi dapat ditemukan dan diselesaikan 22

List specification LIST ( Elem ) sort List imports INTEGER Defines a list where elements are added at the end and remo ved from the front. The oper ations are Create, which br ings an empty list into existence, Cons, which creates a ne w list with an added member, Length, which e valuates the list siz e, Head, which e valuates the front element of the list, and Tail, which creates a list b y removing the head from its input list. Undefined represents an undefined value of type Elem. Create List Cons (List, Elem) List Head (List) Elem Length (List) Integer Tail (List) List Head (Create) = Undefined exception (empty list) Head (Cons (L, v)) = if L = Create then v else Head (L) Length (Create) = 0 Length (Cons (L, v)) = Length (L) + 1 Tail (Create ) = Create Tail (Cons (L, v)) = if L = Create then Create else Cons (Tail (L), v) 23

Formal transformations Formal transformations T1 T2 T3 T4 Formal specification R1 R2 R3 Executable program P1 P2 P3 P4 Proofs of transformation correctness 24

Formal systems development Masalah Butuh keterampilan khusus dan pelatihan untuk menerapkan teknik ini Secara resmi sulit untuk menentukan beberapa aspek dari sistem seperti user interface Applicability Sistem kritis terutama kasus keamanan harus dilakukan sebelum sistem ini dimasukkan ke dalam operasi 25

Reuse-oriented development Component-based software engineering / Rekayasa Perangkat Lunak Berbasis Komponen Berdasarkan penggunaan kembali / reuse sistem yang sistematis di mana sistem terintegrasi dari komponen yang ada or COTS (Commercial-off-the-shelf) systems. Tahapan proses Analisis Komponen; Modifikasi Kebutuhan; Perancangan Sistem dengan penggunaan kembali / reuse yang sudah ada; Pengembangan dan integrasi. Pendekatan ini mengalami peningkatan sejalan dengan penggunaan komponen standar telah muncul. 26

Reuse-oriented development Requirements specification Component analysis Requirements modification System design with reuse Development and integration System validation 27

Process iteration Kebutuah sistem selalu berkembang dalam proyek sehingga proses iterasi pada tahap-tahap awal selalu dikerjakan ulang bagian dari proses untuk sistem yang besar Iterasi dapat diterapkan pada salah satu model proses generik Pendekatan Incremental development Spiral development 28

Incremental development Sistem sebagai pengiriman tunggal, pengembangan dan pengiriman dipecah menjadi bertahap dengan setiap kenaikan memberikan bagian dari fungsi yang diperlukan Kebutuhan pengguna diprioritaskan dan persyaratan prioritas tertinggi dimasukkan dalam awal increment Setelah pengembangan suatu increment dimulai, kebutuhan dibekukan meskipun persyaratan untuk kenaikan nantinya bisa terus berkembang 29

Incremental development Define outline requirements Assign requirements to increments Design system architecture Develop system increment Validate increment System incomplete Integrate increment Validate system Final system 30

Manfaat Incremental development Nilai pelanggan dapat disampaikan dengan kenaikan masing-masing sehingga fungsionalitas sistem tersedia sebelumnya Increment awal bertindak sebagai prototipe untuk membantu mendapatkan persyaratan untuk kenaikan kemudian Menurunkan resiko kegagalan proyek secara keseluruhan Layanan sistem prioritas tertinggi cenderung menerima pengujian paling banyak 31

Extreme programming Pendekatan baru untuk pengembangan berdasarkan pengembangan dan pengiriman bertahap sangat kecil dari fungsi yang ada Mengandalkan kode perbaikan konstan, keterlibatan user dalam tim pengembangan dan pemrograman berpasangan 32

Spiral development Proses digambarkan sebagai spiral bukan sebagai urutan aktivitas dengan backtracking Setiap loop dalam spiral merupakan tahap dalam proses. Tidak ada fase tetap seperti spesifikasi atau desain -loop dalam spiral dipilih tergantung pada apa yang dibutuhkan. Risiko secara eksplisit dinilai dan diselesaikan selama proses. 33

Software process : Spiral model Determine objectives alternatives and constraints Risk analysis Risk analysis Evaluate alternatives identify, resolve risks Plan next phase REVIEW Requirements plan Life-cycle plan Development plan Integration and test plan Risk analysis Prototype 2 Risk analysis Prototype 1 Concept of Operation S/W requirements Requirement validation Design V&V Service Acceptance test Prototype 3 Operational protoype Simulations, models, benchmarks Product design Code Unit test Integration test Detailed design Develop, verify next-level product 34

Spiral model sectors Setting Tujuan Tujuan khusus untuk fase identifikasi Penilaian dan Pengurangan Resiko Resiko dinilai dan kegiatan disiapkan untuk mengurangi resiko kunci Pengembangan dan Validasi Sebuah model pengembangan untuk sistem terpilih yang dapat menjadi salah satu model generik Perencanaan Proyek terakhir di-review dan fase berikutnya dari spiral direncanakan 35

Aktivitas Proses Spesifikasi Perangkat Lunak Perancangan dan implementasi peranngkat lunak Validasi perangkat lunak Evolusi perangkat lunak 36

Spesifikasi Perangkat Lunak Proses dibangun dari layanan apa saja yang dibutuhkan dan batasan operasi dan pengembangan sistem Kebutuhan rekayasa proses Studi kelayakan Kebutuhan analisis Kebutuhan spesifikasi; Kebutuhan validasi. 37

Kebutuhan Rekayasa Proses Feasibility study Requirements elicitation and analysis Requirements specification Feasibility repor t Requirements validation System models User and system requirements Requirements document 38

Perancangan dan Implementasi Perangkat Lunak Proses konversi spesifikasi sistem ke dalam eksekusi sistem. Perancangan perangkat lunak Merancang struktur perangkat lunak yang sesuai dengan spesifikasi Implementasi perangkat lunak Translasi struktur ke dalam eksekusi program Aktivitas perancangan dan implementasi saling berelasi satu dengan yang lain. 39

Aktivitas Proses Perancangan Perancangan arsitektur Spesifikasi Abstrak Perancangan Pengantarmukaan Perancangan Komponen Perancangan Struktur Data Perancangan Algoritma 40

Proses Perancangan Perangkat Lunak Requirements specification Design activities Architectural design Abstract specification Interface design Component design Data structure design Algorithm design System architecture Software specification Interface specification Component specification Data structure specification Algorithm specification Design products 41

Metode Terstruktur Pendekatan sistematis untuk membangun rancangan perangkat lunak Perancangan biasanya didokukentasikan dalam suatu set model grafis Model grafis yang digunakan : Object model; Sequence model; State transition model; Structural model; Data-flow model. 42

Pemrograman dan Debugging Translasi dari rancangan ke dalam program dan penanganan kesalahan dalam program Program merupakan aktivitas personal, dimana proses pemrograman tidak generik Pemrogram melakukan beberapa pengujian pada program untuk menemukan kesalahan dalam program dan melakukan proses perbaikan / debugging 43

Proses Debugging / Penanganan Kesalahan Locate error Design error repair Repair error Re-test program 44

Validasi Perangkat Lunak Verifikasi dan validasi (V & V) dimaksudkan untuk menunjukkan bahwa sistem sesuai dengan spesifikasi dan memenuhi persyaratan pelanggan sistem Terlibat dalam pemeriksaan, peninjauan dan proses dan pengujian sistem Pengujian sistem melibatkan eksekusi sistem dengan uji kasus yang berasal dari spesifikasi data sebenarnya yang akan diproses oleh sistem. 45

Proses Uji Coba Component testing System testing Acceptance testing 46

Tahapan Uji Coba Uji Coba Unit atau Komponen Komponen individual diuji secara independen Komponen dapat berupa fungsi atau objek atau kelompok koheren dari suatu entitas Uji Coba Sistem Uji coba sistem secara keseluruhan. Uji coba terhadap sifat-sifat yang muncul sangat penting diperhatikan Uji Coba Penerimaan Uji coba dengan data pelanggan untuk memeriksa apakah sistem menerima kebutuhan pelanggan 47

Fase Uji Coba Requir ements specification System specification System design Detailed design Acceptance test plan System integration test plan Sub-system integ ration test plan Module and unit code and test Service Acceptance test System integration test Sub-system integ ration test 48

Evolusi Perangkat Lunak Perangkat lunak rentan terhadap perubahan. Perubahan keadaan bisnis, biasanya membutuhkan penyesuaian perangkat lunak yang mendukung perubahan tersebut. Terdapat garis batas yang tipis antara pengembangan dan evolusi (pemeliharaan) terkait dengan perubahan (walaupun sedikit) menjadi suatu sistem baru yang lebih sempurna (sesuai dengan kebutuhan terkini) 49

Evolusi Sistem Define system requirements Assess existing systems Propose system changes Modify systems Existing systems New system 50

Rational Unified Process (RUP) Suatu model proses modern diturunkan dari UML (Unified Modelling Languange) dan proses-proses yang terkait di dalamnya. Terdapat 3 perspektif Perspektif Dinamik, yang menunjukkan fase dari waktu ke waktu Perspektif Statik, yang menunjukkan proses aktivitas Perspektif Praktis, yang menyarankan pemakaian terbaik 51

Mode Fase RUP Phase iteration Inception Elaboration Construction Transition 52

Fase RUP Inception/ Permulaan Penetapan kasus bisnis untuk sistem. Elaboration/ Elaborasi-Perluasan Pengembangan dan pemahaman domain masalah dan arsitektur sistem Construction/ Pembangunan Perancangan sistem, pemrograman dan uji coba Transition/ Transisi Penyebarluasan sistem di lingkungan operasional 53

Praktek RUP Yang Baik Membangun perangkat lunak secara iteratif Mengelola kebutuhan Menggunakan arsiterktur berbasis komponen Perangkat lunak dengan model visual Memverifikasi kualitas perangkat lunak Pengendalian terhadapa perubahan perangkat lunak 54

Aliran Kerja Statik Workflow Business modelling Requirements Analysis and design Implementation Test Deployment Configuration and change management Project management Environment Description The business processes are modelled using business use cases. Actors who interact with the system are identified and use cases are developed to model the system requirements. A design model is created and documented using architectural models, component models, object models and sequence models. The components in the system are implemented and structured into implementation sub-systems. Automatic code generation from design models helps accelerate this process. Testing is an iterative process that is carried out in conjunction with implementation. System testing follows the completion of the implementation. A product release is created, distributed to users and installed in their workplace. This supporting workflow managed changes to the system (see Chapter 29). This supporting workflow manages the system development (see Chapter 5). This workflow is concerned with making appropriate software tools available to the software development team. 55

Computer-AidedSoftwareEngineering (CASE) Computer-aided software engineering (CASE) merupakan perangkat lunak yang mendukung pengembangan perangkat lunak dan proses evolusi Otomatisasi Aktivitas Editor Grafis untuk pengembangan model sistem Kamus data untuk mengelola perancangan entitas GUI (Graphical User Interface) untuk membangun pengantarmukaan pengguna Debugger untuk mendukung pencarian kesalahan program Translator otomatis untuk men-generate versi baru dari suatu program 56

Teknologi CASE Teknologi CASE telah membawa perbaikan yang signifikan dalam proses perangkat lunak. Namun demikian ada beberapa hal yang perlu dipetimbangkan dalam penggunaan CASE : Rekayasa perangkat lunak membutuhkan pemikiran kreatif tidak selalu dapat diotomatisasi Rekayasa perangkat lunak adalah kegiatan tim dan untuk proyek-proyek besar, banyak waktu yang dihabiskan dalam interaksi tim. Teknologi CASE tidak benar-benar mendukung untuk hal tersebut 57

Klasifikasi CASE Klasifikasi membantu kita memahami perbedaan tipe perangkat pendukung (tools) CASE dalam mendukung proses aktivitas Perspektif Fungsional Perangkat pendukung (tools) diklasifikasikan berdasarkan fungsi spesifik Perspektif Proses Perangkat pendukung (tools) diklasifikasikan berdasarkan aktivitas proses yang didukungnya Perspektif Integrasi Perangkat pendukung (tools) diklasifikasikan berdasarkan organisasi dan unit yang terintegrasi di dalamnya. 58

Klasifikasi Perangkat Fungsional Tool type Planning tools Editing tools Change management tools Configuration management tools Prototyping tools Method-support tools Language-processing tools Program analysis tools Testing tools Debugging tools Documentation tools Re-engineering tools Examples PERT tools, estimation tools, spreadsheets Text editors, diagram editors, word processors Requirements traceability tools, change control systems Version management systems, system building tools Very high-level languages, user interface generators Design editors, data dictionaries, code generators Compilers, interpreters Cross reference generators, static analysers, dynamic analysers Test data generators, file comparators Interactive debugging systems Page layout programs, image editors Cross-reference systems, program re-structuring systems 59

Klasifikasi Perangkat Berbasis Aktivitas Re-eng ineering tools Testing tools Debugg ing tools Program analysis tools Language-processing tools Method suppor t tools Prototyping tools Configuration management tools Change management tools Documentation tools Editing tools Planning tools Specification Design Implementation Verification and Validation 60

Integrasi CASE Tools / Perangkat Dukungan proses tugas individual, seperti perancangan, pengecekan konsistensi, text editing dsb. Workbenches Dukungan fase proses seperti spesifikasi atau perancangan. Biasanya menggunakan sejumlah perangkat / tools yang terintegrasi Environments/ Lingkungan Dukungan terhadap semua atau sebagian besar dari proses software secara keseluruhan. Biasanya termasuk terintegrasi beberapa workbenches. 61

Tools, Workbenches, Environments CASE technolo gy Tools Workbenches Environments Editors Compilers File compar ators Integrated environments Process-centr ed environments Analysis and design Programming Testing Multi-method workbenches Single-method workbenches General-purpose workbenches Langua ge-specific workbenches 62