WedIT! 7: Pengenalan Software Engineering

64
 http://flickr.com/photos/ricardo_ferreira/2475319350/ WedIT Pengenalan Software Engineering (Rekayasa Perangkat Lunak)

description

WedIT! or wednesday IT day (rabu IT) is an event of sharing & upgrading at PT Jerbee Indonesia.

Transcript of WedIT! 7: Pengenalan Software Engineering

Page 1: WedIT! 7: Pengenalan Software Engineering

   

http

://fli

ckr.c

om/p

hoto

s/ric

ardo

_fer

reira

/247

5319

350/

WedITPengenalan Software Engineering(Rekayasa Perangkat Lunak)

Page 2: WedIT! 7: Pengenalan Software Engineering

   

#1 [  S  O  F  T  W  A  R  E  ]

Page 3: WedIT! 7: Pengenalan Software Engineering

   

http://flickr.com/photos/striatic/2326860/

Page 4: WedIT! 7: Pengenalan Software Engineering

   

a collection of computer programs, procedures and documentationthat perform some tasks on a computer system

                                                                      ~ Wikipedia.org

Page 5: WedIT! 7: Pengenalan Software Engineering

   

Page 6: WedIT! 7: Pengenalan Software Engineering

   

[  J E N I S  –  J E N I S   S  O  F  T  W  A  R  E  ]#2 

Page 7: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/isriya/22487125/

System Softwaredevice drivers, operating systems, servers, utilities, window manager

Page 8: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/mrqf/1150458179/

Programming Softwarecompilers, debuggers, interpreters, linkers, text editors ~ IDE

Page 9: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/21160667@N

07/2056870120/

Application Softwarebusiness/office, education, gamesentertainment dll.

Page 10: WedIT! 7: Pengenalan Software Engineering

   

[  S O F T W A R E    E N G I N E E R I N G ?  ]#3 

Page 11: WedIT! 7: Pengenalan Software Engineering

   

a systematic, disciplined, quantifiable approach to thedevelopment, operation, and maintenance of software

                                                                      ~ Wikipedia.org

Page 12: WedIT! 7: Pengenalan Software Engineering

   

software development process...

software life cycle...

Page 13: WedIT! 7: Pengenalan Software Engineering

   

[  A K T I F I T A S   S O F T W A R E    E N G I N E  E R I N G  ]#4 

Page 14: WedIT! 7: Pengenalan Software Engineering

   

apapun metodologinya, aktifitas di dalamnyakurang lebih tetap sama...

Page 15: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/claudio_ar/2939243781/

Analogi :Apapun strateginya (4­4­2, 4­5­1), gayanya (total football,joga bonito, kick n rush, cattenacio)... aktivitas di lapangan hijau tetaplah menendang bola, mengoper, menangkap bola dst.

Page 16: WedIT! 7: Pengenalan Software Engineering

   

apapun metodologinya, aktifitas pengembanganperangkat lunak umumnya...

Page 17: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/smiling_da_vinci/14785644/

1. Requirementsmendapatkan kejelasan bisnis proses dari user melalui komunikasi langsungoutput: dokumen wawancara (waterfall),diagram use case (UML), user stories (XP) 

Page 18: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/merydith/3215847513/

2. Modellingmenerjemahkan bisnis proses ke bentuk model atau diagram (UML, DFD, Flowchart/flowmap, ER). 

Page 19: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/samuraislice/2985906586/

3. Designmerencanakan rancangan software agar fault­tolerance, compatibility, extensibility, reliability, maintainability, availability, usability → contoh: desain arsitektur( client­server? N­tier? MVC?), platform dll.

Page 20: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/tobanblack/3251282019/

4. Implementationaksi logic dan programming, tapi aktivitas lain selain engineering bisa muncul juga di sini (science, mathematics dan seni)

Page 21: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/pgautier/1298109082/

5. Testingidentify the correctness, completeness, security and quality (data sample, simulation, alpha test, beta test)

Page 22: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/smart_grow

th/2454419537/

6. Deploymentinstalasi, aktivasi, update, adaptasi dan sosialisasi, (membuat software kita siap digunakan oleh user)++ issue: maintenance...

Page 23: WedIT! 7: Pengenalan Software Engineering

   

selain aktifitas standar di atas, seperti halnya peranmedic & wasit di sepak bola.. ada aktifitas pendukung lain

yang menopang poin 1­6 di atas...

Page 24: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/yaffamedia/1387424309/

X. Supporting Disciplinesdokumentasi project management quality assurance dll.

Page 25: WedIT! 7: Pengenalan Software Engineering

   

[   MODELING / DIAGRAM  & DOKUMENTASI ]#5 

Page 26: WedIT! 7: Pengenalan Software Engineering

   

  CONTEXT DIAGRAM (CD)                   ­ represent all external entities that may interact with a system             ­ lingkaran (sistem) + kotak (entity) + panah + input output

Page 27: WedIT! 7: Pengenalan Software Engineering

   

Page 28: WedIT! 7: Pengenalan Software Engineering

   

  DATA FLOW DIAGRAM (DFD)                   ­ detailing context diagram             ­ level kedalaman idealnya 1­3             ­ hukum: data/info yang masuk = data/info yang keluar

Page 29: WedIT! 7: Pengenalan Software Engineering

   

CONTEXT DIAGRAM

DFD LEVEL 1

Page 30: WedIT! 7: Pengenalan Software Engineering

   

  ENTITY RELATIONSHIP DIAGRAM (ERD)                   ­ abstract and conceptual representation of data             ­ skema & modelling database

Page 31: WedIT! 7: Pengenalan Software Engineering

   

Page 32: WedIT! 7: Pengenalan Software Engineering

   

  USE CASE DIAGRAM                   ­ description of a system’s behaviour / responds to a request             ­ describes "who" can do "what" with the system             ­ user point of view             ­ part of UML tools

Page 33: WedIT! 7: Pengenalan Software Engineering

   

Page 34: WedIT! 7: Pengenalan Software Engineering

   

  FLOW MAP DIAGRAM                   ­ advance flow chart: object movement by location/position 

Page 35: WedIT! 7: Pengenalan Software Engineering

   

Page 36: WedIT! 7: Pengenalan Software Engineering

   

  SOFTWARE DEVELOPMENT DOCUMENTATION                   ­ IEEE Software Document Definitions (7 items)             ­ MIL­STD­498 Data Item Descriptions (22 items)             ­ SRS, SDD, STD, SUM

Page 37: WedIT! 7: Pengenalan Software Engineering

   

Software Requirements Specifications (SRS)

Cover PageRevisions Page1 INTRODUCTION    1.1 Product Overview    1.2 Purpose    1.3 Scope    1.4 Reference    1.5 Definition And Abbreviation2 SPECIFIC REQUIREMENTS    2.1 External Interface Requirements        2.1.1 User Interfaces        2.1.2 Hardware Interfaces        2.1.3 Software Interfaces        2.1.4 Communications Protocols        2.1.5 Memory Constraints        2.1.6 Operation        2.1.7 Product function        2.1.8 Assumption and Dependency    2.2 Software Product Features    2.3 Software System Attributes        2.3.1 Reliability        2.3.2 Availability        2.3.3 Security        2.3.4 Maintainability        2.3.5 Portability        2.3.6 Performance    2.4 Database Requirements

Page 38: WedIT! 7: Pengenalan Software Engineering

   

Software Design Description (SDD)

   1. INTRODUCTION         1. Design Overview         2. Requirements Traceability Matrix   2. SYSTEM ARCHITECTURAL DESIGN         1. Chosen System Architecture         2. Discussion of Alternative Designs         3. System Interface Description   3. DETAIL DESCRIPTION OF COMPONENTS         1. Component n         2. Component n+1   4. USER INTERFACE DESIGN         1. Description of the User Interface               1. Screen Image               2. Objects and Actions   5. ADDITIONAL MATERIAL

Page 39: WedIT! 7: Pengenalan Software Engineering

   

[   M  E  T  O  D  O  L  O  G  I   ]#6 

Page 40: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/3336/142845984/

1. Waterfallpaling konvensionalflowing steadily downwardsserial banget... kaku...

Page 41: WedIT! 7: Pengenalan Software Engineering

   

Page 42: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/gigaboss/100381027/

2. Prototypingmembuat prototype atau mock­up

Page 43: WedIT! 7: Pengenalan Software Engineering

   

Page 44: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/slr/11147904/

3. Spiralkombinasi top­down & bottom­upcikal bakal iterative

Page 45: WedIT! 7: Pengenalan Software Engineering

   

Page 46: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/rutlo/3339656017/

4. Rapid App. Dev.fast development & smaller/modular(karena ada RAD tools yang OK) 

Page 47: WedIT! 7: Pengenalan Software Engineering

   

Page 48: WedIT! 7: Pengenalan Software Engineering

   

http://ww

w.flickr.com

/photos/lenore­m/2400412112/

5. Iterativebasic concept, banyak menjadi bagianmetode lainnya...

Page 49: WedIT! 7: Pengenalan Software Engineering

   

Page 50: WedIT! 7: Pengenalan Software Engineering

   

RUP, Rational Unified Process...                   ­ Divisi IBM             ­ UML             ­ Rational Rose

Page 51: WedIT! 7: Pengenalan Software Engineering

   

Page 52: WedIT! 7: Pengenalan Software Engineering

   

   XP, extreme programming...                   ­ day­to­day practices for developers and managers             ­ more responsive to customer needs (agile)             ­ pragmatis

Page 53: WedIT! 7: Pengenalan Software Engineering

   

Page 54: WedIT! 7: Pengenalan Software Engineering

   

Agile Software Development...      XP+Scrum+DSDM+Crystal+Pragmatic+FDD = agile manfesto

  ­ customer satisfaction by rapid, continuous delivery of useful software  ­ working software is delivered frequently (measure of progress)  ­ late changes in requirements are welcomed  ­ close, daily cooperation between business people and developers  ­ face­to­face conversation is the best form of communication  ­ projects are built around motivated individuals, who should be trusted  ­ continuous attention to technical excellence and good design  ­ simplicity  ­ self­organizing teams  ­ regular adaptation to changing circumstances

Page 55: WedIT! 7: Pengenalan Software Engineering

   

web development “banget”, pragmatic, representasi → scrum

Page 56: WedIT! 7: Pengenalan Software Engineering

   

Page 57: WedIT! 7: Pengenalan Software Engineering

   

adaptasi software development methodology “untuk kita” ?

Page 58: WedIT! 7: Pengenalan Software Engineering

   

Page 59: WedIT! 7: Pengenalan Software Engineering

   

Page 60: WedIT! 7: Pengenalan Software Engineering

   

[  R  E  F  E  R  E  N  S  I  ]#7 

Page 61: WedIT! 7: Pengenalan Software Engineering

   

http://flickr.com/photos/ashitaka96/319032681/

Kitab RPLdari yang antik hingga yang pragmatis, demi dasar kuda­kuda yang kuat

Page 62: WedIT! 7: Pengenalan Software Engineering

   

Software Engineering – Roger S. Pressman

Software Engineering – Ian Sommerville

Modern Structured Analysis – Edward Yourdon

Page 63: WedIT! 7: Pengenalan Software Engineering

   

Pragmatic Programmer – A. Hunt & D. Thomas

Getting Real – 37Signals

Joel On Software – Joel Spolsky

Page 64: WedIT! 7: Pengenalan Software Engineering

   

Diki Andeas ST.Direktur Teknik

PT Jerbee [email protected] - http://slideshare.net/niwat0ri Credits: Flickr CreativeCommons licensed image collections (URL at each page)