Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
34PFT
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?
Designing and building computer software is challenging, creative, and just plain
fun. In fact, building software is so compelling that many software developers want to jump
right in before they have a clear understanding of what is needed. They argue that things
will become clear as they build, that project stakeholders will be able to understand need
only after examining early iterations of the software, that things change so rapidly that any
attempt to understand requirements in detail is a waste of time, that the bottom line is
producing a working program and all else is secondary. What makes these arguments
seductive is that they contain elements of truth if just for small project (less than one month)
and smaller. But as software grows in size and complexity, these arguments begin to break
down.
I think the step that can we skip is management, if we create a big software that
means complex and big size, maybe management is very important, but if we just make a
small software for example for your reset or just for fun, I think management not really
important. So the step that we can skip is management, but it’s depend on the software that
we creating.
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?
If the customer really busy and doesn’t have time to meet face to face, I think we
can meet her/his manager, so we can interview his/her manager what the customer need
for the software that he/she wants. The other solution is, we can use social media to contact
with customer so we don’t need to face to face and just ask the question about requirement.
If all the requirements are complete, we can start to create a prototype from the software
and consult to customer or his/her manager about the prototype. If the customer or his/her
manager agree with our prototype that’s mean we already catch what the customer wants.
5.3. Discuss some of the problems that occur when requirements must be elicited from three
or four different customers.
Because many different stakeholders exist, the requirements of the system will be
explored from many different points of view. For example, the marketing group is
interested in functions and features that will excite the potential market, making the new
system easy to sell. Business managers are interested in a feature set that can be built within
budget and that will be ready to meet defined market windows. End users may want
features that are familiar to them and that are easy to learn and use.
5.4. Why do we say that the requirements model represents a snapshot of a system in time?
5.5 Let’s assume that you’ve convinced the customer (you’re a very good salesperson) to agree
to every demand that you have as a developer. Does that make you a master negotiator?
Why?
I think yes, because if you have convinced your customer, that means your customer
trust you to make the software that he/she wants. Beside that, for make sure you are the
professional developer, you can show the software or the other application that you have
created.
5.6. Develop at least three additional “context-free questions” that you might ask a stakeholder
during inception.
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.
Inception : in this step, you must or interview the customer about the software that
he/she wants to create. Understand what the customer wants.
Elicitation : collect all the information from all stakeholders. If needed, you must
collect the information more than one stakeholders so you will get the representation
from the software that will you create.
Elaboration : in this step, you start to create a model that identifies data, function, and
behavioral requirements.
I think that’s all that we need to gathering all requirement for kit.
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.
I want software safe home security like antivirus, so my pc or laptop free of virus
and malware.
I want this software protect my pc or laptop from virus and malware while browsing
or behind the scene. Update automatically and without internet connection.
3. How about the ideal price that you want for this software ?
4. How about the minimum deadline that you need to finish this software ?
5.9. Develop a complete use case for one of the following activities :
Masukkan kartu ke
*
dalam mesin ATM
* Maukkan PIN
** *
Keluarkan kartu
b. Using your charge card for a meal at a restaurant
Mmberikan kartu
*
*
kredit kepada petugas kasir
**
Mengetik jumlah
Pelanggan
pembayaran
*
Menggosok kartu
kredit pada mesin
* *
*
*
Mencetak Bon
*
Petugas Kasir
Tanda Tangan
Login
*
*
*
* **
*
Select the Item that
you want to buy
Customer
Open the cart and
* click pay
Log Out
*
Discuss the
activity
*
*
* *
Find the solution
* together
*
Instructor
Do the activity
Analysis pattern is a process of modelling what the customers wants. This pattern can be
use case or scenario that will make customers understand about the software that we will
create. Software analysis patterns or analysis patterns in software
engineering are conceptual models, which capture an abstraction of a situation that can
often be encountered in modelling. An analysis pattern can be represented as "a group of
related, generic objects (meta-classes) with stereotypical attributes (data definitions),
behaviors (method signatures), and expected interactions defined in a domain-neutral
manner."
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
object : tombol perhitungan uang, tombol mengatur keuangan bulanan
b. E-mail software
object :
- compose mail, inbox, sent, spam, draft, dan trash menu
- log in dan log out menu
- contact menu
- schedule/calendar menu
c. Internet browsers
object :
- 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
object :
- 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
5.13. What does win-win mean in the context of negotiation during the requirements engineering
activity?
The best negotiations strive for a “win-win”. That is, stakeholders win by getting
the system or product that satisfies the majority of their needs and you (as a member of the
software team) win by working to realistic and achievable budgets and deadlines.
5.14. What do you think happens when requirement validation uncovers an error? Who is
involved in correcting the error?
First : developer, because they are the one who create the software and catch up what the
user wants, maybe developer wrong to translate the customer wants.
Second : customer, the demand of customer not really logic or hard to understand so the
developer can’t catch up what the true customer wants.