Sei sulla pagina 1di 7

Billy Hendrawan - 1601215765

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.

The broad spectrum of tasks and techniques that lead to an understanding of


requirements is called Requirement engineering. Requirement engineering very important
to understand what the customer wants, analyzing needs, assessing feasibility, negotiating
a reasonable solution, specifying the solution unambiguously, validating the specification,
and managing the requirements as they are transformed into an operational system.
Requirement engineering divide into : inception, elicitation, elaboration, negotiation,
specification, validation, and management.

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.

Each of these constituencies (and others) will contribute information to the


requirements engineering process. As information from multiple viewpoints is collected,
emerging requirements may be inconsistent or may conflict with one another. You should
categorize all stakeholder information (including inconsistent and conflicting
requirements) in a way that will allow decision makers to choose an internally consistent
set of requirements for the system.

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

The intent of the analysis model is to provide a description of the required


informational, functional, and behavioral domains for a computer-based system. The
model changes dynamically as you learn more about the system to be built, and other
stakeholders understand more about what they really require. For that reason, the analysis
model is a snapshot of requirements at any given time.

If we want make a software that stakeholder wants, we must requirements models


of the software that we want to create. If we create models, this models represent how the
software works in time from example who will use this system, how this system work, etc.
That’s why 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.

 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?

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.

1. What Software safe home security that you want?

I want software safe home security like antivirus, so my pc or laptop free of virus
and malware.

2. What the advantages that you want from this software ?

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 ?

Hmm, maybe around 100 million.

4. How about the minimum deadline that you need to finish this software ?

Hmm, maybe around 3 months.

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

a. Making a withdrawal at an ATM


Making a Withdrawal at an ATM

Masukkan kartu ke
*
dalam mesin ATM

* Maukkan PIN
** *

Masukkan jumlah uang


yang akan diambil
User
*

Ambil uang yang


dikeluarkan oleh mesin

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

Using 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

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


*
Buying a stock using an on-line brokerage account
Mengambil kembali
kartu kredit
Register an Account
*

Login
*
*
*
* **

*
Select the Item that
you want to buy

Customer
Open the cart and
* click pay

Log Out

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

Searching for books using an on-line bookstore

Open the Website


*
e. An activity specified by your instructor.
An activity specified by
instructor

Meet the instructor


** *
***

Ask for the


* instruction
Me

*
Discuss the
activity
*

*
* *
Find the solution
* together

*
Instructor
Do the activity

5.10. What do use case “exceptions” represent ?

Each of the situations described in the preceding paragraphs is characterized as a


use-case exception. An exception describes a situation (either a failure condition or an
alternative chosen by the actor) that causes the system to exhibit somewhat different
behavior. In other words, use case exception looks like alternative of the situation that user
can do if one action false.

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

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

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

f. An application domain specified by your instructor

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?

In my opinion, if requirement validation is error, we must create a software or


debugging the software. If the software not really different from what customer wants, you
can debug your software, but if you make a software that really different from what
customer wants, I think you must coding or make the software from start again. If this error
happen, there will be two people involved from this accident :

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.

Potrebbero piacerti anche