1 - Pengenalan Analisis dan Spesifikasi Rekayasa kebutuhan
Summary
TLDRIn this educational session, Supardianto introduces the fundamentals of requirement engineering and software specification. The lecture covers the basics of analysis and engineering needs, emphasizing the importance of understanding and documenting user requirements to avoid development pitfalls. It discusses common problems in software projects, such as insufficient user input and ambiguous requirements, and outlines two typical requirement processes: Waterfall and Agile, each with its own challenges and benefits. The session aims to equip students with the knowledge to effectively capture and prioritize software features based on customer needs and goals.
Takeaways
- 📘 The course introduces the basic concepts of analyzing and determining software requirements, starting from the analysis phase to the documentation of software needs.
- 🔍 The first meeting focuses on the basics of requirement analysis and engineering, aiming for students to understand and explain these concepts.
- 📝 Requirement engineering is crucial as it helps in defining clear software requirements based on customer needs and goals, which is essential for successful application development.
- 🚫 A common issue in software projects is insufficient user involvement, leading to communication gaps between analysts and customers, and potential misunderstandings of requirements.
- 🔄 The 'creeping user requirement' problem arises when customers add or change features during the development process, which can cause delays and increased costs.
- 💬 Ambiguity in requirements can lead to different interpretations between developers and customers, resulting in features that do not meet the actual needs.
- 🛍️ Gold plating occurs when developers add features that are not required by the customer, potentially wasting resources on unnecessary functionality.
- 📉 Minimal specification planning can lead to poor project management and an inability to effectively plan and execute the software development process.
- 👥 Overlooking user classes can cause issues if the development team does not properly understand who the end-users of the application will be.
- 🔧 The distinction between project and product requirements is important; projects involve how the software will be developed, while products focus on the software's features and functionality.
- 🔄 Two typical requirement processes are highlighted: the well-established Waterfall model, which is sequential, and the iterative and incremental model, which allows for flexibility and customer feedback after each feature is developed.
Q & A
What is the main topic of the first lecture in the 'Analysis and Specification of Software Requirements' course?
-The main topic of the first lecture is an introduction to requirement engineering, discussing the basics of analysis and specification of software requirements.
What does the term 'requirement engineering' refer to?
-Requirement engineering refers to the process of defining, documenting, and managing the requirements of a software system.
Why is it important to understand the basics of requirement analysis and specification?
-Understanding the basics is crucial because it helps in explaining the fundamental concepts of requirement analysis and specification, which are essential for the first meeting of the course.
What is the significance of creating software based on user goals?
-Creating software based on user goals ensures that the application meets the needs and objectives of the customers, leading to a product that is relevant and useful.
What are some common problems encountered in software projects due to inadequate requirements?
-Common problems include insufficient user involvement, unclear requirements, gold plating (unnecessary features), and misinterpretation due to ambiguous requirements.
What is the difference between 'product requirements' and 'project requirements'?
-Product requirements define what the software should do, its features, while project requirements are about how the project will be executed, including infrastructure, developer skills, and legal aspects.
Why is it important to define requirements early in the software development process?
-Defining requirements early helps in identifying potential issues before they become costly to fix, making it easier and cheaper to address them at the beginning of the development process.
What are the two typical types of requirement processes mentioned in the script?
-The two typical types of requirement processes are the well-established 'Waterfall' model and the iterative 'Agile' model.
What challenges are associated with the Waterfall model of requirement process?
-Challenges with the Waterfall model include potential long delivery times, difficulty in collaboration, and lengthy prototyping phases due to the sequential nature of the process.
What are the advantages of the Agile model in requirement engineering?
-The Agile model offers flexibility, allowing for iterative development where features are developed and reviewed one at a time, enabling rapid feedback and adaptation to customer needs.
How does the script emphasize the importance of clear communication between developers and customers?
-The script emphasizes clear communication by discussing the problems that arise from ambiguous requirements and the need for active customer feedback to ensure the software meets their needs.
Outlines
📚 Introduction to Requirement Engineering
This paragraph introduces the concept of requirement engineering in software development. The speaker, Supardianto, begins a lecture on analyzing and specifying software requirements. The main theme is to understand the basics of requirement analysis and engineering to create a software document that meets user needs and goals. The importance of capturing accurate requirements early in the development process is emphasized to avoid costly mistakes and ensure the software meets the customer's expectations.
🔍 The Importance and Challenges of Requirement Gathering
The second paragraph delves into the significance of identifying and understanding requirements early in the software development lifecycle. It discusses the cost and time efficiency of addressing issues at the beginning rather than later stages. The paragraph outlines common problems such as insufficient user input, changing user requirements during development, ambiguous requirements, and 'gold plating' where developers add unnecessary features. The summary highlights the need for clear communication and planning to prevent these issues.
🛠️ Understanding Different Types of Requirement Processes
This paragraph explains the differences between project and product requirements, emphasizing that they are not the same. It also introduces two typical requirement processes: the well-established 'Waterfall' model and the more flexible 'Iterative' model. The 'Waterfall' model is sequential, while the 'Iterative' model allows for feedback and adjustments after each feature is developed. The challenges of each method, such as long delivery times and repetitive work, are discussed, along with the importance of maintaining clear documentation and active customer feedback.
🚀 Conclusion on the Necessity of Requirements in Software Development
The final paragraph concludes the lecture by reiterating the importance of basing software development on customer needs and objectives rather than assumptions. It summarizes the key points about the benefits of early problem detection and the advantages of different requirement processes. The paragraph ends with a reminder of the two types of requirements, 'Well-established' and 'Iterative,' each with its own challenges and benefits, and a note of thanks to the audience for attending the first meeting.
Mindmap
Keywords
💡Requirement Engineering
💡Software Specification
💡Customer Needs
💡Problems in Software Projects
💡Ambiguity in Requirements
💡Gold Plating
💡Requirement Documentation
💡Waterfall Model
💡Iterative Development
💡Prototyping
💡Feedback Loop
Highlights
Introduction to requirement engineering as a fundamental concept in software development.
The importance of understanding the basic principles of requirement analysis and specification.
The analogy used to explain the importance of clear communication between analysts and customers.
The necessity of creating software with consideration of user goals and purposes.
Definition of software requirements as specifications that must be present in the application.
The difference in understanding requirements between developers and customers.
The significance of early identification of requirements to prevent future bugs and irrelevant features.
Cost-effectiveness of addressing issues in the early stages of software development.
Common problems in software projects, such as insufficient user involvement and changing requirements.
The impact of ambiguous requirements leading to misinterpretation by developers and customers.
The issue of 'gold plating' where developers add unnecessary features not required by the customer.
The challenges of minimal specification planning and overlooking user classes in project management.
The distinction between project requirements and product requirements in software development.
Typical requirement processes, including the well-established Waterfall model and its challenges.
The iterative and incremental approach of the Agile requirement process and its flexibility.
The importance of active customer feedback in the Agile development process.
The conclusion emphasizing the importance of requirements in software development and the benefits of early problem identification.
Transcripts
[Musik]
Halo semuanya Jumpa lagi bersama saya
supardianto pada mata kuliah analisis
dan spesifikasi kebutuhan perangkat
lunak kita akan masuk ke pertemuan kita
yang pertama yaitu membahas mengenai
introduction of the requirement
engineering ya kita mulai dulu dari
deskripsi Mata kuliahnya bahwa mata
kuliah ini adalah mata kuliah yang
mengenalkan konsep dasar
dalam melakukan analisis dan menentukan
spesifikasi kebutuhan pada sebuah
perangkat lunak mulai dari tahapan
analisis menyusun menjadi sebuah dokumen
suatu kebutuhan perangkat lunak
Kemudian pada pertemuan kita yang
pertama ini kita akan membahas mengenai
dasar-dasar analisis dan rekayasa
kebutuhan sehingga diharapkan nanti
teman-teman bisa menjelaskan mengenai
dasar analisis dan rekayasa kebutuhan
itu adalah capek belajar kita di
pertemuan yang pertama ini
Adapun outline yang akan kita bahas pada
pertemuan kali ini adalah mengenai What
is requirement engineering Why is
important lalu kemudian ada kabar
problem in the project produk and
Project requirement terminologi serta
sampai dengan karakteristik of the Good
requirement
kita akan masuk ke bagian yang pertama
mengenai
kita lihat dengan melalui penggambaran
dari analogi gambar yang ada di slide
ini gitu ya dikatakan bahwa ada
seseorang yang ingin dibuatkan suatu
aplikasi gitu ya lalu ditanya oleh si
analisnya lah kita anggap si perempuan
ini sebagai analis aplikasi seperti apa
yang ingin kamu bangun gitu ya si
customernya hanya menjawab bahwa saya
mau aplikasi desain aplikasi yang
seperti apa kemudian analis dan bertanya
lagi ya Saya tidak tahu saya aja belum
lihat aplikasinya seperti itu bisa nggak
kamu Gambarkan mengenai seterusnya dia
nggak bisa gitu ya makanya kemudian ada
kalimat yang di bawahnya berkata bahwa
software has to be created with the
consideration of the user goals jadi
garis bawahnya adalah bahwa suatu
aplikasi itu dia dibuat berdasarkan atas
kebutuhan dari Cu stomernya dan juga
dari tujuan apa yang ingin customernya
dapatkan gitu ya maka kita nggak bisa
membuat suatu aplikasi dengan hanya
berdasarkan satu asumsi saja perlu
teman-teman ingat pada bagian Kenapa
kemudian
itu sangat dibutuhkan kayak gitu ya
lalu kita lihat awalnya What is
requirement gitu ya Apa itu requirement
definisinya Seperti apa Nah definisi
dari suatu requirement pada software
developer is different with the farmance
in the comment definition artinya agak
sedikit berbeda pengertian pada Parman
di pengembangan software dengan yang ada
teman-teman biasa ketahui gitu ya kalau
pada software developer diketahui bahwa
requirement ini adalah spesifikasi yang
Memang harusnya ada dan terdapat pada
aplikasi yang akan kita kembangkan
nantinya bahwa
requirement ini adalah deskripsi yang
menjelaskan
mengenai aplikasi ini itu nanti
bentuknya adalah seperti ini
kebutuhannya akan seperti ini fiturnya
dia akan bisa seperti ini Nah itulah
yang diquirement coba tangkap dari si
customer seperti itu ya
sistem behavior Nah itu artinya bahwa si
recorder ini dia harus bisa menangkap
dari kebutuhan
pengguna dan menjadikannya sebagai
perilaku atau fitur pada sistem seperti
itu ya also including developerspektif
itu the internal sistem karakternya
tentu bisa dilihat juga dari sisi panel
si developernya Bagaimana kira-kira
iklanmen ini bisa menjawab gol dan
dichnya dari si customer
kemudian kalau ditanya Why is importer
nah ini ada dua poin yang bisa kita
tangkap dari
pentingnya requirement yang pertama
adalah semakin ya semakin awal kita bisa
menemukan bahwa terdapatnya bahwa
semakin awal kita bisa menentukan gitu
ya requirement apa yang kemudian bisa
kita
temukan gitu ya maka ketika nantinya
terjadi kesalahan Ketika nanti
terjadinya
bug ditiris seterusnya apa terjadinya
fitur yang tidak relevan itu semakin
murah semakin
gampang kita untuk selesaikan ya
Jadi kalau recorder itu sudah
didefinisikan di awal sudah terdefinisi
baik Nah itu kemudian
dia akan semakin mudah dan murah dan
kita dari segi biaya untuk kemudian
dilanjutkan ke tahapan berikutnya ya
lalu jika nantinya ada kendala yang
terjadi di bagian-bagian awal seperti
ini maka tadi juga bisa saya sebutkan
bahwa ya ini akan semakin mudah untuk
diperbaiki ya jangan sampai kita sudah
masuk ke tahapan coding implementasi
tapi ternyata
kemudian tidak sesuai fiturnya malah
tidak relevan dengan kebutuhan dari
pengguna Nah itu mutar lagi balik ke
bagian tahapan awal itu memakan waktu
serta biaya yang kemudian harus
dikeluarkan oleh si customer nantinya ya
lalu kita lihat beberapa kabar problem
pada software Project atau pengembangan
aplikasi yang pertama poinnya adalah
insuf user import artinya ada
ada beberapa permasalahan yang
disebabkan oleh kurangnya komunikasi
antara misalnya analis dengan si
customer kayak gitu kemudian si usernya
atau si customernya juga kemudian
tidak bisa menyampaikan mengenai
kebutuhannya dengan baik Nah itu juga
kemudian akan menjadi salah satu
permasalahan pada pengembangan aplikasi
poin berikutnya ada The creeping user
repair gitu ya
artinya ketika customer sudah
mengungkapkan bahwa fiturnya adalah a b
c namun seringkali ketika sudah masuk
berjalan pada tahapan desain
implementasi customer ingin kemudian
menambahkan atau merubah fitur-fitur
yang sudah disepakati pada saat tahapan
recorder hal ini yang biasanya sering
terjadi pada saat kita mengembangkan
aplikasi customer berasa bahwa yang dulu
saya sampaikan itu ternyata salah Saya
ingin berubahnya atau bahkan saya yang
ke dulu sampaikan kurang Saya ingin
menambahkannya lagi nah ini kemudian
bisa menyebabkan atau merupakan salah
satu permasalahan yang umum pada
pengembangan suatu aplikasi
lalu berikutnya ada ambigues requirma si
customer dia tidak bisa
atau dia menggunakan kata yang
sebenarnya kita ada sulit mengartikannya
gitu ya antara pemahaman kita sebagai
developer dan kita developer atau analis
dan si customer itu bisa berbeda
sehingga ketika kita menginterpretasikan
dari fitur dan seterusnya si customer
ternyata bilang bahwa Oh tidak seperti
ini seperti itu ya saya maksudnya itu
seperti ini nah hal ini terjadi karena
memang terjadi
ambiguous requirement ini jadi
memang bisa menyebabkan interpretasi
yang berbeda
kemudian ada gold plating kalau God ini
biasanya masalahnya terjadi dari sisi
developernya
si customernya Merasa bahwa saya nggak
butuh Kok fitur ini Lalu si developernya
merasa bahwa
Oh ini fitur bagus saya masukin deh
misalnya terus speaker ini bagus saya
masukkin deh padahal itu ternyata tidak
dibutuhkan oleh si customer Nah itu
adalah Point yang kita sebut sebagai
gold rating ya
lalu poin berikutnya adalah minimal
spesifikasi
planning nah ini biasanya terjadi dari
sisi si
internal pengembangnya gitu ya dari sisi
analisnya Kemudian dari sisi
developernya terutama bagian Project
Manager
dia tidak bisa
merencanakan dengan baik gitu ya Apa
yang harus dilakukan pada project ini
nah kemudian overlook user class Nah
kalau ini dari sisi customer biasanya
customer terlalu banyak menuntut bahwa
aplikasi ini akan punya roll abcd ya dan
abcd ini akan mewakili fitur-fitur
fungsi dan seterusnya nah ini kemudian
bisa menyebabkan
permasalahan-permasalahan yang terjadi
pada saat pengembangan project ini gitu
ya Jadi terlalu melihat banyaknya
pengguna yang nantinya akan menggunakan
aplikasi ini makanya penting perlu
dicari tahu dengan benar siapa aja nanti
yang akan menggunakan aplikasi ini
kemudian kita lihat poin berikutnya
adalah Project and product repairment
nah seringkali kita menganggap bahwa Oh
ini adalah hal yang sama Padahal
seharusnya ini dua hal yang berbeda
kalau produk berkaitan kepada recorder
atau kebutuhan yang sistem produk atau
software itu butuhkan dan dia akan
menjadi fitur kalau Project recorder
adalah kebutuhan Bagaimana project ini
bisa berjalan dan itu di luar dari
produk misalnya infrastruktur kemudian
environment pengembangannya ke Skill
dari developernya ya masalah hukum serta
hal-hal yang lainnya dan itu berada di
bagian luar dari si produk atau si
aplikasinya
lalu kita masuk ke tipikal recorder
proses
pada highlight yang teman-teman lihat di
slide ini itu ada dua yaitu adalah well
establish
kemudia kita lihat yang stabil kalau
kita melihat jenisnya Wheels
ini adalah jenis tipe
ini adalah jenis tipe reclarmat yang
memang didasarkan pada tahap-tahapan
tahapan tertentu yang harus dia lalui
sebelum masuk ke tahapan selanjutnya
kalau pada metode pengembangan
aplikasinya contoh yang Dual establis
ini adalah Waterfall seperti itu ya Nah
kalau di sini juga dia disebut sebagai
the vallery process gitu ya bahwa harus
mulai dari tahapan a dulu setelah
tahapan a selesai pindah ke tahapan B
setelah selesai pindah ke tahapan c jadi
setiap tahapan requirement yang terdapat
itu bisa dengan jelas dan harus di
selesaikan lebih dahulu itu adalah
wireless
apa tantangannya ketika kita menggunakan
wall establish yang pertama adalah
deliverynya bisa saja menjadi lama
kemudian untuk bekerja bersama-sama itu
juga kemudian susah gitu ya kemudian
berkaitan dengan untuk membuat foto
typing juga akan menjadi lama Karena
tahapan phototyping itu mungkin berada
di fase ketiga harus lewat dulu ke
repartemen analisis lewat ini
dilakukan prototyping jadi ini adalah
saling
berperan seperti itu ya
Lalu bagaimana dengan tipe satu lagi
yaitu gel requirma ajal requirement
sebenarnya juga merupakan well establish
tahapan-tahapan juga dilakukan hanya
saja yang membedakan adalah
tahapan-tahapan ini itu dilakukan pada
per fitur dari si aplikasi yang akan
dikembangkan nanti jadinya sehingga
ketika kita sudah selesai satu fitur
satu fungsi kita masukkan dia ke Google
analisis desain implementasi selesai
kita balikan lagi ke customer sesuai apa
enggak Kalau sesuai masukan dia berarti
sudah selesai fitur berikutnya lagi nah
jadi bener-bener fitur-fiturnya sudah
terdefinisi seperti itu karena sudah
terdefinisi maka fitur-fitur tadi
tinggal selanjutnya kita buat skala
prioritasnya Apakah prioritasnya itu
tinggi atau rendah prioritas yang tinggi
itulah yang dikerjakan duluan nah
seperti itu
jadi tahapan ini itu bisa lebih
sangat-sangat fleksibel
salah satu metode perencanaan yang
menggunakan adalah dengan menggunakan
scrub
Apa tantangan yang terdapat pada metode
a jel yaitu adalah repetitive works
karena dia terus dilakukan
berulang-ulang untuk setiap fitur maka
tentu saja pekerjaannya menjadi
berulang-ulang itu juga adalah menjadi
tatanan
informal dokumentation karena tadi
sifatnya selalu fleksibel jadi terkait
dan dokumentasi juga bisa menyebabkan
suatu hal yang harus dipikirkan
bagaimana dengan dokumen-dokumentasi
yang nanti perancangannya Seperti apa
Nah itu kemudian menjadi hal yang harus
dipikirkan kemudian aktif customer
ketika fitur sudah selesai lalu kemudian
ingin ditunjukkan ke customer customer
harus bisa memberikan feedback kalau
customer nggak bisa kasih feedback nah
ini kemudian kita agak sulit
kita masuk ke kesimpulan untuk pertemuan
kita yang pertama jadi dapat dikatakan
bahwa memang itu penting karena harus
membangun suatu software tidak hanya
berdasarkan asumsi tapi harus
berdasarkan kebutuhan dan tujuan dari
tujuan dari si customernya ingat bahwa
requirement adalah hal yang
menggambarkan spesifikasi dari apa yang
sistem harus punya gitu ya semakin awal
kita bisa menemukan masalah yang muncul
diakibatkan sudah selesai di awal itu
maka akan semakin mudah dan semakin
murah untuk kita
teruskan ke pengembangan aplikasi dan
ingat ada dua jenis tipikal requirement
yaitu wls publish dan juga gel
masing-masing memiliki tantangannya
sendiri dan masing-masing memiliki
keuntungan seperti kerugiannya sendiri
Oke sampai situ dulu untuk pertemuan
kita yang pertama kita ketemu lagi di
pertemuan kita berikutnya terima kasih
[Musik]
Weitere ähnliche Videos ansehen
Software Requirements | Requirement Engineering | Feasibility Study, Elicitation, SRS, Validation
Software Requirements Specification (SRS) | Software Engineering
Agile vs Waterfall Methodology | Difference between Agile and Waterfall | Intellipaat
2 - Memahami Stakeholders dan Aktivitas Rekayasa Kebutuhan
SE 1 : Introduction to Software Engineering | Nature of Software | SE Full Course
1-1 Software Engineering Introduction
5.0 / 5 (0 votes)