Professional Documents
Culture Documents
.
Q1.
Answer:
Use-Case Specification: Transfer Cash from transaction machine
This use case describes how I will transfer money from a transaction machine in a
super shop using my debit/credit card.
Check Balance
Transfer Funds
Deposit Funds
Myself
(customer)
Withdraw Cash
Bank
Repair
Technician
Maintenance
Preconditions:
• The transaction machine must support transaction for the bank that issued
my card.
• The network connection to the bank system must be active.
• The account must have least amount of cash that can be transacted.
• The cash transaction service option must be available.
Basic Flow of Events:
Insert Card:
The use case begins when I insert my debit/credit card into the card reader
on the ATM. The system allocates an ATM session identifier to enable
errors to be tracked and synchronized between the ATM and the Bank
System.
Read card:
The system reads the bank card information from the card.
Authenticate Customer:
Perform sub flow authenticate customer to authenticate the use of the bank
card by me using the machine.
Select Transaction:
The system displays the service options that are currently available on the
machine. I will need to select to transfer cash.
Select Amount:
The system prompts for the amount to be withdrawn by displaying the list of
standard transaction amounts. I will select an amount to be withdrawn
Confirm Transaction:
Perform sub flow Assess Funds on Hand.
Perform sub flow Conduct Transaction.
Eject Card:
The system ejects my card.
Dispense Cash:
The system dispenses the requested amount of cash to me. The system
records a transaction log entry for the transaction.
Use Case Ends:
Use case ends.
Sub flows:
Authenticate Customer:
Validate Card Information:
The system sends the bank card information to the bank system to
confirm that the card and its associated account are active, that the
card has not been reported stolen and that the bank card information
(including the PIN) read from the bank card is valid.
The system also sends the card ID and the session identifier to the
Bank System along with the bank card information.
The Bank System acknowledges that the bank card information is
valid and that the card can be used.
Conduct Transaction:
1. Validate the Transaction:
The system supplies the bank system with the bank card information,
the amount of the requested transaction, the session Identifier and the
transaction fee and asks it to approve the transaction.
The bank system responds with a transaction acceptance to approve
the transaction.
Log the Authorization:
The system records a transaction log entry for the authorized transaction
including the information that the cash is still to be dispensed.
Resume at the next step.
Q2.
Answer:
Convincing the customer to agree to every demand that I have as a
developer does not make me a master negotiator.
Conflicts play an important role in software engineering. Software engineering is a
highly collaborative process and identifying shared or opposed interests is a
necessity for project success. The objectives of customers, users, or developers
must be understood and reconciled to develop mutually acceptable agreements.
The result of negotiation is also to understand why stakeholders disagree. The
clients generally have a lack of understandings of software feature and
developments. When the clients of the software project disagree on the
requirements, requirements negotiation methods can be used to reach that
agreement. Negotiation means keeping both side happy on a balanced point. But if
I as a developer convince the client to agree to all my point then there is nothing on
the table that is from the client which represent major risks as in future it will be
hard to convince them if the final product does not feature their understanding of
what they wanted.
A master negotiator does not assume that they know where their style works for
them and where it works against them, they have learned to be flexible with the
clients and must play both sides while creating and claiming value that are at the
heart of the negotiation process.
The Quality Function Deployment methodology is a 3-phase process
that encompasses activities throughout the product development cycle. Here our
product is a library management system. The 3-phases are described after a
description of current background:
Background:
The library is managed, organized, and run by the librarian. All the functions like
managing books, issuing books, and finding the books for the members is carried
out by librarian. This is where the time and effort are consumed. Whereas the
members also find difficulty in finding availability the books and need the
assistance of librarian in every step. The librarian also finds it tedious if he must
deal with several members at a same time. This is a difficult system. Library is
basically concerned about acquisition, preservation, and administration of its
resources. To carry out these tasks a new system is required.
Each book will have a unique identification number and other details
including a rack number which will help to physically locate the book.
There could be more than one copy of a book, and library members
should be able to check-out and reserve any copy. We will call each copy
of a book, a book item.
There should be a maximum limit on how many days a member can keep
a book.
The system should be able to collect fines for books returned after the
due date.
Members should be able to reserve books that are not currently available.
Each book and member card will have a unique barcode. The system
will be able to read barcodes from books and members’ library cards.
Expected requirements:
The system should use a secured database and should have multiple
authentication layers to ensure that they are not penetrable.
The system should be fast, secure and the graphical user interface should be
very reactive.
The system should be compatible with all existing platforms that can use
web browsers.
Exciting requirements:
1. Members should be able to give feedback about book experiences.
2. The system should inform the admins for any unauthorized login.
4. The system should not let members change their information (except
password) without proper authentications and the admins permission.
5. The system should quickly send notifications to a member for any unusual
activities.
9. The system should be able to routinely backup and restore data if any fault
occurs or the system fails.
Q4.
Answer:
I both agree and disagree with that statement based on the development
model one company or team is pursuing.
I agree with the statement when most requirements are not known in the beginning,
development is spread out over multiple iterations, interfaces between modules are
not well-defined or operations are impacted as each new increment is deployed. In
this case, it is better to show less concern about quality in the early increments and
give better emphasis on understanding the continuously added requirements.