11 System Conception
11 System Conception
■ Analogies. Look for analogies in other problem domains and see if they have useful ideas.
■ Globalization. Travel to other countries and observe their cultural and business practices.
You should clearly understand which persons and organizations are stakeholders of the new
system. Two of the most important kinds of stakeholders are the financial sponsors and the end
users.
You should establish the scope of the application by determining which features will be in the new
system and which will not.
You should determine if the new system is mission-critical software for the organization,
experimental software, or a new capability that you can deploy without disrupting the workflow.
It is important to know if the software will be used locally or will be distributed via a network.
■ When is it needed?
Two aspects of time are important. The first is the feasible time, the time in which the system can
be developed within the constraints of cost and available resources. The other is the required
time, when the system is needed to meet business goals.
■ Why is it needed?
You may need to prepare a business case containing the financial justification for the new system,
including the cost, tangible benefits, intangible benefits, risk, and alternatives. You must be sure
that you clearly understand the motivation for the new system.
You should brainstorm about the feasibility of the problem. You might need some prototyping and
experimentation.
Develop software so that customers can access a bank’s computers and carry out their own
A software vendor develops the ATM application for financial institutions (Banks).
The ATM software is intended to serve both the bank and the customer. For the bank, ATM
software increases automation and reduces manual handling of routine paperwork. For the
customer, the ATM is ubiquitous and always available, handling routine transactions whenever
and wherever the customer desires.
ATM machines are available at many stores, sporting events, and other locations throughout the
world.
■ When is it needed?
From an economic perspective, it is desirable to minimize the investment, maximize the revenue,
and realize revenue as soon as possible.
■ Why is it needed?
We will adopt three-tier architecture to separate the user interface from programming logic, and
programming logic from the database. In reality, the architecture is n-tier.
Kinds of requirements.
Design the software to support a computerized banking network including both human cashiers
and automatic teller machines (ATMs) to be shared by a consortium of banks. Each bank provides
its own computer to maintain its own accounts and process transactions against them. Cashier
stations are owned by individual banks and communicate directly with their own bank’s
computers. Human cashiers enter account and transaction data.
Automatic teller machines communicate with a central computer that clears transactions with the
appropriate banks. An automatic teller machine accepts a cash card, interacts with the user,
communicates with the central system to carry out the transaction, dispenses cash, and prints
receipts. The system requires appropriate recordkeeping and security provisions.
The system must handle concurrent accesses to the same account correctly. The banks will
provide their own software for their own computers; you are to design the software for the ATMs
and the network. The cost of the shared system will be apportioned to the banks according to the
number of customers with cash cards.