Melissa Dharmawan

Melissa's Blog

Exercise Software Engineering from chapter 5

Exercise  Software Engineering from chapter 5

5.1. Why is it that many software developers don’t pay enough attention to requirements engineering? Are there ever circumstances where you can skip it?

Karena biasanya para pengembang software lebih mementingkan waktu yang cepat daripada kualitas hasil kerjanya.

5.2. You have been given the responsibility to elicit requirements from a customer who tells you he is too busy to meet with you. What should you do?

Kalau saya, saya akan memanfaatkan skype untuk berkomunikasi jika client tidak sempat bertemu saya.

5.3. Discuss some of the problems that occur when requirements must be elicited from three or four different customers.

Kadang kebutuhan masing-masing pelanggan berbeda-beda, tapi bisa saja memiiki 1 garis besar. Saya mencoba menyatukan kebutuhan mereka semua dan mengambil jalan terbaiknya.

5.4. Why do we say that the requirements model represents a snapshot of a system in time?

Karena dalam tiap requirements model berbanding dengan waktu. Tiap kebutuhan dijalankan sesuai dengan waktu yang diperkirakan.

5.5. Let’s assume that you’ve convinced the customer(you’re a very good sales person) to agree to every demand that you have as a developer. Does that make you a master negotiator? Why?

Saya dapat meyakinkan kepada pelanggan saya bahwa hasil kerja saya tidak mengecewakan. Mungkin dengan menunjukkan beberapa aplikasi buatan saya sebelumnya yang telah berhasil.

5.6. Develop at least three additional “context-free questions” that you might ask a stakeholder during inception.

• Who is behind the request for this work? Customer

• Who will use the solution? Customer and the market that need the solution

• What will be the economic benefit of a successful solution? Sales of the widget/the features that included in the software

5.7. Develop a requirements gathering “kit.” The kit should include a set of guidelines for conducting a requirements gathering meeting and materials that can be used to facilitate the creation of lists and any other items that might help in defining requirements.

Kit: desain user interface yang baik, siapkan compiler untuk coding sesuaibahasa yang dipakai, trus bikin rancangan kasar berupa usecase/diagram lainnya.

5.8. Your instructor will divide the class into groups of four to six students. Half of the group will play the role of the marketing department and half will take on the role of software engineering. Your job is to define requirements for the SafeHome security function described in this chapter. Conduct a requirements gathering meeting using the guidelines presented in this chapter.

SafeHome security function

MD: Can I have Safe Home security function?

SE: Yes, we can develop it for you

MD: Do you have any suggestion about the function? The requirement is develop security software

SE: I think the software could be an anti virus

MD: How about malware, Trojan, and warm? Can the software included Trojan, malware, and warm protection?

SE: Yes, you could have that function. The software can included Trojan, malware, and warm protection like an antivirus, but you have to wait a little bit longer

MD: Okay, no problem.

5.9. Develop a complete use case for one of the following activities:

a. Making a withdrawal at an ATM

use case 1

b. Using your charge card for a meal at a restaurant

use case 2

c. Buying a stock using an on-line brokerage account

use case 3

d. Searching for books (on a specific topic) using an on-line bookstore

 

use case 4

e. An activity specified by your instructor

use case 5

5.10. What do use case “exceptions” represent?

use case “exceptions” adalah sebuah use case yang dibuat untuk melengkapi kesalahan dalam sebuah use case yang gagal.

5.11. Describe what an analysis pattern is in your own words.

Analysis pattern dalam rekayasa perangkat lunak adalah model konseptual yang menangkap sebuah kejadian dari situasi yang sering ditemui dalam pemodelan. analysis pattern dapat berupa objek dengan stereotypical attributes (data definitions), behaviors (method signatures), dan expected interactions.

5.12. Using the template presented in Section 5.5.2, suggest one or more analysis pattern for the following application domains:

a. Accounting software

objek: tombol perhitungan uang, tombol mengatur keuangan bulanan

b. E-mail software

objek:

– compose mail, inbox, sent, spam, draft, dan trash menu

–          log in dan log out menu

–          contact menu

–          schedule/calendar menu

c. Internet browsers

objek:

– new tab/new window button

– bookmark menu

– see history menu

– see download progress menu

– see page source menu

– clear cache and cookies menu

– check for viruses menu

d. Word-processing software

objek: – new file menu

-save and open menu

– Print and print priview menu

– toolbar diatas layar (font, paragraph, style)

– insert picture or another media menu

– page layout menu

– mailing menu

e. Website creation software.

Object:

– menu untuk mengetik codingan

– menu untuk melihat tampilan setelah jadi

– menu untuk atur desain tampilan websitenya

-menu untuk new, open&save

-button pembantu seperti insert media

– menu untuk memilih bahasa web yang akan dipakai

5.13. What does win-win mean in the context of negotiation during the requirements engineering activity?

Customer dan developer dapat saling bernegosiasi terhadap software yang akan di buat, dilihat dari apa aja permintaan dari customernya. Permintaan customer mempengaruhi harga.

5.14. What do you think happens when requirement validation uncovers an error? Who is involved in correcting the error?

Menurut saya, yang mungkin ada kesalahan dalam menterjemahkan keinginan customer sehingga ada fungsi yang berbeda dari keinginan customer, atau ada sesuatu yang seharusnya tidak diminta. Biasanya kesalahan bisa dari dua pihak: customer punya permintaan yang terlalu rumit, atau developer yang kurang jeli dalam menangkap maksud dari customer

powered by: binus university