Senin, 10 September 2012

Beberapa Pemikiran dalam Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak
Apa yang dimaksud dengan Rekayasa Perangkat Lunak itu? 
Software engineering is the establishment of sound engineering principles in order to obtain reliable and efficient software in an economical manner.
Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.
Software engineering encompasses a process, management techniques, technical methods, and the use of tools.

Kerangkat Kerja Umum Proses Perangkat Lunak
1. Komunikasi/Communication (customer collaboration and requirement gathering)
2. Perencanaan/Planning (establishes engineering work plan, describes technical risks, lists resources required, work products produced, and defines work schedule).
3. Pemodelan/Modeling (creation of models to help developers and customers understand the requires and software design)
4. Konstruksi atau Rancang Bangun/Construction (code generation and testing)
5. Deployment (software delivered for customer evaluation and feedback)


Software Engineering Umbrella Activities
  1. Software project tracking and control (allows team to assess progress and take corrective action to maintain schedule)
  2. Risk management (assess risks that may affect project outcomes or quality)
  3. Software quality assurance (activities required to maintain software quality)
  4. Technical reviews (assess engineering work products to uncover and remove errors before they propagate to next activity)
  5. Measurement (define and collect process, project, and product measures to assist team in delivering software meeting customer needs)
  6. Software configuration management (manage effects of change)
  7. Reusability management (defines criteria for work product reuse and establish mechanisms to achieve component reuse)
  8. Work product preparation and production (activities to create models, documents, logs, forms, lists, etc.)
Esensi Dasar dalam Praktek Pengembangan Perangkat Lunak
1. Memahami Konteks Permasalahan (dengan melakukan komunikasi dan analisis)
2. Merencanakan Solusi (perancangan perangkat lunak)
3. Mengeksekusi Rencana Solusi (kodifikasi dan debugging) 
4. Review Hasil untuk Akurasi (dengan melakukan testing dan jaminan kualitas)

Berikut adalah penjelasan masing-masing
(1) Understand the Problem
•    Who are the stakeholders?
•    What functions and features are required to solve the problem?
•    Is it possible to create smaller problems that are easier to understand?
•    Can a graphic analysis model be created?
(2) Plan the Solution
•    Have you seen similar problems before?
•    Has a similar problem been solved?
•    Can readily solvable subproblems be defined?
•    Can a design model be created?
(3) Carry Out the Plan
•    Does solution conform to the plan?
•    Is each solution component provably correct?
(4) Examine the Result
•    Is it possible to test each component part of the solution?
•    Does the solution produce results that conform to the data, functions, and features required?



Tidak ada komentar:

Posting Komentar