Kamis, 25 Agustus 2011

Rekayasa Perangkat Lunak Edisi 1.0 | Download Materi Kuliah Teknik Informatika/Ilmu Komputer


Download Materi Kuliah | Rekayasa Perangkat Lunak   RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas.
IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.

Pertemuan I - II
Detail :
Pengenalan Rekayasa Perangkat Lunak
Definisi Klasik
“The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.”
Penerapan prinsip engineering untuk memperoleh software yang ekonomis, reliable dan bekerja efisien pada komputer
Definisi IEEE  (1993)
“Software Engineering:  (1)  The application of a systematic, disciplines, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software.  (2)  The study of approaches as in (1).”
RPL : (1) Penerapan secara sistematis, disiplin, pendekatan terukur pada pengembangan, pengoperasian dan pemeliharaan software. (2) Studi terhadap (1)
Komponen-komponen dari manajemen proyek.
Perencanaan membantu di dalam pengelolaan sumber daya proyek.
Peranan perencanaan (planning) didalam memfasilitasi pengembangan software.
(Selanjutnya dapat didownload)
Pertemuan III - IV
Detail :
Sekilas Aktivitas Pengembangan  Software 
Pengenalan Beberapa Siklus Hidup Pengembangan Software
Prinsip-Prinsip Proses
Menentukan seluruh aktivitas utama
Menggunakan sumber daya, dengan batasan tertentu, untuk menghasilkan produk antara dan produk akhir
Tersusun dari beberapa sub proses
Setiap aktivitas mempunyai kriteria masukan dan keluaran
Aktivitas diorganisasikan secara teratur
Mempunyai panduan yang menjelaskan tujuan
Aturan dipakai pada aktivitas,sumberdaya & produk
Software Lifecycle Models
Waterfall Model
V Model
Prototyping Model
Operational Specification Model
Phased Development Model
Spiral Model
Requirements Elicitation 
Cara Memperoleh Requirement
Overview Analisa Kebutuhan (Requirements Analysis)

Requirements Analysis
Tujuan
Menjembatani gap antara problem domain dan technical domain
Tasks/Kegiatan
Problem Recognition
Evaluation and synthesis
Modeling
Specification
Review
(Selanjutnya dapat didownload)
Pertemuan V-VI
Detail :
Software specification issues and objectives
The approach underlying the specification process
Specification phase outputs: IRS, SRS, SSR
Verification techniques
Software Design/ Disain PL
Definisi Umum dari disain
“… the process of applying various techniques and principles for the purpose of defining a device, a process, or a system in sufficient detail to permit its physical realization.”
Goal/Tujuan:
Membuat model yang akan diimplementasikan
Software Design Model
General Design Guidelines
Menunjukkan hirarki organisasi software dalam   mengatur  komponen-komponennya
Secara logik dibagi ke dalam beberapa komponen yang menampilkan spsesifik task dan subtask
Merepresentikan secara jelas data dan procedure
Membuat interface yang mereduksi kompleksitas
Diturunkan menggunakan metode yang berulang berdasar pada informasi yang diperoleh selama tahapan requirements
Architectural Design
Tujuannya adalah untuk membuat struktu program yang modular dan merepresentasikan hubungan control diantara modul
Mengkombinasikan program dan struktur dengan  mendefinisikan interfaces yang mengijinkan data mengalir diseluruh program
“Holistic view” dari software
Procedural Design
Setelah data & program structure telah ditetapkan, selanjutnya menentukan  detil procedural  tanpa  ambiguity
Design Notations
Structured programming
Graphical design notation
Tabular design notation
Program design language (PDL)
Software Design Fundamentals
Good design is not accomplished by chance
Disain yang baik tidak diselesaikan  secara kebetulan
Design Fundamentals
Abstraction
Refinement
Modularity
Software Architecture
Control Hierarchy
Data Structure
Software Procedure
Information Hiding
Modular Design
Benefits
Reduces complexity
Facilitates change
Easier implementation afforded by parallel development
Activation Mechanisms
Pattern of Control
Functional Independence
“Design software so that each module addresses a specific sub-function of requirements and has  a simple interface when viewed from other parts of the program structure”
Cohesion
“A cohesive module should do just one thing.”
Levels of Cohesion
Coincidental
Logical
Temporal
Procedural
Communicational
Sequential
Functional
Coupling
Measure of interconnection among modules
Levels of Coupling
No direct coupling
Data coupling
Stamp coupling
Control coupling
External coupling
Common coupling
Content coupling
(Selanjutnya dapat didownload)
Pertemuan VII
Detail :
Structured Design Techniques
Object-Oriented Design Techniques
Design Feedback
Software Design Lecture
Structured Design Techniques
Object-Oriented Design Techniques
Schedule Reorganization
Prototype due date
Data Flow-oriented Design Steps
Establish type of information flow
Determine information flow boundaries
Map DFD into program structure
Define control hierarchy by factoring
Refine model using design measures and heuristics
Transaction Mapping
Object Modeling Steps
Object Oriented Design Exercise
Tentative Object Classes
Keeping the Right Associations
Initial Object Diagram
Refining with Inheritance
Iterating Object Modeling
(Selanjutnya dapat didownload)
Tag :

0 komentar:

Posting Komentar

Posting Kami