Anda di halaman 1dari 45

mP e

DR

PEMBANGUNAN SISTEM INFORMASI VS SOFTWARE


REKAYASA SISTEM INFORMASI DAN REKAYASA PERANGKAT LUNAK (James Martin)

PSI

Analisa Rekayasa Perangkat Lunak Rekayasa Sistem Informasi

Perancangan

Implementasi

Karakteristik Hardware
Infant mortality Wear out

Failure rate

Time

Karakteristik Software
Increased failure rate due to side effects

Failure rate

Change

Actual Curve

Idealized Curve Time

REKAYASA PERANGKAT LUNAK


Mengapa Rekayasa Perangkat Lunak (Software Engineering) diperlukan ? Karena adanya Permasalahan didalam Perangkat Lunak dan Pengembangannya :
Krisis perangkat lunak. Biaya perbaikan kesalahan yang meningkat sejalan dengan tahapan pengembangan. Biaya pemeliharaan perangkat lunak yang besar. Keterlambatan dan kekurangan biaya.

Mengapa Rekayasa Perangkat Lunak Diperlukan ?


Keterlambatan penyampaian produk Tidak sesuai dengan spesifikasi , bahkan salah Menafikan aspek non teknis Software berukuran besar, dikembangkan oleh team dari berbagai disiplin, secara terus menerus produk dapat mengalami perubahan sepanjang pengembangan dan setelah instalasi

Mengapa Rekayasa Perangkat Lunak diperlukan ? Krisis Perangkat Lunak


100 80 60 40 20 0 1960
Source : Electronic design, Jan 1981

REKAYASA PERANGKAT LUNAK

SOFTWARE COST HARDWARE COST

1970

1980

1990

Biaya perangkat lunak cenderung meningkat dan melebihi biaya perangkat keras

REKAYASA PERANGKAT LUNAK


Mengapa Rekayasa Perangkat Lunak diperlukan ? Biaya perbaikan kesalahan yang meningkat sejalan dengan tahapan pengembanagan.
1000 500 200 100 50 20 10 5 2 1
Large software projects IBM-SSD GTE 80% Median (TRW survey) 20% SAFEGUARD8 SMALLER SOFTWARE PROJECTS (Boehm, 1980)

Requirement Design Analysis

Code

Development Test

Acceptance Test

Operation

(Sumber : Boehm, software Engineering Economics 1981)

Perbaikan kesalahan pada tahap analisa memerlukan biaya 2 satuan. Perbaikan untuk kesalahan yang sama pada tahap operasi memelukan biaya 200 satuan

REKAYASA PERANGKAT LUNAK


Mengapa Rekayasa Perangkat Lunak Diperlukan ?
Survei tentang kelambatan dan kekurangan biaya serta beberapa penyebabnya. ( Blum, GAO Report FGMSD 80-4 Revisited, ACM Sigsoft Software Engineering Notes, No. 1 Jan 1987 )
Very Common Software development has dollar overrun Software development has calendar overrun The delivered software must be corrected or modified by in-house programmer before it is usable The software is paid for but never used The delivered software is difficult to modify s The contractor programming practices are such that sofware is easily understood by agency program 21.2 30.1 8.8 5.3 14.2 Fairly Common 29.2 31.9 34.5 3.6 37.2 62.8 Not Very Common 25.7 25.7 35.4 16.1 38.1 15.0 Very Rate 9.7 8.0 13.3 57.1 11.5 6.2 Never Occurs 6.2 1.8 6.2 20.5 4.4 Dontt Know 3.0 2.7 1.8 2.7 3.5 1.8

CAUSE Agency estimated its own state of progress when it let the contract Incorrect agency management action, such as using inapporapriate contract Agency failed to specify requirement adequtely Agency overcommited it selt agency failed to manage during execution, including executive changes Agency failed to adequately inspect and test 1 X 2 X 3 X X X X X X X X

Case Number 4 5 6 7 X X X X X X X X X X

8 X X X

X X X

REKAYASA PERANGKAT LUNAK


Mengapa Rekayasa Perangkat Lunak diperlukan ? Biaya pemeliharaan perangkat lunak yang besar. Corrective (21%), adaptive (25%), preventive (4%) dan perfective (50%) 43% 43 8% 8
Pemeliharaan Pengembangan Lain-lain

49% 49

(Sumber : Boehm, Software Engineering Economic 1982)

Biaya pemeliharaan lebih besar dari biaya pengembangan perangkat lunak.

Aktivitas perawatan software

4% 25% Perfective Corrective Adaptive Preventive

50% 21%

KUALITAS SOFTWARE: IS0 9126


Karakteristik
Functionality: software untuk menjalankan fungsinya sebagaimana kebutuhan sistemnya Reliability:Kemampuan software untuk dapat tetap tampil sesuai dengan fungsinya ketika digunakan Usability:Kemampuan software untuk mudah dimengerti, dipelajari, digunakan dan disukai pengguna Efficiency: Kemampuan software untuk menampilkan performans relatif terhadap penggunaan sumberdaya Maintainability: Kemampuan software untuk dimodifikasi (koreksi,adaptasi,perbaikan) Portability: Kemampuan software untuk ditransfer dari satu lingkungan ke lingkungan lain

Sub karakteristik
Suitability, Accuracy, Interoperability,Security Maturity, Fault tolerance, Recoverability

Understandability, Learnability, Operability, Attractiveness Time Behavior, Resource Utilization

Analyzability, Changeability, Stability, Testability Adaptability, Installability

REKAYASA PERANGKAT LUNAK


Usaha untuk mengatasi permasalahan dalam perangkat lunak dilakukan melalui Rekayasa Perangkat Lunak atau Software Engineering. Rekayasa Perangkat lunak didefinisikan sebagai penerapan pengetahuan keilmuan secara praktis dalam perancangan dan pengembangan program dan dokumentasi terkait yang diperlukan untuk mengsembangkan, mengoperasikan dan memelihara program-program tersebut. (Boehm Software Engineering IEEE Trans on Computer).

REKAYASA PERANGKAT LUNAK


AKTIVITAS
REKAYASA PERANGKAT LUNAK Pengembangan perangkat lunak (software development). Manajemen proyek (project management). Metrik perangkat lunak (software metric). Pemeliharaan perangkat lunak (software maintenance). Jaminan kualitas perangkat lunak (software quality assurance). Manajemen konfigurasi perangkat lunak (software configuration management). PENGEMBANGAN PERANGKAT LUNAK Proses perangkat lunak (software process) Metodologi perangkat lunak (software methodology).

PROSES PERANGKAT LUNAK


FUNGSI UTAMA
Menentukan tahap-tahap yang diperlukan untuk pengembangan perangkat lunak. Menentukan urutan pelaksanaan dari tahap-tahap tersebut dalam rangka pengembangan perangkat lunak. Menentukan kriteria transisi/perpindahan dari satu tahap ke tahap berikutnya.

MODEL
Code and Fix System Development Life Cycle (SDLC) Prototyping Spiral CASE (Computer Aided Software Engineering)

CODE AND FIX MODEL.


TAHAP-TAHAPNYA : CODE (PEMROGRAMAN). FIX (PERBAIKAN/PEMELIHARAAN). KRITERIA TRANSISI : CODE (PROGRAM). CATATAN :

Proses pengembangan perangkat lunak pada awal era pengolahan data. Menggunakan 3GL atau lebih rendah. Biaya pemeliharaan yang besar.

PROSES PERANGKAT LUNAK


SDLC (System Development Life Cycle) TAHAP-TAHAPNYA :
Investigasi Analisa. Perancangan. Pengkodean. Pengoperasian. Pemeliharaan.

KRITERIA TRANSISI :
Dokumentasi.

CATATAN :
Sering dikenal sebagai Document Driven Software Process Merupakan perbaikan dari code and fix, dan sampai saat ini merupakan salah satu proses perangkat lunak yang paling banyak digunakan.

Bernhard Boar has defined prototyping as A specific strategy for performing requirements definitions wherein user needs are extracted, presented, and successively refined by building a working model of the ultimate system quickly and in its working context.

Connell and Shafer: A software prototype is a dynamic visual model providing a communication tool for customer and developer that is far more effective than either narrative prose or static visual models for portraying functionality. It has been described as: functional after a minimal amount of effort a means for providing users of a proposed application with a physical representation of key parts of the system before system implementation flexible modifications require minimal effort not necessarily representative of a complete system.

PROTOTYPING TAHAPAN: Identifikasi kebutuhan awal, prototyping, penggunaan dan


evaluasi prototipe (feedback),Revisi Prototyping ( Iterasi 1n), Penerimaan/Persetujuan End User, Implementasi Sistem, Operasionalisasi dan Pemeliharaan

KRITERIA TRANSISI :
CODE (PROGRAM) CATATAN :
Sering dikenal sebagai Code Driven Software Process Merupakan salah satu proses perangkat lunak yang mulai banyak digunakan saat ini. Banyak memanfaatkan 4GL dan Application Generator. Dibandingkan dengan SDLC :
* Produktivitas lebih baik * Kelengkapan fungsi dari sistem kurang baik * Keterpaduan (integrasi) sistem kurang baik

Alternatif

STRUCTURED RAPID PROTOTYPING.

PROSES PERANGKAT LUNAK


PROTOTYPING Tahap-tahap :
IDENTIFIKASI KEBUTUHAN AWAL PEMAKAI

MEMBUAT SEBUAH PROTOTYPE REVISI PROTOTYPE CONTOH MODEL (PROTOTYPE) MENGGUNAKAN DAN MENGEVALUASI PROTOTYPE

SISTEM YANG DISERAHKAN

Implementasi

Setuju

Tidak

PENGEMBANGAN PROTOTIPE SEBAGAI SUATU PROSES PENGEMBANGAN APLIKASI SECARA CEPAT (contoh produk NETSCAPE)
Start Specifications Complete Input from User Feedback Feature Design and Coding Integration Beta 0 Beta 2 Beta 1
Januari February March

Objectives

Full Release

Beta 4 Beta 5
May

Stabilize Beta 6
June July Agustus

Beta 3
April

PROSES PERANGKAT LUNAK


PROTOTYPING - STRUCTURED RAPID PROTOTYPING
8 Design Derivation 6 Prototyping Iteration 2 Rapid Analysis 5 Functions 1 Projek Plan 4 Menus 3 Database Creation 9 Tuning

7 User Approval

10 Operation & Maintenance

(Sumber : J.L. Connel, L.B. Shafer, Structured Rapid Prototyping, Prentice Hall, 1989)

CONTOH PENGEMBANGAN SISTEM DENGAN MENGGUNAKAN PENDEKATAN PENGEMBANGAN PROTOTYPE

Team. A few end users and IS developers form a team to develop a business Schematic. The initial prototype schematic design is developed. Prototype. The schematic is converted into a simple point-and-click
application

prototype using prototyping tools. Presentation. A few screens and routine linkages are presented to users. Feedback. After the team gets feedback from users, the prototype is retaired. Reiteration. Further presentations and reiteration are made. Consultation. consultation are held with central IT developers/consultants to identify potential improvements and conformance to existing standards of the organization. Completion. The prototype is converted into a finished application. Acceptance. Users review and sign off on their acceptance of the new system Installation. The new application software is installed on network servers

PROSES PERANGKAT LUNAK


MODEL SPIRAL KRITERIA TRANSISI :
Dokumen hasil analisa resiko.

CATATAN :
Sering dikenal sebagai : Risk Driven Software Process Untuk pengembangan proyek yang berskala besar, dengan memperhatikan pengaruh resiko dilihat dari segi finansial maupun keamanan (jiwa manusia). Kombinasi SDLC, Prototyping dan Risk Analysis.

MODEL SPIRAL
tahap-tahapnya :
Determine Objectives Alternatives Constraints
Cumulative Cost Progress through steps Evaluate alternative Identity resolve risk Risk analysis

Risk analysis Risk analysis Commitment Review Partition Prototype

Risk analysis

Prototype

Prototype

Operasional Prototype

Requirements plan Concept of Simulation, model, bencmarks like cycle plan operation Software Detailed requirements design Requirements Software validation product Integration and Code design test plan Design validation & velitication Unit test Integra tion and Acceptance Implemen test test Plan next phases tation

Spiral Model

Develop, verify next - level product

COMPUTER AIDED SOFTWARE ENGINEERING (CASE) Server Repository


The planning Toolset begins the development process with information strategy planning from a high-level business vantage point Planning Toolset

Case Workstation
The Analysis Toolset focuses on correctly capturing detailed business requirements early in development process Analysis Toolset

Case

The Design Toolset provides detailed specifications of the system solution

Design Toolset

Code Generation Toolset


Work Station Repositories Information Integrator Workstation repositories and a server repository document information about systems being developed or in use The Code Generation Toolset produces program code based on system specification

Database Generation Toolset


System Interface

The Information Integrator integrates system spscifications, check them for consistency and completeness, and records them in the repositories

The Database Generation Toolset generates information needed for data storage and access

The System Interface provides for file transfers and query resporting

Control What controls needed to protect against accidental loss or damage ? is there a needed to control access to data us by the application ?

Input What data are available, in what form

Processing What operations on the inputs are needed to produce the desired output ? What software can most effectively support those operations ?

Output What information is needed by end users and in what form should the output be presented ?

END USER DEVELOPMENT

Storage Does the application use previously stored data ? Does it create data that must be stored for future use by this or other applications ?

PEMBANGUNAN SISTEM INFORMASI : PENDEKATAN SISTEM


PERUMUSAN MASALAH

Define a problem or opportunity using systems thinking Develop and evaluate alternative system solutions Select the system solution that best meets your requirements

PENGEMBANGAN BERBAGAI ALTERNATIF SOLUSI

PEMILIHAN SOLUSI TERBAIK

DISAIN SOLUSI TERBAIK

Design the selected system solution to meet your requirements Implement and evaluate the success of the designed system

IMPLEMENTASI SOLUSI

SIKLUS PENGEMBANGAN SISTEM INFORMASI (SDLC)

te tiga ves In

t Implemen

Desi gn

ze aly An

in inta Ma

SIKLUS PENGEMBANGAN SISTEM INFORMASI


Memahami Permasalahan dan Peluang Sistem

Systems Investigation Product Feasibillity Study

Systems Analysis Product Functional Requirements

(SDLC)

Pengembangan Solusi Sistem Informasi

Systems Design Product System Specifications

Implementasi Solusi Sistem Informasi

Systems Implementation Product Operational systems

Systems Maintenance Product Improved system

INVESTIGASI SISTEM
PRODUK: TUJUAN, RUANG LINGKUP DAN PERUMUSAN MASALAH TOOLS: MATRIK KOMPONEN SISTEM INFORMASI DLLNYA.

Interviews with employees, costumers, and managers. Questionnaires to appropriate end users in the organization. Personal observation, videotaping, or involvement in end user work activities. Examination of documents, reports, procedures manuals, and other documentation. Development, simulation, and observation of model of the work activities.

PRODUK INVESTIGASI SISTEM: LAPORAN STUDI KELAYAKAN

Organizational Feasibility
How well proposed system supports the strategic objectives of the organization

Economic Feasibility
Cost savings Increased revenue Decreased investment Increased profits

Technical Feasibility

Operational Feasibility
End user acceptance Management support Customer, supplier, and government requirements

Hardware, Software, and network capability, reliability and availability

TAHAPAN ANALISIS
PRODUK: FUNCTIONAL REQUIREMENTS

User interface requirements. The input/output needs of end users


that must be supported by the information system, including sources, formats, content, volume, and frequency of each type of input and output.

Processing requirements. Activities required to convert input into


output. Includes calculations, decision rules, and other processing operations, and capacity, throughput, turnaround time, and response time needed for processing activities.

Storage requirements. Organization, content, and size of databases,


types and frequency of updating and inquiries, and the length and rationale for record retention.

Control requirements. Accuracy, validity safety, security, and


adaptability requirements for system inputs, processing, output and storage functions.

CONTOH SALAH SATU PENDEKATAN ANALISIS DAN DISAIN YANG MELIBATKAN TIM DAN PENGGUNAAN VIDEO
User videotape library and database video transcripts site maps mock-ups

Open-ended interviews Open-ended interviews On-site, in-context observations

Coview video with developers Understanding Identify key User Needs issues

Data Analysis

Form Systems Development Team

Verify findings with users

Codevelopment
Design solutions embodied in sketches, mock-ups, simulations Design workshops with users

Final System Design

Coview user`s reactions to design concepts

PRODUK: SYSTEM SPESIFICATIONS

User interface specifications: The content, format, and sequence of


user interface products and methods such as display screens, interactive dialogues, audio responses, forms, documents, and reports.

Database specifications: Content, structure, distribution, and


access, response, maintenance, and retention of databases.

Software specifications: The required software package or


programming specifications of the proposed system, including performance and control specifications.

Hardware and facilities specifications: The physical and


performance characteristics of the equipment and facilities required by the proposed system.

Personal specifications: Job descriptions of persons who will


operate the system.

Tahapan Disain

User Interface User Interface Design Design

Data Data Design Design

Process Process Design Design

Screen, Form, Report, and Dialog design

Data Element structur Design

Progam and Procedure design

TAHAPAN IMPLEMENTASI
Implementation Activities

Acquisition of Hardware, Software, and Services

Software Development or Modification

End User Training

System Documentation

Conversion Parallel Pilot Phased Plunge

TAHAPAN IMPLEMENTASI
Evaluate and acquire new hardware and software. Hardware includes computer systems, POS terminals, and telecommunications processors and network facilities. Software includes network management programs and POS transaction processing packages. Develop computer programs or make any necessary modifications to software packages that are acquired. Prepare training materials and documentation on how to operate the new POS system for managers and salespeople. Educate and train managers, salespeople, and information systems personnel to operate the new system. Test the system and make corrections until it operates properly Convert to the new system on a phased store-by-store basis to minimize disruption. Use the first store converted as a pilot installation to help with testing and training. Perform a postimplementation audit within 30 days of each store's conversion to determine if the new POS systems are achieving their expected advantages.

KONVERSI SISTEM
DIRECT CUT OVER ( IMMEDIATE CUT OVER) PHASED IN CUT OVER PARALELL CUT OVER PILOT PROJECT