bab1 rpl

23
8/2/2019 BAB1 RPL http://slidepdf.com/reader/full/bab1-rpl 1/23 Software Engineering/Rekayasa perangkat Lunak RPL adalah Ilmu dan Seni yang signifikan dalam membangun Sebuah System Perangkat Lunak, Yang diharapkan dari RPL : 1) on time (Tepat Waktu) 2) on budget (Tepat Budget) 3) with acceptable performance 4) with correct operation.

Upload: faddli-lindra-wibowo

Post on 05-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 1/23

Software Engineering/Rekayasaperangkat Lunak

•RPL adalah Ilmu dan Seni yang signifikan

dalam membangun Sebuah System Perangkat

Lunak, Yang diharapkan dari RPL :

1) on time (Tepat Waktu)

2) on budget (Tepat Budget)

3) with acceptable performance4) with correct operation.

Page 2: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 2/23

Software Engineering

The economies of all developed nations aredependent on software.

More and more systems are softwarecontrolled.Semakin banyak sistem yang tergantung kepda perangkat 

lunak 

Software engineering is concerned with theories,methods and tools for professional softwaredevelopment. Rekayasa perangkat lunak adalah concern dengan 

metode dan tool untuk pengembangan perangkat lunak secara profesional 

Software engineering expenditure represents asignificant fraction of the GNP of developedcountries.

Page 3: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 3/23

Software Costs Software costs often dominate system costs. The

costs of software on a PC are often greater than thehardware cost. Biaya Perangkat lunak sering mendominasi biaya sistem.

Software costs more to maintain than it does todevelop. Biaya software tidak hanya untuk membuat tetapi juga untuk

perawatan.

Software engineering is concerned with cost-effectivesoftware development. Rekayasa perangkat lunak konsen dengan efektifitas biaya pada

saat pembengunan perangkat lunak

Page 4: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 4/23

Software Products Generic products: (Buat 1 untuk semua)

Stand-alone systems which are produced by adevelopment organization and sold on the openmarket to any customer.

Customized products: (Buat 1 untuk 1)

Systems which are commissioned by a specificcustomer and developed specially by somecontractor.

Page 5: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 5/23

Software Product Attributes Maintainability

Dependability

Efficiency

Usability

Page 6: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 6/23

Importance of Product Characteristics

The relative importance of these characteristicsdepends on the product and the environment inwhich it is to be used.

In some cases, some attributes may dominate

In safety-critical real-time systems, key attributesmay be dependability and efficiency.

Costs tend to rise exponentially if very high levelsof any one attribute are required.

Page 7: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 7/23

Efficiency Costs

Cost

Efficiency

Page 8: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 8/23

The Software Process Structured set of activities required to develop a

software system Satu Set Aktivitas yang dilakukan pada saat mengembangkan

perangkat lunak Specification

Design Validation

Evolution

Activities vary depending on the organizationand the type of system being developed.

Aktivitas bervariasi tergantung organisasi dan tipe sistemyang dikembangkan

Must be explicitly modeled if it is to bemanaged. Secara eksplisit harus dibuat model agar bisa dimanage

Page 9: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 9/23

Engineering Process Model Specification: Set out the requirements and

constraints on the system.

Design: Produce a model of the system.

Manufacture: Build the system.

Test: Check the system meets the requiredspecifications.

Install: Deliver the system to the customer andensure it is operational.

Maintain: Repair faults in the system as theyare discovered.

Page 10: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 10/23

Software Engineering is Different

Normally, specifications are incomplete.

Very blurred distinction between specification,design and manufacture.

No physical realization of the system for testing.

Software does not wear out - maintenancedoes not mean component replacement.

Page 11: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 11/23

Generic Software Process Models

Waterfall  Separate and distinct phases of specification and

development

Evolutionary 

Specification and development are interleaved

Formal Transformation 

A mathematical system model is formallytransformed to an implementation

Reuse-based 

The system is assembled from existing components

Page 12: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 12/23

Waterfall Process Model

Requirementsdefinition

System andsoftware design

Implementationand unit testing

Integration and

system testing

Operation andmaintenance

Page 13: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 13/23

Evolutionary Process Model

ValidationFinal

version

DevelopmentIntermediate

versions

SpecificationInitial

version

Outline

description

Concurr entactivities

Page 14: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 14/23

Process Model Problems Waterfall 

High risk for new systems because of specification anddesign problems.

Low risk for well-understood developments usingfamiliar

technology. Prototyping 

Low risk for new applications because specification andprogram stay in step.

High risk because of lack of process visibility.

Transformational  High risk because of need for advanced technology and

staff skills.

Page 15: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 15/23

Hybrid Process Models Large systems are usually made up of several

sub-systems.

The same process model need not be used forall subsystems.

Prototyping for high-risk specifications.

Waterfall model for well-understooddevelopments.

Page 16: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 16/23

Spiral Process Model

Risk analysis

Risk analysis

Risk analysis

Risk analysis Proto-

type 1

Prototype 2Prototype 3

Opera-

tionalprotoype

Concept of Operation

Simulations, models, benchmarks

S/Wrequirements

Requirementvalidation

DesignV&V

Productdesign Detailed

design

Code

Unit tes t

IntegrationtestAcceptance

testService Develop, verifynext-level p roduct

Evaluate alternativesidentify, resolve risks

Determine objectivesalternatives and

constraints

Plan next phase

Integrationand test plan

Developmentplan

Requirements planLife-cycle plan

REVIEW

Page 17: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 17/23

Spiral Model Advantages

Focuses attention on reuse options. Focuses attention on early error elimination.

Puts quality objectives up front.

Integrates development and maintenance. Provides a framework for hardware/software

development.

Page 18: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 18/23

Spiral Model Problems

Contractual development often specifiesprocess model and deliverables in advance.

Requires risk assessment expertise.

Page 19: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 19/23

Process Visibility

Software systems are intangible so managersneed documents to assess progress.

Waterfall model is still the most widely usedmodel.

Page 20: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 20/23

Waterfall Model Documents

Activity Output documents

Requirements analysis Feasibility study, Outline requirements

Requirements definition Requirements document

System specification Functional specification, Acceptance test plan

Draft user manualArchitectural design Architectural specification, System test plan

Interface design Interface specification, Integration test plan

Detailed design Design specification, Unit test plan

Coding Program code

Unit testing Unit test report

Module testing Module test report

Integration testing Integration test report, Final user manual

System testing System test report

Acceptance testing Final system plus documentation

Page 21: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 21/23

Process Model Visibility

Proces s model Proces s visibility

Waterfall model Good visibility, each activity produces somedeliverable

Evolutionary

development

Poor visibility, uneconomic to produce

documents during rapid iterationFormaltransformations

Good visibility, documents must be producedfrom each phase for the process to continue

Reuse-orienteddevelopment

Moderate visibility, it may be artificial toproduce documents describing reuse and

reusable components.Spiral model Good visibility, each segment and each ring

of the spiral should produce some document.

Page 22: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 22/23

Professional Responsibility

Software engineers should not just be concernedwith technical considerations. They have widerethical, social and professional responsibilities.

No clear rights and wrongs about many of these

issues: Development of military systems

Whistle blowing

Page 23: BAB1 RPL

8/2/2019 BAB1 RPL

http://slidepdf.com/reader/full/bab1-rpl 23/23

Ethical Issues

Confidentiality Competence

Intellectual property rights

Computer misuse