You are on page 1of 28

REKAYASA PERANGKAT LUNAK

(Software Engineering)

Pendahuluan

Produk
Perangkat

Lunak (PL) / Software ?

Serangkaian instruksi/program/struktur data yang dapat di exekusi / untuk memanipulasi suatu informasi.
software is engineered software doesnt wear out software is custom built software is complex

Failure

(Bathtub) Curve for Hardware

Failure Rate

Awal produksi

tidak dipakai lagi

Time

icadi r n s fl e r ea e u rt d t s ec a uodf t e e ief s e

Fr ae iu l rt a e

cn hg ae a au c lcv t re u

iez cv dl e u a d re i Te i m

Aplikasi

PL

System Software (s/w), misalnya s/w yang berupa kumpulan program untuk menunjang pembuatan program Real Time Software, misalnya s/w yang digunakan untuk mengukur / menganalisa / mengontrol proses input data s/d output sesuai dengan keinginan Bussines Software, misalnya s/w yang digunakan dalam aplikasi bisnis

Engineering & Scientific Software, misalnya s/w yang digunakan dalam aplikasi teknik Embedded Software, misalnya s/w yang digunakan untuk mengontrol proses dalam pabril & biasanya disimpan didalam ROM Personal Computer Software, misalnya s/w untuk aplikasi komputer Artificial Intellegence Software, misalnya s/w untuk kecerdasan buatan

Mitos

RPL

Management We have new computers We have standards Well add more people to catch up I outsourced it, Im done Customer We have general objectives, lets start Change is easily accommodated Practitioner Well write it and be done I cant assess quality until it is running I only need deliver code Software engineering is about meaningless documents

Biaya perubahan
6 -1 0 0 0x

1 -6 .5 x 1 x A r re a e fte le s

D fin n e itio

D ve p e t e lo m n

Proses
Kerangka

proses RPL

Common process framework Framework activities Task Sets tasks milestones,deliverables SQA checkpoints Umbrella Activities

Kegiatan

Software

RPL

control) Formal technical reviews Software quality assurance Software configuration management Document preparation and production Reusability management Measurement / pengukuran Risk management

project management (tracking and

The

Process Model : Adaptability

the

framework activities will always be applied on every project ... BUT the tasks (and degree of rigor) for each activity will vary based on:
the

type of project (an entry point to the model) characteristics of the project common sense judgment; concurrence of the project team

Process

as Problem Solving / Sekuensial Linier Model


Definisi masalah

status quo

pengembangan teknis

solution integration

The

Linear Model

System/information engineering

analysis

design

code

test

Waterfall

Model
Software Reqmts Analysis Software Detailed Design Software Integration Software Coding & Testing Software Qualification Testing System Integration, Qualification & Release Activities

Software Item 1

Software Architectural Design

System Reqmts System Analysis Architectural Design

Software Item n ...

Hardware Items

Note: 1) Software Lifecycle Activities are bolded / shaded 2) This model is consistent with IEEE/EIA 12207.2 - 1997

Prototyping

listen to customer

build/revise mock-up

customer test-drives mock-up

Prototyping

RAD# tm e1 a
bs us s i n e m og d e l i n

tm e3 a # tm e2 a #
b sn s ui es md l n o ei g

b sn s ui es md l n o ei g

dt aa md l n o ei g

po e s r c s md l n o ei g

dt aa md l n o ei g

a p c to p l ai n i g nr to e ea i n

d a t a m og d e l i n

po e s r cs md l n o ei g

t si g e tn & t r oe un v r

a p c to p l ai n i g n r to e e ai n

ps rs o c e m og d e l i n

t si g e tn & t r oe un v r

aa pt po li i n c gt ei nn e r a o

tt e s i n g & to ue r r n v

60s 0d - a 9y

The

Incremental Model
increment 1
code test design

System/information engineering

analysis

delivery of 1st increment

increment 2

analysis

design

code

test

delivery of 2nd increment

increment 3 analysis

design

code

test

delivery of 3rd increment

increment 4

analysis

design

code

test

delivery of 4th increment

calendar time

An Evolutionary (Spiral) Model


Planning

Risk Analysis

Customer Communication

Engineering

Cus tomer Evaluation

Construction & Release

Still

WINWIN spiral model - defines negotiating activities and adds anchor points to spiral model Concurrent process modelrecognizes that different part of the project will be at different places in the process Component-based development modelthe process to apply when reuse is a development objective Formal methodsthe process to apply when a mathematical specification is to be developed Cleanroom software engineeringemphasizes error detection before testing

Other Process Models

Manajemen Proyek
The
People

the most important element of a successful project Product the software to be built Process the set of framework activities and software engineering tasks to get the job done Project all work required to make the product a reality

4 Ps

Software

Teams

the difficulty of the problem to be solved the size of the resultant program(s) in lines of code or function points the time that the team will stay together (team lifetime) the degree to which the problem can be modularized the required quality and reliability of the system to be built the rigidity of the delivery date the degree of sociability (communication) required for the project

Organizational

closed paradigmstructures a team along a traditional hierarchy of authority (similar to a CC team) random paradigmstructures a team loosely and depends on individual initiative of the team members open paradigmattempts to structure a team in a manner that achieves some of the controls associated with the closed paradigm but also much of the innovation that occurs when using the random paradigm synchronous paradigmrelies on the natural compartmentalization of a problem and organizes team members to work on pieces of the problem with little active communication among themselves

Paradigms

Project Management Concerns


product quality? risk assessment? measurement? cost estimation? project scheduling? customer communication? staffing? other resources? project monitoring?

Defining

the Problem
scopea narrative that bounds the

establish

problem decompositionestablishes functional partitioning

Melding Problem and Process


c u s t c o o e m mr m u n ic a tio n p la n n in g

C M P CS O O RE M N OS F M O AI I I S RE R C T A WK T E V

Sw Ei ei ga s o a nnr Tk f r ge t e n s Pdt ut n r uF c s o c ni o Ttn t e ip x u Ei gnfr a g dna o t i t dm i n A m c yd u a o et t t p i o i c Pe y t a by a l o c alt ga u pii A m i di gnT u a nx a O t t en d C o i c F mg e ie a e n l nm a t Due pdt n om r ui c n oc t o

e n g in e e rn i g

rs i k a n a ly s is

Software
size

Projects

delivery deadline budgets and costs application domain technology to be implemented system constraints user requirements available resources

Why

Projects Fail?

an unrealistic deadline is established changing customer requirements an honest underestimate of effort predictable and/or unpredictable risks technical difficulties miscommunication among project staff failure in project management

To

Get to the Essence / pokok of a Project

Why

is the system being developed? What will be done? By when? Who is responsible for a function? Where are they organizationally located? How will the job be done technically and managerially? How much of each resource (e.g., people, software, tools, database) will be needed?

You might also like