Professional Documents
Culture Documents
(Software Engineering)
Pendahuluan
Produk
Perangkat
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
Failure Rate
Awal produksi
Time
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
The
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
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
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
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
increment 2
analysis
design
code
test
increment 3 analysis
design
code
test
increment 4
analysis
design
code
test
calendar time
Risk Analysis
Customer Communication
Engineering
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
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
Defining
the Problem
scopea narrative that bounds the
establish
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
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?