You are on page 1of 12

Name Muhammad Asher Haseeb

Roll No BY408016
Course Code 3414
Registration No. 19PCL02707

Assignment No.2
Q1: Why do we say that the requirements model represents a
snapshot in a system in time? Discuss some of the problems that
occur when requirements must be elicited from three or four
different customers?
Answer:
The model changes dynamically as software engineers learn more about
the system to be built, and stakeholders understand more about what they
really require.

The following are the problems that occur when requirements must be
elicited from three or four different customers.
• The requirements of the customer cannot be understood easily. The
customer’s requirements will change over time such that a customer
with a set of requirements at one time can include another set of
requirements afterward.
• It is very difficult to understand the requirements of the customers.
• The customers will have a wide range of expectations such that it may
lead to disappointments at most of the time.
• The customers will change their requirements rapidly.

Q2: what is the effect of moving of project to different operating


system such as one running Linux or apple, on the assumptions
made in the design of the first sub system for the user interface?
How does the design change if the data is t be collected in a
database program instead of spreadsheet?
Answer:

Software can be broadly divided into two categories: operating systems


and application software. Operating systems manage the hardware and
create the interface between the hardware and the user. Application
software is the category of programs that do something useful for the
user.
OPERATING SYSTEMS:
The operating system provides several essential functions, including:
1. managing the hardware resources of the computer;
2. providing the user-interface components;
3. providing a platform for software developers to write applications.
All computing devices run an operating system. For personal computers,
the most popular operating systems are Microsoft’s Windows, Apple’s OS
X, and different versions of Linux. Smartphones and tablets run operating
systems as well, such as Apple’s iOS, Google’s Android, Microsoft’s
Windows Mobile, and Blackberry.
Early personal-computer operating systems were simple by today’s
standards; they did not provide multitasking and required the user to type
commands to initiate an action. The amount of memory that early
operating systems could handle was limited as well, making large
programs impractical to run. The most popular of the early operating
systems was IBM’s Disk Operating System, or DOS, which was actually
developed for them by Microsoft.
In 1984, Apple introduced the Macintosh computer, featuring an operating
system with a graphical user interface. Though not the first graphical
operating system, it was the first one to find commercial success. In 1985,
Microsoft released the first version of Windows. This version of Windows
was not an operating system, but instead was an application that ran on
top of the DOS operating system, providing a graphical environment. It
was quite limited and had little commercial success. It was not until the
1990 release of Windows 3.0 that Microsoft found success with a graphical
user interface. Because of the hold of IBM and IBM-compatible personal
computers on business, it was not until Windows 3.0 was released that
business users began using a graphical user interface, ushering us into
the graphical-computing era. Since 1990, both Apple and Microsoft have
released many new versions of their operating systems, with each release
adding the ability to process more data at once and access more memory.
Features such as multitasking, virtual memory, and voice input have
become standard features of both operating systems.
A third personal-computer operating system family that is gaining in
popularity is Linux (pronounced “Linn-ex”). Linux is a version of the Unix
operating system that runs on the personal computer. Unix is an operating
system used primarily by scientists and engineers on larger
minicomputers. These are very expensive computers, and software
developer Linus Torvalds wanted to find a way to make Unix run on less
expensive personal computers. Linux was the result. Linux has many
variations and now powers a large percentage of web servers in the world
A spreadsheet stores data in an organized fashion, using rows and
columns, and looks very similar to a database table. This
misunderstanding extends beyond the classroom: spreadsheets are used
as a substitute for databases in all types of situations every day, all over
the world.
To be fair, for simple uses, a spreadsheet can substitute for a database
quite well. If a simple listing of rows and columns (a single table) is all
that is needed, then creating a database is probably overkill. In our
Student Clubs example, if we only needed to track a listing of clubs, the
number of members, and the contact information for the president, we
could get away with a single spreadsheet. However, the need to include a
listing of events and the names of members would be problematic if
tracked with a spreadsheet.
When several types of data must be mixed together, or when the
relationships between these types of data are complex, then a
spreadsheet is not the best solution. A database allows data from several
entities (such as students, clubs, memberships, and events) to all be
related together into one whole. While a spreadsheet does allow you to
define what kinds of values can be entered into its cells, a database
provides more intuitive and powerful ways to define the types of data that
go into each field, reducing possible errors and allowing for easier
analysis.
Though not good for replacing databases, spreadsheets can be ideal tools
for analysing the data stored in a database. A spreadsheet package can be
connected to a specific table or query in a database and used to create
charts or perform analysis on that data.
STRUCTURED QUERY LANGUAGE

Once you have a database designed and loaded with data, how will you do
something useful with it? The primary way to work with a relational
database is to use Structured Query Language, SQL (pronounced “sequel,”
or simply stated as S-Q-L). Almost all applications that work with
databases (such as database management systems, discussed below)
make use of SQL as a way to analyse and manipulate relational data. As
its name implies, SQL is a language that can be used to work with a
relational database. From a simple request for data to a complex update
operation, SQL is a mainstay of programmers and database
administrators. To give you a taste of what SQL might look like, here are a
couple of examples using our Student Clubs database.
• The following query will retrieve a list of the first and last names of
the club presidents:

SELECT "First Name", "Last Name" FROM "Students" WHERE "Students.ID"


= "Clubs. President"
• The following query will create a list of the number of students in
each club, listing the club’s name and then the number of members:

SELECT "Clubs. Club Name", COUNT ("Memberships. Student ID") FROM


"Clubs" LEFT JOIN "Memberships" ON "Clubs. Club ID" = "Memberships.
Club ID"

An in-depth description of how SQL works is beyond the scope of this


introductory text, but these examples should give you an idea of the power
of using SQL to manipulate relational data. Many database packages, such
as Microsoft Access, allow you to visually create the query you want to
construct and then generate the SQL query for you.

OTHER TYPES OF DATABASES:

The relational database model is the most used database model today.
However, many other database models exist that provide different
strengths than the relational model. The hierarchical database model,
popular in the 1960s and 1970s, connected data together in a hierarchy,
allowing for a parent/child relationship between data. The document-
centric model allowed for a more unstructured data storage by placing
data into “documents” that could then be manipulated.
Perhaps the most interesting new development is the concept of No SQL
(from the phrase “not only SQL”). No SQL arose from the need to solve the
problem of large-scale databases spread over several servers or even
across the world. For a relational database to work properly, it is important
that only one person be able to manipulate a piece of data at a time, a
concept known as record-locking. But with today’s large-scale databases
(think Google and Amazon), this is just not possible. A No SQL database
can work with data in a looser way, allowing for a more unstructured
environment, communicating changes to the data over time to all the
servers that are part of the database.
Database Management Systems:
Screen shot of the Open Office database
management system.

To the computer, a database looks like one or more files. In order for the
data in the database to be read, changed, added, or removed, a software
program must access it. Many software applications have this ability:
iTunes can read its database to give you a listing of its songs (and play the
songs); your mobile-phone software can interact with your list of contacts.
But what about applications to create or manage a database? What
software can you use to create a database, change a database’s structure,
or simply do analysis? That is the purpose of a category of software
applications called database management systems (DBMS).
DBMS packages generally provide an interface to view and change the
design of the database, create queries, and develop reports. Most of these
packages are designed to work with a specific type of database, but
generally are compatible with a wide range of databases.
For example, Apache OpenOffice.org Base (see screen shot) can be used
to create, modify, and analyse databases in open-database (ODB) format.
Microsoft’s Access DBMS is used to work with databases in its own
Microsoft Access Database format. Both Access and Base have the ability
to read and write to other database formats as well.
Microsoft Access and Open Office Base are examples of personal
database-management systems. These systems are primarily used to
develop and analyse single-user databases. These databases are not
meant to be shared across a network or the Internet, but are instead
installed on a particular device and work with a single user at a time.
ENTERPRISE DATABASES:
A database that can only be used by a single user at a time is not going to
meet the needs of most organizations. As computers have become
networked and are now joined worldwide via the Internet, a class of
database has emerged that can be accessed by two, ten, or even a million
people. These databases are sometimes installed on a single computer to
be accessed by a group of people at a single location. Other times, they
are installed over several servers worldwide, meant to be accessed by
millions. These relational enterprise database packages are built and
supported by companies such as Oracle, Microsoft, and IBM. The open-
source My SQL is also an enterprise database.
Q3 Explain the basic concept of data flow diagram? What are the
different categories of flow chart diagram? Develop a DFD for
block chain application Make assumptions where required?
ANSWER:
A data flow diagram (DFD) maps out the flow of information for any
process or system. It uses defined symbols like rectangles, circles and
arrows, plus short text labels, to show data inputs, outputs, storage points
and the routes between each destination. Data flowcharts can range from
simple, even hand-drawn process overviews, to in-depth, multi-level
DFDs that dig progressively deeper into how the data is handled. They can
be used to analyse an existing system or model a new one. Like all the
best diagrams and charts, a DFD can often visually “say” things that would
be hard to explain in words, and they work for both technical and
nontechnical audiences, from developer to CEO. That’s why DFDs remain
so popular after all these years. While they work well for data flow
software and systems, they are less applicable nowadays to visualizing
interactive, real-time or database-oriented software or systems.
The most common flowchart types are:
• Process flowchart
• Swim lane Flowchart
• Workflow Diagram
• Data Flow Diagram
• EPC Diagram
• SDL Diagram
• Process Map
• Process Flow Diagram
ABSTRACTION:

Blockchain technology is a core, underlying technology with promising


application prospects in the banking industry. To date, blockchain
technology is relevant in all areas and the banking system is not an
exception. Block chains could revolutionize the underlying technology of
the payment clearing and credit information systems in banks, thus
upgrading and transforming them. block chain technology should be
introduced in the modern banking system, since they provide control over
crypto currency that will help in counteracting money laundering and
financing of terrorism in the country and around the world Keywords—
lock chain, Benefits from Blockchain, Decentralized consensus, Features
of Blockchain, Security Aspects of Blockchain, Smart contracts, Trusted
Computing, Banking. I. INTRODUCTION The blockchain is the public ledger
of all Bit coin transactions that have ever been executed. It is constantly
growing as miners add new blocks to it (every 10 minutes) to record the
most recent transactions. The blocks are added to the blockchain in a
linear, chronological order. Each full node (i.e., every computer connected
to the Bit coin network using a client that performs the task of validating
and relaying transactions) has a copy of the blockchain, which is
downloaded automatically when the miner joins the Bit coin network. The
blockchain has complete information about addresses and balances from
the genesis block (the very first transactions ever executed) to the most
recently completed block. The blockchain as a public ledger means that it
is easy to query any block explorer (such as https://blockchain.info/) for
transactions associated with a particular Bit coin address—for example,
you can look up your own wallet address to see the transaction in which
you received your first.
1.1 Need of Research
Blockchain is Reshaping the Banking Sector The banking industry is
strictly regulated in all jurisdictions, while banking sector representatives
are distinguished by their conservative attitudes. But the
wide dissemination of blockchain in the recent years, the overwhelming
popularity of crypto currencies, and the ICO boom have contributed to the
fact that the management of many banks and financial organizations no
longer deny the potential of block chain technology.
COST SAVINGS:

At its most basic, blockchain can be a useful and efficient way for financial
institutions to manage the books and involve the customer in the process.
For example, banks can use blockchain technology to give customers
granular details of where their money is invested and when interest
payments come through. Instead of encoding and issuing ATM cards,
banks can create and use securely encrypted apps based on blockchain.
By adopting this technology, financial institutions can save money and
grant customers more safety, power and control over the money they
entrust in those institutions.
• Accountability It’s rarely discussed, but computerization and
software have done wonders to reduce both external fraud and
internal misuse of company assets. It’s much harder for an
employee to fudge the books when those books are digitally
generated, and you can check who last logged into the computer to
change them, after all. But blockchain promises to further reduce
increasingly rare incidents of fraud for financial institutions who
adopt the technology. Blockchain technology makes all transactions
easy to check and makes it impossible to change every backup of
the books. Therefore, fraud attempts can be stopped before money
leaves the bank and customer accounts will be protected.
• Blockchain is virtually impossible to hack While hackers can break
into traditional networks and find all the data in a single repository
and exfiltrate it or corrupt it, the blockchain makes this unfeasibly
hard. The data is decentralized, encrypted, and cross-checked by the
whole network. Once a record is on the ledger it’s almost impossible
to alter or remove without it being noticed and invalidating the
signature.
Q4: write user requirements for following functions:
a) An unattended petrol (gas) e pump system that
includes a credit card reader. The customer swipes the
card through the reader then specifies the amount of
fuel require. The fuel is delivered and
the customer’s account debited.

Answer:

• The system should display instructions about the fuelling process


that progress as the process unfolds. (Swipe card > Select fuel type
> Select amount of fuel required > How to dispense fuel)
• The system shall monitor or detect the swiping of a credit card to
begin a transaction.
• The system shall ask the customer the type and quantity of fuel
required.
• The system shall check fuel levels available to be dispensed are
adequate to fulfill requested fuel amount prior to charging the
customer’s card.
• The system shall ensure funds are secured prior to dispensing fuel.
• The system should perform a self-test periodically to monitor fuel
dispensing rates, system security, hardware/software issues and
pause dispensing if issues found.
• The system should monitor fuel levels and alert the user when user-
defined thresholds are met.

b. The cash-dispensing function in a bank ATM.

• The system shall display instructions on the operation of ATM as the


transaction unfolds.
• The system shall confirm user’s identity via pin input prior to
accessing the bank account.
• The system should display available funds to the user prior to asking
for funds request.
• The system shall check the amount of cash available in the machine
when the initial user transaction begins. If the amount requested by
the user exceeds the amount available then the transaction will halt
and display a message stating the limit the user may withdraw.
• After the system determines required funds are available in the
users' account and in the machine, the system shall dispense the
appropriate amount, adjust the bank account accordingly, and deduct
the amount from the balance of the machine.
• The system shall perform a self-test every 5 minutes. The test will
check for tampering with the software and hardware, failures in the
software or hardware, and update security protocols with the
banking institution.
• The system shall be able to alter appropriate authorities (e.g., police
in the event of physical damage or bank officials for other failures)
when hardware and/or software issues are identified.
In an internet banking system, a facility that allows customers to transfer
funds from one account held with the bank to another account with the
same bank.

• The system shall employ cyber security protocols to mitigate


unauthorized user access to system.
• The system shall require two-factor authentication for all bank
transfers.
• The system shall display the user accounts and balances after
appropriate login credentials are provided.
• The system shall check that the requested transfer amount is below
the amount available.
• The system should display the information about the transfer such
as account numbers, new balances, etc., and prompt user for
confirmation prior to initiating the transfer.

You might also like