350 likes | 364 Views
Learn methods for understanding user needs, analyzing requirements, negotiating solutions, and validating specifications to prevent software failures. Follow step-by-step processes from inception to validation. Gain insights on stakeholder identification and collaboration to ensure project success. Interactive sessions include interviews, workshops, and observations for thorough elicitation. Improve communication and collaboration for efficient requirement engineering.
E N D
Requirement Enginering Firdaus, M.T.
TIK Mahasiswadapat : • Memahamimetode requirement dalammerencanakansistem
Bagian yang tersulitdaripembuatansotftwareadalahmemutuskanapa yang akandibuat [Fred Brooks]
Antara 40% - 60% darikegagalandankerusakan software disebabkankarenalemahnyamanajemen software danmendifinisikanpermintaan
Salahsatuisuterbesaradalahwaktu yang dimilikiuntukmenuliskan requirement. Terkadangketika deadline waktusangatsempit, developer software mungkinmemulaisebelum requirement dilengkapi, daniniakanmenyebakanbanyakmasalahdikemudianhari
Requirement Engineering menyediakanmekanisme yang tepatuntukmemahami yang diinginkanpengguna, analisakebutuhan, menaksirkemungkinan, negosiasisolusi yang layak, menspesifikasikansolusi yang tidakambigu, memvalidasispesifikasi, memenej requirement.
TehnikInvestigasi Requirement • Interview bertanyalangungkepada user • Workshop Diskusi forum • Observasi Melihatlangsungkelapangan
Inception (Pendahuluan) • Padatahapini, perekayasasisteminformasimenanyakanpertanyaanbebas. • Menetapkanpermasalahandasardarimasalah • Menentukanorang yang menginginkansolusi • MenentukanSifatdasarsolusi yang diinginkan • Keefektifankomunikasidankolaborasipendahuluanantarapelanggandanpengembang
Elicitation (Pemunculan) • Bagaimanasistem/produksesuaidengankebutuhanbisnis • Bagaimanasistemdigunakan • Permasalahan elicitation • Permasalahan scope • PermasalahanPengertian
Elaboration • Informasi yang diperolehdarikonsumen/penggunaselamaproses inception dan elicitation diperluasdandisharingselamaelaborasi • Elaborasiadalahtahapanawalanalisa model • Hasil : informasi, fungsidankebiasaan
Negotiation • Negosiasikonflik • Scope kerja • Prioritas • Pengukurankepuasan • Bagaimanamengerjakanini? • Definisikanprioritas!
Specification • Spesifikasiadalahproduk final dari requirement • Spesifikasidapatberupa: • Dokumentulisan Written document • Model grafis Graphical model • Model matematika Math model • Koleksiskenariopenggunaan • Prototype
Validation • Validasi requirement mengujispesifikasiuntukmenjaminbahwa requirement software telahdipertimbangkan • Mekanismevalidasirequiremenadalahdengan me-review teknis formal
Step by Step Process 1. Inception 2. Elicitation 3. Elaboration Requirement Management 4. Negotiation 5. Specification 6. Validation
Proses Requirement Engineering a. Identifikasi Stakeholder • Stakeholder adalahsiapapun yang memperolehkeuntungandarisistem yang dikembangkan, sepertimanajerbisnisoperasi, manajerproduk, pelanggan, dll • Setiap stakeholder memilikiperbedaanpandanganterhadapsistemdanmemilikikeuntungan yang berbeda • Padatahap inception, perekayasasistemharusmembuatdaftar stakeholder
Proses Requirement Engineering b. menghargaiberagamsudutpandang • Setiap stakeholder akanmengeksplorberagamsudutpandang • Requirement yang munculmungkinmenjaditidakkonsistenataumungkinbertentangansatudengan yang lainnya. • Tugasseorangperekayasaadalahmengkategorikanseluruhinformasidaristakeholer, termasukketidakkonsistenandanpertentangan
Proses Requirement Engineering c.BekerjaMenujuKolaborasi • The job of requirement engineer is to identify areas of commonality and area of conflict or inconsistent. • In many cases, stakeholders collaborate to make final decision about which requirements make the cut.
Proses Requirement Engineering d. Asking the First Questions (1 of 3) To know, who will have interest in the software to be built? • Who is behind the request for this work? • Who will use the solution? • What will be the economic benefit of a successful solution? • Is there another source for the solution that you need?
Proses Requirement Engineering e. Asking the First Questions (2 of 3) • To gain a better understanding • How would you characterize “good” output that would be generated by a successful solution? • What problems will this solution address? • Can you show me the business environment in which the solution be used?
Proses Requirement Engineering f. Asking the First Questions (3 of 3) To know the effectiveness of the communication activity itself • Are you the right person to answer these question? • Are your answer official? • Are my question relevant to the problem that you have?
Step by Step Process 1. Inception 2. Elicitation 3. Elaboration Requirement Management 4. Negotiation 5. Specification 6. Validation
Proses Requirement Engineering a. Eliciting Requirements • QFD (Quality Function Deployment) is a technique that translates the needs of the customer into technical requirements for software. • Three types of QFD requirement • Normal requirements • Expected requirements (ex: HMI) • Exciting requirements
Proses Requirement Engineering c. Developing Use-Cases (1) • Who is the primary actor(s), the secondary actor(s)? • What are the actor’s goals? • What preconditions should exist before the story begins? • What main tasks of functions are performed by the actor? • What expectations might be considered as the story is described? • What variation in the actor’s interaction are possible? • What ……………….. [refer to chapter 7 …]
Proses Requirement Engineering d. Developing Use-Cases (2) • In this case, there are three actors: homeowner, configuration manager, sensors and monitoring sub system (sensors).
Proses Requirement Engineering e. Developing Use-Cases (3) System Boundary Use Case Actor Actor Use Case Use Case Actor Use Case Use Case
Step by Step Process 1. Inception 2. Elicitation 3. Elaboration Requirement Management 4. Negotiation 5. Specification 6. Validation
Proses Requirement Engineering a. Building ‘early’ Analysis Model Class name Class attribu-tes Class methods UML Class Diagram UML State Diagram
Step by Step Process 1. Inception 2. Elicitation 3. Elaboration Requirement Management 4. Negotiation 5. Specification 6. Validation
Proses Requirement Engineering 7. Negotiating Requirements • It is natural, the developer and customer enter into process of negotiation • The best negotiation strive for a “win-win” result
Step by Step Process 1. Inception 2. Elicitation 3. Elaboration Requirement Management 4. Negotiation 5. Specification 6. Validation
Proses Requirement Engineering a. Validating Requirement • Is each requirement consistent with overall objective for the system/product? • Have all requirements been specified at the proper level of abstraction? • Is the requirement really necessary or does it represent an add-on feature that may not be essential to the objective of the system? • ……….. [refer to chapter 7, page 203-204]
Final Results • The hardest single part of building a software is deciding what to build …. • Requirement Engineering Steps: (1) Inception, (2) Elicitation, (3) Elaboration, (4) Negotiation, (5) Specification, and (6) Validation • Requirement engineering should be supported by Requirement Management • Unsolved problem in requirement engineering will cause problem in next engineering process, and will be very costly