Sie sind auf Seite 1von 210

INTRODUCTION TO SOFTWARE

ENGINEERING(ISE)

LECTURES NOTES BY

ENGR ZAHID HUSSAIN KHASKHELI


Assistant Professor Software Engineering
MUET Jamshoro.

DEPARTMENT OF SOFTWARE ENGINEERING MEHRAN UNIVERSITY OF ENGINEERING & TECHNOLOGY JAMSHORO.


Reference Books

 Recommended Books:

 James J. Hicks Jr., "Management Information Systems", Latest Edition.

 Charles Parker and Thomas Case,” Management Information Systems”, Latest Edition.

 Jaiswal and Mital, “Management information Systems”, Latest Edition.

 Roger S. Pressman ”Software Engineering a Practitioner ‘s approach”, Latest Edition.


GROUP MEMBERS
LECTURE # 01

 Management information system

 An organized approach to the study of the information needs of an organization’s management at every
level in making operational, tactical and strategic decisions. Its objective is to design and implement
procedures and routines that provides suitable detailed reports in an accurate, consistent and timely
manner.

 In a management information system, modern computerized systems continuously gather relevant data
both from inside and outside an organization. This data is then processed , integrated and stored in a
centralized database (or data ware house ) where it is constantly updated and made available to all who
have authority to access it, in a form that suits their purpose.
LECTURE # 01

 Historical Development of MIS


 The history of modern management information systems parallels the evolution of computer hardware
and software.
 The history also parallels the devolution of management control from centralization to decentralization.

 Today, all computer-based systems that collect, process, store and communicate that data as information
are commonly defined as management information systems, or MIS.
 Historical Development of Management information system: Five Eras
 First era: Mainframe and minicomputer computing
 Second era: Personal computers
 Third era: Client/server networks
 Fourth era: Enterprise computing
 Fifth era: Cloud computing
LECTURE # 01

 First Era
 The first era pre-1965 was the period of huge mainframe computers that were housed in special
temperature-controlled rooms and required computer technicians to operate.
 IBM was the one-stop supplier of hardware and software.
 Computer time-sharing was common due to the enormous cost of owning and operating mainframes.
 As computer technology advanced and computers shrank in size, companies could afford
minicomputers, still enormously expensive by today's standard but sufficiently affordable for large
companies to own and do their own in-house computing.
 Second Era
 The second era of personal computers started in 1965 with the introduction of the microprocessor.
 By the 1980s it was in full bloom with the proliferation of the low-cost Apple I and II and the IBM
personal computer, or PC.
 The introduction of VisiCalc spreadsheet software empowered ordinary employees with the ability to do
tasks that companies paid huge sums to do 10 years earlier.
LECTURE # 01

 Third Era
 As computing power and autonomy devolved to ordinary employees in the 1980s, a simultaneous
need arose to share computer information with other employees within the business enterprise
 This need advanced the transition to the third era MIS client/server networks. Employees at all
levels of the organization could share information in a variety of formats through computer
terminals linked to computer servers over common networks called intranets.
 Fourth Era
 The fourth era, enterprise computing, consolidated disparate single-application software applications
used by different departments onto one integrated enterprise platform that was accessed over high-
speed networks.
 Enterprise software solutions integrate essential business operations -- marketing and sales, accounting,
finance, human resources, inventory and manufacturing -- to harmonize work and facilitate cooperation
across the entire enterprise.
 Although the application modules used and information accessed differ by departments and levels of
authority, enterprise computing allows a 360-degree view of the entire business operation.
LECTURE # 01

 Fifth Era
 The exponential growth in Internet bandwidth consumption is ushering in the fifth era of MIS, cloud
computing.
 According to Cisco Systems, worldwide Internet traffic is expected to reach 2 zettabytes annually by
2019.
 For context, one zettabyte equals 1,000 exabytes, and one exabyte equals 1 billion gigabytes. Cloud
computing unchains everybody from office-bound PCs, allowing access to enterprise MIS from anywhere
with mobile devices.
 The fifth era is also the time of the knowledge worker's ascendancy. As decision-making pushes to the
lowest levels of organizations, MIS is expected to increasingly empower workers not only as producers of
information but also as consumers of the same information.
 In effect, knowledge workers, as producers and consumers of MIS information, will determine precisely
what information MIS generates.
LECTURE # 01

 Terminology used – Goals and Objectives


 Goal
 Something you want to achieve
 Nothing is defined specifically or objectively

 Usually long term

 Objectives
 Specific result that a person or organization want to achieve within time frame and available resources.

 Series of smaller steps often along way to achieving a long term goal.

 Those specific objectives are achieved by individuals or by departments

 By achieving objectives, organizations may achieve its goals.

 Example – Some one desires to become a doctor – GOAL

 - must acquire good Grade A1 in his Metric and Intermediate


- must clear entrance exam with 80% or more.
LECTURE # 01

 When defining objectives SMART acronym work better:


 SMART
 S= specific

 M= measureable

 A=attainable

 R=realistic

 T=timed

 Examples: - Goals:
 I want to the best student of our faculty.

 I want to be multimillionaire

 Examples: - Objectives:
 I would like to obtain 90% results of my course, next year.

 My next six months target is to earn 1 million.


GROUP MEMBERS
LECTURE # 02

 Management information system

 Management information system (MIS) is a planned system of collecting, storing and disseminating
data in form of information needed to carryout the functions of management .

 Elements of MIS
GROUP MEMBERS
LECTURE # 02

 Management

 Management is a set of principles relating to the functions of planning, organizing, directing and
controlling to achieve an organization’s goals and objectives.

 Planning

 Establishing goals and objectives

 Organizing

 Arranging the resources- people and processes (ICT)

 Directing

 Leadership involved - Directing , motivating, coordinating

and energizing individuals and groups to work together to

to achieve organizational goals by resolving the conflicts .


GROUP MEMBERS
LECTURE # 01

 Management

 Controlling

 Monitoring the activities in order to accomplish them as planned

 Information

 Collection of raw facts and figures –Data

 Data is processed to obtain information

Data Processing Information

E.g.. Roll Number Name, Address, Cell# etc


Some Process
25
GROUP MEMBERS
LECTURE # 01

 System

 Set of interconnected components

 Data is processed with help of system

 System is orderly grouping of components that are arranged to achieve a goal or objective

 E.g .. Banking System, library system etc…


LECTURE # 01

 Major components of management information system


 A management information system is made up of five major components namely people,
business processes, data, hardware, and software. All of these components must work
together to achieve business objectives.

 People – these are the users who use the information system to record the day to day business
transactions. The users are usually qualified professionals such as accountants, human resource
managers etc. The ICT department usually has the support staff who ensure that the system is running
properly.
 Business Procedures – these are agreed upon best practices that guide the users and all other
components on how to work efficiently.
 Business procedures are developed by the people i.e. users, consultants etc.
LECTURE # 01

 Major components of management information system

 Data – the recorded day to day business transactions. For a bank, data is collected from activities such
as deposits, withdrawals etc.

 Hardware – hardware is made up of the computers, printers, networking devices, etc. The hardware
provides the computing power for processing data. It also provides networking and printing capabilities.
The hardware speeds up the processing of data into information.

 Software – these are programs that run on the hardware. The software is broken down into two major
categories namely system software and applications software. System software refers to the operating
system i.e. Windows, Mac OS, and Ubuntu etc. Applications software refers to specialized software for
accomplishing business tasks such as Payroll program, Banking system, point of sale system, etc.
 Functions of MIS
 Improves decision making
 MIS helps management by providing background information on various
issues and helps to improve the decision making quality of management
 Improve efficiency
 MIS helps managers to conduct their tasks with greater ease and with greater
efficiency . This ultimately reflects in productivity of an organization.
 Provide connectivity
 MIS provides better connectivity with rest of the organization
 Systematic approach:
MIS follows the system approach, which implies a step by step approach to the
study of system and its performance in the light of the objective for which it has
been constituted. It means taking an inclusive view at sub-systems to operate
within an organization.
 Management-oriented:
The management-oriented characteristic of MIS implies that top-down approach
needs to be followed for designing MIS. A top-down method says the initiation of
system development determines management requirements as well as business
goals. MIS implies the management dynamically to the system development
towards the completion of management decision.
 As per requirements:
The design and development of MIS should be as per the information required
by the managers. The required design and development information is at
different levels, viz., strategic planning, management control and operational
control. It means MIS should cater to the specific needs of managers in the
hierarchy of an organization.

 Future-oriented:
The design and development of MIS should also be future purpose so that the
system is not restricted to provide only the past information.
 Long-term planning:
MIS should always develop as a long term planning because it involves logical planning to get
success of an organization. While developing MIS, the analyst should keep future oriented
analysis and needs of the company in mind.

 Central database:
it contains data in tabular form. The data base is responsible to operations like insertion,
deletion, updating of records. This database covers information related to I nventory, personnel,
vendors, customers, etc. the data stored in the database.
LECTURE # 01

 Functional uses of MIS


 Functional use of MIS is to enhance :
 Quality of operations
 Provides information handy

 Provides tools and reports

 Quality of service
 Reduces the time to provide the information
 due to high powered hardware and software components
 Transparency – same information is available to at levels of managers e.g. Top level to low level.
 Efficiency –information is available all the time , increases efficiency.
 Decision making- due to availability of information decision making becomes fast without any
delays. E.g. . Inventory manager can place orders easily without discussing with sales managers.
LECTURE # 01

 Strategic uses of MIS


 Strategic use of MIS is to develop strategies :
 Planning
 Requires perfect information - to create a master plan which does not require any
changes during its execution.
 Forecasting
 Based on previous information- predict future
 Transparency – same information is available to at levels of managers e.g. Top level to low
level.
 Efficiency –information is available all the time , increases efficiency.
 Decision making- due to availability of information decision making becomes fast without
any delays. E.g. . Inventory manager can place orders easily without discussing with sales
managers.
LECTURE # 01

 Functional uses of MIS


 Functional use of MIS is to enhance :
 Quality of operations
 Provides information handy

 Provides tools and reports

 Quality of service
 Reduces the time to provide the information
 due to high powered hardware and software components
 Transparency – same information is available to at levels of managers e.g. Top level to low level.
 Efficiency –information is available all the time , increases efficiency.
 Decision making- due to availability of information decision making becomes fast without any
delays. E.g. . Inventory manager can place orders easily without discussing with sales managers.
 The competitiveness of most companies is in a large degree based on
the effective use of information technologies and information systems
especially. The main purpose of information systems are provide the
right information to the right people at the right time. It is used to
track, store, manipulate and distribute the information from gathered
data to appropriate persons when necessary.
ADVANTAGES OF INFORMATION SYSTEM

 The advantages of IS in business are numerous, some of them are:


 Enable a business to reduce labor.
 Provides accurate information.
 Provide a competitive advantage.
 This all in turn reduces costs for the buyers, manufacturer, and seller in
business organizations. Benefit in cost is the most important factor
creating the need or want for IS among business.
 Data :
 Data is raw, unorganized facts that need to be processed. Data can be something simple and seemingly
random and useless until it is organized.
 Example: Each student's test score is one piece of data
 When data is processed, organized, structured or presented in a given context so as to make it useful, it is
called information.
 Example 1: The average score of a class or of the entire school is information that can be derived from the
given data.

 Example 2: The number of visitors to a website by country is an example of data. Finding out that traffic
from the U.S. is increasing while that from Australia is decreasing is meaningful information.
 Data are simply facts or figures — bits of information, but not
information itself.
 When data are processed, interpreted, organized, structured or
presented so as to make them meaningful or useful, they are
called information. Information provides context for data.
 For example: a list of dates — data — is meaningless without the
information that makes the dates relevant (dates of holiday).
 Knowledge:
 Refers to useful information gained through learning and experience.
 Knowledge means the familiarity and awareness of a person, place,
events, ideas, issues, ways of doing things or anything else, which is
gathered through learning, perceiving or discovering.
 Process: set of logically related tasks perfumed to achieve a defined
outcome, or simply turning data into information.
 Examples of business processes include receiving orders, invoicing,
shipping products, updating employee information, or setting a
marketing budget.
 Example : suppose we want to figure out the salary of an employee
 Data : EmpNo SW/27 , No. of hours worked -150hr
 Rule : 300 PKR / Hour
 Formula/ Regulation : No. of hour worked X 300
 Salary = 150x300
 Information – salary of the employee is 45000/= whose employee no is
SW/27.
Characteristics of Information

 Availability/accessibility
 Information should be easy to obtain or access. Information kept in a book of some kind is only available
and easy to access if you have the book to hand. A good example of availability is a telephone directory, as
every home has one for its local area.
 It is probably the first place you look for a local number.
 For business premises, say for a hotel in London, you would probably use the Internet.
 An other example : Businesses used to keep customer details on a card-index system at the customer’s
branch. If the customer visited a different branch a telephone call would be needed to check details. Now,
with centralized computer systems, businesses like banks and building societies can access any customer’s
data from any branch.
 Accuracy
 Information needs to be accurate enough for the use to which it is going to be put.
 Accuracy is important; as an example, if government statistics based on the last census wrongly show an increase
in births within an area, plans may be made to build schools and construction companies may invest in new
housing developments. In these cases any investment may not be recouped.

 Information should be accurate. It means that information should be free from mistakes, errors &, clear.
 Wrong information given to management would result in wrong decisions. As managers decisions are based on
the information supplied in MIS reports, all managers need accurate information.

 Timeliness : Timeliness means that information must reach the recipients within the prescribed timeframes.
 For effective decision-making, information must reach the decision-maker at the right time, i.e. recipients must
get information when they need it.
 Delays destroys the value of information. The characteristic of timeliness, to be effective, should also include up-
to-date, i.e. current information.
 Relevance
 Information is said to be relevant if it answers especially for the recipient what, why, where, when, who and
why?
 Information should be relevant to the purpose for which it is required.
 What is relevant for one manager may not be relevant for another.
 The user will become frustrated if information contains data irrelevant to the task in hand.
 For example, a market research company may give information on users’ perceptions of the quality of a
product.
 This is not relevant for the manager who wants to know opinions on relative prices of the product and its
rivals.
 The information gained would not be relevant to the purpose.
 In other words, the MIS should serve reports to managers which is useful and the information helps them
to make decisions.
 Completeness : The information which is given to a manager must be
complete( required details ) and should meet all his needs. Incomplete
information may result in wrong decisions and thus may prove costly to
the organization.
 Ideally all the information needed for a particular decision should be
available.
 Example : making a pricing decision manager must have complete
details about its pricing e.g.. Manufacturing cost, assembling cost
servicing cost, maintenance cost etc
 Presentation
 The presentation of information is important to the user.
 Information can be more easily assimilated if it is aesthetically
pleasing.
 For example, a marketing report that includes graphs of statistics will
be more concise as well as more aesthetically pleasing to the users
within the organization.
 Many organizations use presentation software and show summary
information via a data projector. These presentations have usually been
well thought out to be visually attractive and to convey the correct
amount of detail.
Advantages and disadvantages of information systems

 The competitiveness of most companies is in a large degree based on


the effective use of information technologies and information systems
especially.
 The main purpose of information systems are provide the right
information to the right people at the right time.
 It is used to track, store, manipulate and distribute the information
from gathered data to appropriate persons when necessary.
Advantages

 Communication – with help of information technologies the instant


messaging, emails, voice and video calls becomes quicker, cheaper and
much efficient.
 Globalization and cultural gap – by implementing information
systems we can bring down the linguistic, geographical and some
cultural boundaries.
 Sharing the information, knowledge, communication and relationships
between different countries, languages and cultures becomes much
easier.
 Availability – information systems has made it possible for businesses
to be open 24×7 all over the globe. This means that a business can be
open anytime anywhere, making purchases from different countries
easier and more convenient. It also means that you can have your goods
delivered right to your doorstep with having to move a single muscle.
 Creation of new types of jobs – one of the best advantages of
information systems is the creation of new and interesting jobs.
Computer programmers, Systems analyzers, Hardware and Software
developers and Web designers are just some of the many new
employment opportunities created with the help of IT.
Disadvantages

 Unemployment and lack of job security – implementing the


information systems can save a great deal of time during the completion
of tasks and some labor mechanic works. Most paperwork’s can be
processed immediately, financial transactions are automatically
calculated, etc. As technology improves, tasks that were formerly
performed by human employees are now carried out by computer
systems. For example, automated telephone answering systems have
replaced live receptionists in many organizations or online and personal
assistants can be good example also. Industry experts believe that the
internet has made job security a big issue as since technology keeps on
changing with each day. This means that one has to be in a constant
learning mode, if he or she wishes for their job to be secure
 Security issues – thieves and hackers get access to identities and corporate
saboteurs target sensitive company data. Such data can include vendor
information, bank records, intellectual property and personal data on
company management. The hackers distribute the information over the
Internet, sell it to rival companies or use it to damage the company’s image.
For example, it is possible to steal customer information from the
information systems and distribute or misuse it. ( E.g.. Social Security
numbers and credit card data over the internet)

 Implementation expenses – to integrate the information system it


require pretty good amount of cost in a case of software, hardware and
people. Software, hardware and some other services should be rented, bought
and supported. Employees need to be trained with unfamiliar information
technology and software.
Information systems vs. Information technology

 Information systems is an umbrella term for the systems, people and


processes designed to create, store, manipulate, distribute and
disseminate information.
 The field of information systems bridges business and computer
science.
 One of the reasons people may not distinguish between IS and IT is that
they assume all information systems are computer-based systems.
 An information system, however, can be as simple as a pencil and a
piece of paper. Separate, the objects are just tools.
 Used together, they create a system for recording information.
Information systems vs. Information technology

 Information technology falls under the IS umbrella but deals with the
technology involved in the systems themselves.
 Information technology can be defined as the study, design,
implementation, support or management of computer-based
information systems.
 IT typically includes hardware, software, databases and networks.
Information technology often governs the acquisition, processing,
storage and dissemination of digitized information, or data, generated
through the disciplines of computing and telecommunications.
Information technology focuses on managing technology and improving
its utilization to advance the overall business goals.
The Changing Face of Business Environment

 Introduction
 The last decade has shown rapid development in the information
technology and its application.
 This has helped changed the way we look at the world as well as the
way business is conducted.
 Both business and trade have gained under the wave of information
technology with improvement in efficiency and productivity.
 Productivity improvement has facilitated speedy and accurate
production in large volumes.
The Changing Face of Business Environment

 In the business environment, information systems are evolving to


become the most important part of an organization.
 The advantages are becoming so significant that it is questionable if a
business can survive without an information system.
 In the 1970s, information system were primarily a transaction
processing system (TPS) enabling an organization to carry out its
routine transactions such as accounting, payroll, inventory
management, etc.
 In the 1980s, decision support systems become the most popular
information system application as it could support unstructured and
uncertain decision situations.
 However, in the 1990s IS brought about business transformation due to
the emergence of business process reengineering concepts and became
the boardroom agenda for organizations.
 From the year 2000 onwards, information system have been the cause
of strategic transformation in industry due to widespread use of
internet business.
 IS implementation is thus impacting suppliers, customers, distributors,
employees, shareholders, and partners.
Major Factors Responsible for the Changing Face of Business

 Rise in consumer expectation:


 Consumers are becoming aware of their rights.
 Their expectation from the business is increased.
 They demand quality products at reasonable rate. They have a right to get right product at a right price.
This expectation has resulted in the changing face of today business.
 Increase in competition:
 Competition gives incentive for improvement. Competition in commercial activity is increased
tremendously due to globalization. Today the consumers have more and better choice and options to buy
than ever before.
 Globalization has facilitated for increasing exports. This has given a
competitive advantage to the domestic exporters.
 This entry of domestic exporters in international trade is responsible
for changing face of business.
 Science and technology:
 Science and technology greatly affects business in many ways.
Technological development is again a factor responsible for changing
face of business.
 Due to advancement in science and technology, cheaper and better
quality goods have flooded the market.
 There were strict controls regarding exports, imports etc. globalization
has led to free transfer of resources (Natural, Capital and Human)
between nations. Globalization is again the factor responsible for
changing the face of business.
 Globalization brought removal of restrictions on foreign trade.
Globalization means integration of world economy, where the world
becomes a single market.
 Every business firm strives going global to face the competition
effectively.
 Globalization led to expansion of business globally.
 Professionalism in business:
 The concept of business has changed from traditionalism to
professionalism.
 Today the business adopts professional approach in their management.
 They try to bring a balance between profit, customer satisfaction and
social welfare. It concentrates in adopting professional approach in
conducting the activities of the business
Types of information systems

 In the early days of computing, each time an information system was


needed it was 'tailor made' - built as a one-off solution for a particular
problem.
 Based on different types of data / information / knowledge that are
processed at different levels in the organization, we can create a
different models.
 As most organizations are hierarchical, the way in which the different
classes of information systems are categorized tends to follow the
hierarchy. This is often described as "the pyramid model" because
the way in which the systems are arranged mirrors the nature of the
tasks found at various different levels in the organization.
Three level pyramid model based on the type of decisions taken at different levels
in the organization
Four level pyramid model based on the processing requirement of different levels
in the organization
 Operational management level
 The operational level is concerned with performing day to day business
transactions of the organization.
 Examples of users at this level of management include cashiers at a
point of sale, bank tellers, nurses in a hospital, customer care staff, etc.
 Users at this level use to make structured decisions. This means that
they have defined rules that guides them while making decisions.
 For example, if a store sells items on credit and they have a credit policy
that has some set limit on the borrowing. All the sales person needs to
decide whether to give credit to a customer or not is based on the
current credit information from the system.
 Tactical Management Level
 This organization level is dominated by middle-level managers, heads of
departments, supervisors, etc. The users at this level usually oversee the
activities of the users at the operational management level.
 Tactical users make semi-structured decisions. The decisions are partly based
on set of guidelines and judgmental calls. As an example, a tactical manager
can check the credit limit and payments history of a customer and decide to
make an exception to raise the credit limit for a particular customer. The
decision is partly structured in the sense that the tactical manager has to use
existing information to identify a payments history that benefits the
organization and an allowed increase percentage.
 Strategic Management Level
 This is the most senior level in an organization. The users at this level
make unstructured decisions. Senior level managers are concerned with
the long-term planning of the organization. They use information from
tactical managers and external data to guide them when making
unstructured decisions.
 An example of an unstructured decision in my company is what types of
new content should be created and what market should be targeted.
 Transaction Processing System (TPS)
 Transaction processing systems are used to record day to day business transactions
of the organization. They are used by users at the operational management level.
The main objective of a transaction processing system is to answer routine questions
such as;
 How many printers were sold today?
 How much inventory do we have at hand?
 What is the outstanding due for John Doe?
 By recording the day to day business transactions, TPS system provides answers to
the above questions in a timely manner.
 The decisions made by operational managers are routine and highly structured.
 The information produced from the transaction processing system is very detailed.
 For example, banks that give out loans require that the company that a
person works for should have a memorandum of understanding (MoU) with
the bank. If a person whose employer has a MoU with the bank applies for a
loan, all that the operational staff has to do is verify the submitted
documents. If they meet the requirements, then the loan application
documents are processed. If they do not meet the requirements, then the
client is advised to see tactical management staff to see the possibility of
signing a MoU.
 Examples of transaction processing systems include;
 Point of Sale Systems – records daily sales
 Payroll systems – processing employees salary, loans management, etc.
 Stock Control systems – keeping track of inventory levels
 Airline booking systems – flights booking management
 Management Information System (MIS)
 Management Information Systems (MIS) are used by tactical managers
to monitor the organization's current performance status. The output
from a transaction processing system is used as input to a management
information system.
 The MIS system analyzes the input with routine algorithms i.e.
aggregate, compare and summarizes the results to produced reports
that tactical managers use to monitor, control and predict future
performance.
 For example, input from a point of sale system can be used to analyze trends
of products that are performing well and those that are not performing well.
This information can be used to make future inventory orders i.e. increasing
orders for well-performing products and reduce the orders of products that
are not performing well.
 Examples of management information systems include;
 Sales management systems – they get input from the point of sale system
 Budgeting systems – gives an overview of how much money is spent
within the organization for the short and long terms.
 Human resource management system – overall welfare of the
employees, staff turnover, etc.
 Decision Support System (DSS)
 Decision support systems are used by senior management to make non-routine
decisions. Decision support systems use input from internal systems (transaction
processing systems and management information systems) and external systems.
 The main objective of decision support systems is to provide solutions to problems
that are unique and change frequently. Decision support systems answer questions
such as;
 What would be the impact of employees' performance if we double the production
lot at the factory?
 What would happen to our sales if a new competitor entered the market?
 Decision support systems use sophisticated mathematical models, and statistical
techniques (probability, predictive modeling, etc.) to provide solutions, and they are
very interactive
 Bank loan management systems – it is used to verify the credit of
the loan applicant and predict the likelihood of the loan being
recovered.
The systems development life cycle (SDLC)

 The systems development life cycle (SDLC), also referred to as


the application development life-cycle, is a term used in systems
engineering, information systems and software engineering to
describe a process for planning, creating, testing, and deploying
an information system.

 The systems development lifecycle concept applies to a range of


hardware and software configurations, as a system can be composed
of hardware only, software only, or a combination of both.
 A systems development life cycle is composed of a number of clearly
defined and distinct work phases which are used by systems
engineers and systems developers to plan for, design, build, test, and
deliver information systems.

 Like anything that is manufactured on an assembly line, an SDLC


aims to produce high-quality systems that meet or exceed customer
expectations, based on customer requirements, by delivering systems
which move through each clearly defined phase, within scheduled
time frames and cost estimates.
 Computer systems are complex to build.

 To manage this level of complexity, a number of SDLC models or


methodologies have been created, such as waterfall, spiral, Agile
software development, rapid prototyping, incremental etc..
SDLC: Phases

 Requirement gathering and analysis


 Business requirements are gathered in this phase.
 This phase is the main focus of the project managers and stake holders.
 Meetings with managers, stake holders and users are held in order to
determine the requirements like; Who is going to use the system? How
will they use the system? What data should be input into the
system? What data should be output by the system?
 These are general questions that get answered during a requirements
gathering phase.
 After requirement gathering these requirements are analyzed for their
validity and the possibility of incorporating the requirements in the
system to be developed is also studied.

 Finally, a Requirement Specification document is created which


serves the purpose of guideline for the next phase of the model.
Operations
Development
Testers
 Design:
 In this phase the system design is prepared from the requirement
specifications which were studied in the first phase.
 System Design helps in specifying hardware and system
requirements and also helps in defining overall system architecture.
 The system design specifications serve as input for the next phase of
the model.
 In this phase the testers comes up with the Test strategy, where they
mention what to test? How to test?
 Implementation / Coding:
 On receiving system design documents, the work is divided in
modules/units and actual coding is started.

 Since, in this phase the code is produced so it is the main focus for
the developer.

 This is the longest phase of the software development life cycle.


 Testing:
 After the code is developed it is tested against the requirements to
make sure that the product is actually solving the needs addressed
and gathered during the requirements phase.

 During this phase all types of functional testing like unit testing,
integration testing, system testing, acceptance testing are done as
well as non-functional testing are also done.
 Deployment:

 After successful testing the product is delivered / deployed to the customer


for their use.

 As soon as the product is given to the customers they will first do the beta
testing.
 If any changes are required or if any bugs are caught, then they will report
it to the engineering team.

 Once those changes are made or the bugs are fixed then the final
deployment will happen.
 Maintenance:

 Once when the customers starts using the developed system then the actual
problems comes up and needs to be solved from time to time.

 This is the process where the care is taken for the developed product is known as
maintenance.
Types of Software development life cycles (SDLC)

 Waterfall Model
 V-Shaped Model
 Evolutionary Prototyping Model
 Spiral Method
 Iterative and Incremental Model
 Agile development Model
 You can think of SDLC models as tools that you can use to better deliver
your software project
Waterfall Model

 The Waterfall Model is a linear sequential flow.


 In which progress is seen as flowing steadily downwards (like a
waterfall) through the phases of software implementation.
 This means that any phase in the development process begins only if
the previous phase is complete.
 The waterfall approach does not define the process to go back to the
previous phase to handle changes in requirement.
 The waterfall approach is the earliest approach and most widely known
that was used for software development.
 Project which does not focus on changing the requirements, for
example, projects initiated from a request for proposals (RFPs), the
customer has a very clear documented requirements.
 Advantages
 Easy to explain to the users.
 Structured approach.
 Helps to plan and schedule the project.
 Verification at each stage ensures early detection of
errors/misunderstanding.
 Each phase has specific deliverables.
 Disadvantages
 Assumes that the requirements of a system can be frozen.
 Very difficult to go back to any stage after it finished.
 A little flexibility and adjusting scope is difficult and expensive.
 Costly and requires more time, in addition to the detailed plan.
V-Shaped Model

 It is an extension of the waterfall model, Instead of moving down in a


linear way, the process steps are bent upwards after the implementation
and coding phase, to form the typical V shape.
 The major difference between the V-shaped model and waterfall model
is the early test planning in the V-shaped model.
 Software requirements clearly defined and known
 Software development technologies and tools are well-known
Advantages

 Simple and easy to use


 Each phase has specific deliverables.
 Higher chance of success over the waterfall model due to the
development of test plans early on during the life cycle.
 Works well where requirements are easily understood.
 Verification and validation of the product in the early stages of product
development.
Disadvantages

 Very inflexible, like the waterfall model.


 Adjusting scope is difficult and expensive.
 The software is developed during the implementation phase, so no early
prototypes of the software are produced.
 The model doesn’t provide a clear path for problems found during
testing phases.
 Costly and required more time, in addition to a detailed plan
Prototyping Model

 It refers to the activity of creating prototypes of software applications,


for example, incomplete versions of the software program being
developed.
 It is an activity that can occur in software development and It used to
visualize some component of the software to limit the gap of
misunderstanding the customer requirements by the development
team.
 This also will reduce the iterations may occur in the waterfall approach
and hard to be implemented due to the inflexibility of the waterfall
approach. So, when the final prototype is developed, the requirement is
considered to be frozen.
Advantages and Disadvantages

 Advantages
 Reduced time and costs, but this can be a disadvantage if the developer
loses time in developing the prototypes.
 Improved and increased user involvement.
 Disadvantages
 Insufficient analysis-user confusion of prototype.
 Developer misunderstanding of user objectives.
 Excessive development time of the prototype.
 It is costly to implement the prototypes.
Spiral Model

 This model of development combines the features of the prototyping


model and the waterfall model. The spiral model is favored for large,
expensive, and complicated projects. This model uses many of the same
phases as the waterfall model, in essentially the same order, separated
by planning, risk assessment, and the building of prototypes and
simulations.
 It is used in the large applications and systems which built-in small
phases or segments.
Spiral Model
 Advantages
 Estimates (i.e. budget, schedule, etc.) become more realistic as work
progressed because important issues are discovered earlier.
 Early involvement of developers.
 Manages risks and develops the system into phases.
 Disadvantages
 High cost and time to reach the final product.
 Needs special skills to evaluate the risks and assumptions.
 Highly customized limiting re-usability
Iterative and Incremental Model

 The basic idea behind this method is to develop a system through


repeated cycles (iterative) and in smaller portions at a time
(incremental), allowing software developers to take advantage of what
was learned during the development of earlier parts or versions of the
system. It can consist of mini waterfalls or mini V-Shaped model

 It is used in shrink-wrap application and large system which built-in


small phases or segments. Also, can be used in a system has separated
components, for example, ERP system. Which we can start with the
budget module as a first iteration and then we can start with the
inventory module and so forth.
 Advantages
 Produces business value early in the development lifecycle.
 Can accommodate some change requests between increments.
 More focused on customer value than the linear approaches.
 We can detect project issues and changes earlier.
 Disadvantages
Requires heavy documentation.
 Defines increments based on function and feature dependencies.
 Requires more customer involvement than the linear approaches.
 Partitioning the functions and features might be problematic.
 Integration between the iterations can be an issue if it is not considered
during the development and project planning.
Agile Model

 Its used to develop small general purpose software's.


 It is based on iterative and incremental development, where
requirements and solutions evolve through collaboration between
cross-functional teams.

 It can be used with any type of the project, but it needs more
engagement from the customer and to be interactive. Also, we can use it
when the customer needs to have some functional requirement ready in
less than three weeks and the requirements are not clear enough. This
will enable more valuable and workable piece for software early which
also increase the customer satisfaction.
Advantages

 Decrease the time required to avail some system features.


 Face to face communication and continuous inputs from customer
representative leaves no space for guesswork.
 The end result is the high-quality software in the least possible time
duration and satisfied customer.
 Disadvantages
 Scalability.
 Documentation is done at later stages.
 Needs special skills for the team.
 In order to select the right SDLC, you should have enough experience
and be familiar with the SDLCs that will be chosen and understand
them correctly.
 Choose the SDLC model based on the project context and the
business requirements.
 SDLC models as tools that you can use to better deliver your software
project
Structured Systems Analysis and Design Method(SSADM)

 SSADM was produced for the Central Computer and Telecommunications


Agency(CCTA), a UK government office concerned with the use of technology in
government, from 1980 onwards.
 Short for Structured Systems Analysis and Design Method, a set of standards
developed in the early 1980s for systems analysis and application design widely
used for government computing projects in the United Kingdom
 SSADM uses a combination of text and diagrams throughout the whole life cycle of
a system design, from the initial design idea to the actual physical design of the
application.
 SSADM is a development method that allows the analyst to understand the system
and its activities in a logical way.
 It is a systematic approach, which uses graphical tools that analyze and refine the
objectives of an existing system and develop a new system specification which can
be easily understandable by user.
Characteristics of SSADM

 It uses a graphical approach which specifies the presentation of


application.
 It divides the processes so that it gives a clear picture of system flow.
 It is logical rather than physical i.e., the elements of system do not
depend on vendor or hardware.
 It is an approach that works from high-level overviews to lower-level
details.
Techniques used in SSADM

 SSADM revolves around the use of three key techniques, namely Logical Data Modeling, Data Flow
Modeling and Entity/Event Modeling.
 Logical Data Modeling -- this is the process of identifying, modeling and documenting the data
requirements of a system. A Logical Data Model consists of a Logical Data Structure (LDS - also known as
an Entity-Relationship Model) and the associated documentation. LDS represents Entities (things about
which a business needs to record information, and usually proper nouns) and Relationships (links between
entities).
 Data Flow Modeling -- this is the process of modeling and documenting how data flows around a system.
A Data Flow Model consists of a set of connected Data Flow Diagrams (DFDs) supported by appropriate
documentation. Data Flow Diagrams represent processes and functions of the system (activities that
transform data from one form to another), data stores (files or data storage), external entities (things that
send data into a system or receive data from a system) and finally data flows (show the flow of data around
the system).
 Entity Event Modeling -- the process of identifying, modeling and documenting the business events that
affect each entity and the sequence in which these events occur.
 Each of these three system models provides a different viewpoint of the same system, and each viewpoint is
required to form a complete model of the system being designed. The three techniques are cross-referenced
against each other to ensure the completeness and accuracy of the whole application.
SSADM Modules/Phases

 SSADM application development projects are divided into five modules/phases that
are further broken down into a hierarchy of stages, steps and tasks:
 Feasibility Study-- the business area is analyzed to determine whether a system
can cost effectively support the business requirements.
 When a feasibility study is carried out, there are four main areas of consideration:
 Technical – is the project technically possible?
 Financial – can the business afford to carry out the project?
 Organizational – will the new system be compatible with existing practices?
Ethical – is the impact of the new system socially acceptable?
 Requirements Analysis-- the requirements of the system to be developed are
identified and the current business environment is modeled in terms of the
processes carried out and the data structures involved.
 Requirements Specification-- detailed functional and non-functional
requirements are clearly identified and stated.
 Logical System Specification-- technical systems options are
produced and the logical design of update and enquiry processing and
system dialogues.
 Physical Design -- a physical database design and a set of program
specifications are created using the logical system specification and
technical system specification.
 Unlike rapid application development, which conducts steps in parallel,
SSADM builds each step on the work that was prescribed in the
previous step with no deviation from the model. Because of the rigid
structure of the methodology, SSADM is praised for its control over
projects and its ability to develop better quality systems.
Structured Systems Analysis and Design Tools

 During Structured Analysis, various tools and techniques are used for
system development.
 They are:
 Data Flow Diagrams
 Data Dictionary
 Decision Trees
 Decision Tables
 Structured English
 Pseudocode
Data Flow Diagrams (DFD) or Bubble Chart

 It is a technique developed by Larry Constantine to express the


requirements of system in a graphical form.
 It shows the flow of data between various functions of system and
specifies how the current system is implemented.
 Its graphical nature makes it a good communication tool between user
and analyst or system designer.
 It gives an overview of what data a system processes, what
transformations are performed, what data are stored, what results are
produced and where they flow.
Basic Elements of DFD

 DFD is easy to understand and quite effective when the required design
is not clear and the user want a notational language for communication.
 However, it requires a large number of iterations for obtaining the
most accurate and complete solution.
-
+
Context Diagram

 A context diagram helps in understanding the entire system by one


DFD which gives the overview of a system.

 It starts with mentioning major processes with little details and then
goes onto giving more details of the processes with the top-down
approach.
The context diagram of mess management is shown below
Data Dictionary

 A data dictionary is a structured repository of data elements in the


system.
 It stores the descriptions of all DFD data elements that is, details and
definitions of data flows, data stored in data stores, and the processes.
 It plays an important role in building a database.
 It stores data about data (Meta data)
 Most DBMSs have a data dictionary as a standard feature.
Decision Trees

 Decision trees are a method for defining complex relationships by


describing decisions and avoiding the problems in communication.
 A decision tree is a diagram that shows alternative actions and
conditions within horizontal tree framework.
 Decision trees depict the relationship of each condition and their
permissible actions.
 A square node indicates an action and a circle indicates a condition.
 It forces analysts to consider the sequence of decisions and identifies
the actual decision that must be made.
 It is a single representation of the relationships between conditions and
actions.
 For example, refer the following decision tree −
Decision Tables

 Decision tables are a method of describing the complex logical relationship in a


precise manner which is easily understandable.
 It is useful in situations where the resulting actions depend on the occurrence of one
or several combinations of independent conditions.
 It is a matrix containing row or columns for defining a problem and the actions.
 Components of a Decision Table
 Condition Stub − It is in the upper left quadrant which lists all the condition to be
checked.
 Action Stub − It is in the lower left quadrant which outlines all the action to be
carried out to meet such condition.
 Condition Entry − It is in upper right quadrant which provides answers to questions
asked in condition stub quadrant.
 Action Entry − It is in lower right quadrant which indicates the appropriate action
resulting from the answers to the conditions in the condition entry quadrant.
 The entries in decision table are given by Decision Rules which define
the relationships between combinations of conditions and courses of
action.
 Y shows the existence of a condition.
 N represents the condition, which is not satisfied.
 A blank - against action states it is to be ignored.
 X (or a check mark will do) against action states it is to be carried out.
Structured English

 Structure English is derived from structured programming language


which gives more understandable and precise description of process.
 It is based on procedural logic that uses construction and imperative
sentences designed to perform operation for action.
 It is best used when sequences and loops in a program must be
considered and the problem needs sequences of actions with decisions.
 It does not have strict syntax rule.
 It expresses all logic in terms of sequential decision structures and
iterations.
Guidelines for Selecting Appropriate Tools

 Use the following guidelines for selecting the most appropriate tool that
would suit your requirements −
 Use DFD at high or low level analysis for providing good system
documentations.
 Use data dictionary to simplify the structure for meeting the data
requirement of the system.
 Use structured English if there are many loops and actions are complex.
 Use decision tables when there are a large number of conditions to check and
logic is complex.
 Use decision trees when sequencing of conditions is important and if there
are few conditions to be tested.

System Development Principles and Methodologies: PIECES Framework
(Wetherbe's PIECES framework )

 To classify identified requirements into following six subject areas—


Performance, Information, Economy, Control, Efficiency,
and Services.
 The goal of the model is to assure the systems analyst and the user that
questions will be included during analysis about each of these six
essential subjects as it relates to the problem domain.
 The responses to the questions for each of these subject areas
significantly contribute to the definition of the system's requirements.
 Performance
 Throughput
 Response Time
 E.g..
 what is the acceptable throughput rate?
 what is the acceptable response time?
 Information (and Data)
 Inputs
 Outputs
 Stored
 E.g..
 what are the necessary inputs and outputs?
 when must they happen?
 what is the required data to be stored?
 how current must the information be?
 what are the interfaces to external systems?
 Economics
 Costs
 Costs are unknown
 Costs are too high

 Profits
 New markets can be explored
 Current marketing can be improved
 E.g..
 what are the areas of the system where costs must be reduced?
 how much should costs be reduced or profits be increased?
 what are the budgetary limits?
 what is the timetable for development?
 Control (and Security)
 Too little security or control
 Input data is not adequately edited
 Crimes (e.g. fraud, embezzlement) are (or can be) committed against the data
 Ethics are breached on data or information – refers to data or information getting to
unauthorized people
 Redundantly stored data is inconsistent in different files or databases
 Data privacy regulations or guidelines are being (or can be) violated
 Processing errors are occurring (either by people, machines, or software)
 Decision- making errors are occurring

 Too much control or security


 Controls inconvenience customers or employees
 Excessive controls cause processing delays
 Efficiency
 Data is redundantly input or copied
 Data is redundantly processed
 Information is redundantly generated
 Effort required for tasks is excessive
 Materials required for tasks is excessive

 Are there duplicate steps in the process that must be eliminated?


 Are there ways to reduce waste in the way the system uses its resources?
 Service
 The system produces inaccurate results

 The system produces inconsistent results

 The system produces unreliable results

 The system is not easy to learn

 The system is not easy to use

 The system is awkward to use

 The system is incompatible with other systems


Summary of each of the six subject areas

 Performance questions address how the system needs to perform for


the user.
 Issues of throughput (the amount of work performed over some period
of time) and response time (the average delay between a transaction or
user request and the response to that transaction or user request) are
considered.
 For example, the systems analyst may ask questions about the needed
response time or throughput required on the network
 The information category provides the basis for the information or data model
that the system needs to maintain.
 Issues dealing with input data, output data, and stored data are considered.
 The systems analyst may ask the following questions:
 "What information is required by the users of the system?“
 "What outputs are required?“
 "What do these outputs need to look like?"
 These questions need to be addressed and answered while the systems analyst is
interacting with the user to define output or report definitions.
 Similarly, questions related to input data required in order to produce the outputs
are also included in this category, for example, "What input screens are needed?" or
"What is the source for the input (where does it come from)?" and "Can the input
enter the system with source data acquisition equipment such as bar code scanners,
laser guns, mouse, and so on?"
 The third category in this framework is economy.
 This subject area addresses project development and
operational cost information along with any objectives that may
relate to economy or savings associated with the system. For example,
the systems analyst may ask, "What is the budget for this project?" or
"What is a workable solution to the problem worth to the user of this
system?" Other questions can include: "What are some anticipated cost
savings associated with this system?" and "Are there current manual
activities that an automated solution to the problem may affect?"
 The control category is closely associated with system security issues
as well as the editing required on the incoming data.
 For example, questions may be asked related to needed accounting
controls for some processes, or at what levels (workstation, user, screen,
file, data element, and so on) security is needed.
 Any issue related to controlling the use of the system, its outputs and
inputs, or required controls over the data can be included in this
category.
 Somewhat related to economy, the other "E" in the PIECES framework
refers to efficiency. Efficiency is a measure of a method’s correctness.
In other words, "Are things being done right?" Efficiency's impact is
usually measured at least at one of three levels—corporate-wide,
department, or individual. Questions related to efficiency are primarily
directed toward the impact that any solution must have on the
environment. For example, "How can the operations in the office be
improved by this system?" and "What values can be added to the
environment by using an automated solution to the problem?" are two
questions that the analyst can ask in this subject area.
 The final category in Wetherbe's PIECES framework is essentially the
functional requirements of the system that he associates with services.
"What does the system need to do in order to solve the problem?" and
"What processes need to be performed?" or "How are the objects
expected to perform?" and "What do the objects need to be able to do?"
are typical questions the analyst asks for this subject area. In addition
to functional requirements, services may also include implementation
concerns, such as ease of use and needed support for ongoing use of the
system, maintenance of the system, and training and documentation
requirements.
Data Accessing Methods

 Data access typically refers to software and activities related to storing,


retrieving, or acting on data house in a database or other repository.
 Data access crucially involves authorization to access different data
repositories.
 Data access can help distinguish the abilities of administrators and
users.
 For example, administrators may have the ability to remove, edit and
add data, while general users may not even have "read" rights if they
lack access to particular information.
 Two fundamental types of data access exist:
 Sequential access
 (as in magnetic tape)
 Random Access
 (as in indexed media)
 Sequential access means that a group of elements (such
as data in a memory array or a disk file or on magnetic tape
data storage) is accessed in a predetermined, ordered sequence.
 It may also be the access method of choice, for example if all that is
wanted is to process a sequence of data elements in order.
 In data structures, a data structure is said to have sequential access if
one can only visit the values it contains in one particular order.
 Random access:
 Random access (more precisely and more generally called direct access)
is the ability to access an arbitrary element of a sequence in equal time
or any item of data from a population of addressable elements roughly
as easily and efficiently as any other, no matter how many elements
may be in the set.
 At first the term "random access" was used because the process had to
be capable of finding records no matter in which sequence they were
required.
 However, soon the term "direct access" gained favor because one could
directly retrieve a record, no matter what its position might be.
 The operative attribute however is that the device can access any
required record immediately on demand.
 The opposite is sequential access, where a remote element takes longer
time to access.
 A more modern example is a cassette tape (sequential — one must fast
forward through earlier songs to get to later ones) and a CD (direct
access — one can skip to the track wanted, knowing that it would be the
one retrieved).
 In data structures, direct access implies the ability to access any entry in
a list in constant time (independent of its position in the list and of list's
size).
 Direct access is required, or at least valuable, in many algorithms such
as binary search
 Other data structures, such as linked lists, sacrifice direct access to
permit efficient inserts, deletes, or reordering of data
File organization

 File organization refers to the way data is stored in a file.


 File organization is very important because it determines the methods of
access, efficiency, flexibility and storage devices to use.
 File Organization refers to the logical relationships among various records
that constitute the file, particularly with respect to the means of identification
and access to any specific record.
 There are four methods of organizing files on a storage media. This include:
 sequential,
 random,
 serial and
 indexed-sequential
 Sequential file organization
 Records are stored and accessed in a particular order sorted using a key field.
 Retrieval requires searching sequentially through the entire file record by record to
the end.
 Because the record in a file are sorted in a particular order, better file searching
methods like the binary search technique can be used to reduce the time used for
searching a file .
 Since the records are sorted, it is possible to know in which half of the file a
particular record being searched is located, Hence this method repeatedly divides
the set of records in the file into two halves and searches only the half on which the
records is found.
 For example, of the file has records with key fields 20, 30, 40, 50, 60 and the
computer is searching for a record with key field 50, it starts at 40 upwards in its
search, ignoring the first half of the set.
 Advantages of sequential file organization
 The sorting makes it easy to access records.
 The binary chop technique can be used to reduce record search time by
as much as half the time taken.
 Disadvantages of sequential file organization
 The requirement that all records be of the same size is sometimes
difficult to enforce.
 Random or direct file organization
 Records are stored randomly but accessed directly.
 To access a file stored randomly, a record key is used to determine where a record is stored on the
storage media.
 Magnetic and optical disks allow data to be stored and accessed randomly.
 Advantages of random file access
 Quick retrieval of records.
 The records can be of different sizes.
 Disadvantages of Random file organization
 Data may be accidentally erased or overwritten unless special precautions are taken.
 Random files are less efficient in the use of storage space compared to sequentially organized files
 Expensive hardware and software resources are required
 Relatively complex when programming.5.System design based on random file organization is complex
and costly.
 Serial file organization
 Records in a file are stored and accessed one after another.
 The records are not stored in any way on the storage medium, this type of
organization is mainly used on magnetic tapes.
 Advantages of serial file organization
 It is simple
 It is cheap
 Disadvantages of serial file organization
 It is cumbersome to access because you have to access all preceding records
before retrieving the one being searched.
 It cannot support modern high speed requirements for quick record access.
 Indexed-sequential file organization method
 Almost similar to sequential method only that, an index is used to
enable the computer to locate individual records on the storage media.
 For example, on a magnetic disc, records are stored sequential on the
tracks. However, each record is assigned an index that can be used to
access it directly.
Database management system (DBMS)

 A database management system (DBMS) is a set of related software


applications that provide end users and application programmers with
a systematic way to create and manage databases.
 A DBMS makes it possible for end users to create, read, update and
delete data in a database. The DBMS essentially serves as an interface
between the database and end users or application programs, ensuring
that data is consistently organized and remains easily accessible.
 A database management system (DBMS) is a collection
of programs that enables you to store, modify, and extract information
from a database.
 The DBMS manages three important things: the data, the
database engine that allows data to be accessed, locked and modified -- and
the database schema, which defines the database’s logical structure.
 The DBMS is perhaps most useful for providing a centralized view of data
that can be accessed by multiple users, from multiple locations, in a
controlled manner.
 A DBMS can limit what data the end user sees, as well as how that end user
can view the data, providing many views of a single database schema.
 End users and software programs are free from having to understand where
the data is physically located or on what type of storage media it resides
because the DBMS handles all requests.
 Some other DBMS examples include:
 MySQL
 SQL Server
 Oracle
 Database is a collection of related data and data is a collection of facts
and figures that can be processed to produce information.
 Mostly data represents recordable facts.
 Data aids in producing information, which is based on facts.
 For example, if we have data about marks obtained by all students, we
can then conclude about toppers and average marks.
 A database management system stores data in such a way that it
becomes easier to retrieve, manipulate, and produce information.
Database Schema

 A database schema is the skeleton structure that represents the logical


view of the entire database.
 It defines how the data is organized and how the relations among them
are associated.
 It formulates all the constraints that are to be applied on the data.
 A database schema defines its entities and the relationship among
them.
 It’s the database designers who design the schema to help programmers
understand the database and make it useful.
Characteristics of Database

 Traditionally, data was organized in file formats. DBMS was a new


concept then, and all the research was done to make it overcome the
deficiencies in traditional style of data management. A modern DBMS
has the following characteristics −
 Real-world entity − A modern DBMS is more realistic and uses real-
world entities to design its architecture. It uses the behavior and
attributes too. For example, a school database may use students as an
entity and their age as an attribute.
 Relation-based tables − DBMS allows entities and relations among
them to form tables. A user can understand the architecture of a
database just by looking at the table names.
 Isolation of data and application − A database system is entirely
different than its data. A database is an active entity, whereas data is said to
be passive, on which the database works and organizes. DBMS also stores
metadata, which is data about data, to ease its own process.
 Less redundancy − DBMS follows the rules of normalization, which splits a
relation when any of its attributes is having redundancy in values.
Normalization is a mathematically rich and scientific process that reduces
data redundancy.
 Consistency − Consistency is a state where every relation in a database
remains consistent. There exist methods and techniques, which can detect
attempt of leaving database in inconsistent state. A DBMS can provide
greater consistency as compared to earlier forms of data storing applications
like file-processing systems.
 Query Language − DBMS is equipped with query language, which
makes it more efficient to retrieve and manipulate data. A user can
apply as many and as different filtering options as required to retrieve a
set of data. Traditionally it was not possible where file-processing
system was used.
ACID Properties

 A transaction is a very small unit of a program and it may contain


several low level tasks. A transaction in a database system must
maintain Atomicity, Consistency, Isolation, and Durability −
commonly known as ACID properties − in order to ensure accuracy,
completeness, and data integrity.
 Atomicity guarantees that each transaction is treated as a single
"unit", which either succeeds completely, or fails completely: if any of
the statements constituting a transaction fails to complete, the entire
transaction fails and the database is left unchanged. An atomic system
must guarantee atomicity in each and every situation, including power
failures, errors and crashes.
 Consistency − The database must remain in a consistent state after any
transaction, no transaction should have any adverse effect on the data
residing in the database.
 Any data written to the data base must be valid according to all defined rules,
including constraints, triggers and any combination of both, this prevents
database corruption by an illegal transaction.
 Transactions are often executed concurrently (e.g., reading and writing to
multiple tables at the same time).
 Isolation ensures that concurrent execution of transactions leaves the
database in the same state that would have been obtained if the transactions
were executed sequentially.
 Durability guarantees that once a transaction has been committed, it
will remain committed even in the case of a system failure (e.g., power
outage or crash).
 This usually means that completed transactions (or their effects) are
recorded in non-volatile memory.
 Multiuser and Concurrent Access − DBMS supports multi-user
environment and allows them to access and manipulate data in parallel.
Though there are restrictions on transactions when users attempt to
handle the same data item, but users are always unaware of them.
 Multiple views − DBMS offers multiple views for different users. A
user who is in the Sales department will have a different view of
database than a person working in the Production department. This
feature enables the users to have a concentrate view of the database
according to their requirements.
 Security − Features like multiple views offer security to some extent
where users are unable to access data of other users and departments.
DBMS offers methods to impose constraints while entering data into
the database and retrieving the same at a later stage.
 DBMS offers many different levels of security features, which enables
multiple users to have different views with different features. For
example, a user in the Sales department cannot see the data that
belongs to the Purchase department.
Users

 A typical DBMS has users with different rights and permissions who use it
for different purposes. Some users retrieve data and some back it up. The
users of a DBMS can be broadly categorized as follows −
 Administrators − Administrators maintain the DBMS and are
responsible for administrating the database. They are responsible to look
after its usage and by whom it should be used. They create access profiles
for users and apply limitations to maintain isolation and force security.
 Designers − Designers are the group of people who actually work on
the designing part of the database. They keep a close watch on what
data should be kept and in what format. They identify and design the
whole set of entities, relations, constraints, and views.
 End Users − End users are those who actually reap the benefits of
having a DBMS. End users can range from simple viewers who pay
attention to the logs or market rates to sophisticated users such as
business analysts.
DBMS - Architecture

 The architecture of a DBMS can be seen as either single tier or multi-


tier. An n-tier architecture divides the whole system into related but
independent n modules, which can be independently modified, altered,
changed, or replaced.
 In 1-tier architecture, the DBMS is the only entity where the user
directly sits on the DBMS and uses it. Any changes done here will
directly be done on the DBMS itself.
 It does not provide handy tools for end-users.
 Database designers and programmers normally prefer to use single-tier
architecture.
 If the architecture of DBMS is 2-tier, then it must have an application
through which the DBMS can be accessed. Programmers use 2-tier
architecture where they access the DBMS by means of an application. Here
the application tier is entirely independent of the database in terms of
operation, design, and programming.
 2-tier DBMS architecture includes an Application layer between the user
and the DBMS, which is responsible to communicate the user's request to the
database management system and then send the response from the DBMS to
the user.
 An application interface known as ODBC(Open Database Connectivity)
provides an API that allow client side program to call the DBMS.
 Most DBMS vendors provide ODBC drivers for their DBMS.
 Such an architecture provides the DBMS extra security as it is not
exposed to the End User directly. Also, security can be improved by
adding security and authentication checks in the Application layer too.
 3-tier DBMS architecture is the most commonly used architecture for
web applications.
Beyond traditional database systems

 Cloud Computing
 Cloud Computing can be defined as delivering computing power( CPU,
RAM, Network Speeds, Storage OS software) a service over a network
(usually on the internet) rather than physically having the computing
resources at the customer location.
 Example: AWS, Azure, Google Cloud

Other Definitions

 Cloud Computing is the practice of using large groups of remote servers,


hosted on Internet, to store and access applications and computer data,
instead of saving them on the local server or personal computer.
 Cloud Computing provides easy access to information technology
resources. The cloud customer pays only for services that are delivered
and used by them. There are models and services that make Cloud
Computing accessible to users.
Cloud - Service Models

 There are three service models on which Cloud Computing is based,


they are:
 Infrastructure as a service that is IaaS
 Platform as a Service that is PaaS
 Software as a Service that is SaaS
Infrastructure as a service that is IaaS

 Infrastructure as a Service (IaaS). IaaS provides users access to raw computing resources such as processing
power, data storage capacity, and networking, in the context of a secure data center.
 IaaS(Infrastructure as a service) is a complete package for computing. For small scale businesses who are
looking for cutting cost on IT infrastructure, IaaS is one of the solutions. Annually a lot of money is spent in
maintenance and buying new components like hard-drives, network connections, external storage device etc.
which a business owner could have saved for other expenses by using IaaS.
 Platform as a Service (PaaS). Geared toward software development teams, PaaS offerings provide computing
and storage infrastructure and also a development platform layer, with components such as web servers, database
management systems, and software development kits (SDKs) for various programming languages.
 PaaS environments are equipped with software development technologies, such as .NET, Python, Ruby on Rails,
and Java. Currently, PaaS is the smallest part of the Cloud Computing market, and has been used by businesses
wanting to outsource part of their infrastructure.
 Software as a Service (SaaS). SaaS providers offer application-level services tailored to a wide variety of
business needs, through internet this service is available to users anywhere in the world.
 This part of the Cloud is the largest and most developed. It is a program, or a suite of applications, available
within the Cloud, rather than a computer’s hard drive, such as customer relationship management (CRM),
marketing automation, or business analytics.
Deployment Models

 Cloud services are available through various deployment models. These


models are:
 Public Cloud
 Private Cloud
 Hybrid Cloud
 Cloud Computing Architecture
 Cloud computing comprises of two components front end and back end.
 Front end consist client part of cloud computing system, it comprise of
interfaces and applications that are required to access the cloud
computing platform.
 While back end refers to the cloud itself, it comprises of the resources
that are required for cloud computing services.
 It consists of virtual machines, servers, data storage, security
mechanism etc. It is under providers control.
 Public Cloud
 In a public cloud deployment mode, the services which are deployed are
open for public use and generally public cloud services are free.
 Technically there may be no difference between a public cloud and a
private cloud, but the security parameters are very different, since the
public cloud is accessible by anyone there is a more risk factor involved
with the same.
 In Public Cloud, customers need to pay only for the resources they use.
 Examples of Public Cloud are email, social networking sites, and so on.
 Private Cloud
 Private Cloud infrastructure is dedicatedly operated for a particular
organization, managed by the organization themselves or a third party.
 This cloud deployment model is popular among enterprises as
customers have complete control over security aspects.
 Hybrid Cloud
 Hybrid Cloud is the composition of two or more clouds, for example, a
combination of private, public
 Private Cloud
 Currently, businesses can develop a Private Cloud system, designed for
their particular needs.
 These Private Clouds store, and can share, sensitive data.
Characteristics of Cloud Computing

 1) Agility
 The cloud works in the distributed computing environment. It shares resources among
users and works very fast.
 2) High availability and reliability
 Availability of servers is high and more reliable, because chances of infrastructure
failure are minimal.
 3) High Scalability
 Means "on-demand" provisioning of resources on a large scale, without having
engineers for peak loads.
 4) Multi-Sharing
 With the help of cloud computing, multiple users and applications can work more
efficiently with cost reductions by sharing common infrastructure.
 5) Device and Location Independence
 Cloud computing enables the users to access systems using a web browser regardless of their location
or what device they use e.g. PC, mobile phone etc. As infrastructure is off-site (typically provided by a
third-party) and accessed via the Internet, users can connect from anywhere.
 6) Maintenance
 Maintenance of cloud computing applications is easier, since they do not need to be installed on each
user's computer and can be accessed from different places. So, it reduces the cost also.
 7) Low Cost
 By using cloud computing, the cost will be reduced because to take the services of cloud computing, IT
company need not to set its own infrastructure and pay-as-per usage of resources.
 8) Services in pay-per-use mode
 Application Programming Interfaces (APIs) are provided to the users so that they can access services
on the cloud by using these APIs and pay the charges as per the usage of services.
Transaction Processing System

 A Transaction Processing System (TPS) is a type of information system that collects,


stores, modifies and retrieves the data transactions of an enterprise.
 An example of a transaction processing system commonly used in business are the
systems employed by major credit card companies found in almost every retail
store.
 transaction processing allows only predefined, structured transactions.
 Each transaction is usually short duration and the processing activity for each
transaction is programmed in advance.
 A transaction processing system are often contrasted with batch processing system,
where many requests are all executed at one time.
 The former requires the interaction of a user, whereas batch processing does not
require user involvement.
 In batch processing the results of each transaction are not immediately available.
 Additionally, there is a delay while the many requests are being
organized, stored and eventually executed.
 In transaction processing there is no delay and the results of each
transaction are immediately available.
 During the delay time for batch processing, errors can occur.
 Although errors can occur in transaction processing, they are infrequent
and tolerated, but do not warrant shutting down the entire system.
Some examples of transaction processing systems include:

 Automated Teller Machines (ATM)


 Credit Card Authorizations
 Online Bill Payments
 Self-Checkout Stations
 Trading Stocks Over the Internet
TPS-Types

 Batch processing
 Batch processing is execution of a series of programs (jobs) on a computer
without manual intervention. Several transactions, called a batch are
collected and processed at the same time. The results of each transaction are
not immediately available when the transaction is being entered; there is a
time delay.
 Real-time processing
 Real time systems attempt to guarantee an appropriate response to a request
quick enough.
 Each transaction in real-time processing is unique; it is not part of a group of
transactions.
 Performance
 Fast performance with a rapid response time is critical.
 Transaction processing systems are usually measured by the number of transactions they
can process in a given period of time.
 Continuous availability
 The system must be available during the time period when the users are entering
transactions. Many organizations rely heavily on their TPS; a breakdown will disrupt
operations or even stop the business.
 Data integrity
 The system must be able to handle hardware or software problems without corrupting data.
Multiple users must be protected from attempting to change the same piece of data at the
same time, for example two operators cannot sell the same seat on an airplane.

 Ease of use
 Often users of transaction processing systems are casual users. The
system should be simple for them to understand, protect them from
data-entry errors as much as possible, and allow them to easily correct
their errors.
 Modular growth
 The system should be capable of growth at incremental costs, rather
than requiring a complete replacement. It should be possible to add,
replace, or update hardware and software components without shutting
down the system.
Databases for transaction processing

 A database is an organized collection of data. Databases offer fast retrieval times for
non-structured requests as in a typical transaction processing application.
 Databases for transaction processing may be constructed using hierarchical,
network, or relational structures.
 Hierarchical structure: organizes data in a series of levels. Its top-to-bottom-like
structure consists of nodes and branches; each child node has branches and is only
linked to one higher level parent node.
 Network structure: network structures also organizes data using nodes and
branches. But, unlike hierarchical, each child node can be linked to multiple, higher
parent nodes.
 Relational structure: a relational database organizes its data in a series of related
tables. This gives flexibility as relationships between the tables are built.
Database Models

A hierarchical structure A network structure A relational structure


 The following features are desirable in a database system used in transaction
processing systems:
 Good data placement: The database should be designed to access patterns of
data from many simultaneous users.
 Short transactions: Short transactions enables quick processing.
 Real-time backup: Backup should be scheduled between low times of activity to
prevent lag of the server.
 High normalization: This lowers redundant information to increase the speed
and improve concurrency, this also improves backups.
 Archiving of historical data: Uncommonly used data are moved into other
databases or backed up tables. This keeps tables small and also improves backup
times.
 Good hardware configuration: Hardware must be able to handle many users
and provide quick response times.
Role of information technology and transaction processing

 A transaction refers to an exchange of goods and services for money.


 The earliest transaction processing systems were manual systems-Clerk
would records transactions in journal or on numbered, multi part
forms.
 These transaction would letter be transferred, manually, to a central
system of hand written records or files folders representing individual
customers or suppliers.
 Many small businesses still operate with manual transaction processing
system; however, inexpensive and easy to use computer technology is
finding its way into more small business
 Most of the businesses, manual system presents numerous problems
that are solved by TPS:
 Error level
 With manual systems, an uncomfortable level of error often exists.
Frequently, look up to the long prices, and prices incorrectly on
invoices, or produce garbled journal entries or source
documents. Sickness, worry, moodiness, and other inherently
human variables can also contribute to high error rates in manual.
 Temporary or permanent loss of data
Source documents and file folders are easily lost are misplaced.
 This often results in lost customer payments and delayed purchase or
payments.
 Labor intensity
Manual systems are labor intensive and, therefore, costly. Data from a
single transaction often have to be transcribed several times, and many
types of low volatility data have to be rerecorded by clerks every time
a new transaction takes place
 Poor level of service
The level of service support in manual systems is often inferior(poorer).
 Customers like to know immediately if goods are not in stock , when
goods not in stock will be arriving , when they can expect an order to
arrive , what there current status is regarding payments and so on.
 This level of information support is difficult to achieve with a manual
system.
 Poor response
 Virtually every thing takes longer to do with a manual system.
 When orders are taken, the order entry department might have to
contact receivable department for credit check before an order can be
validated.
 To day many computerized order-entry operations are connected to a
centralized database and when a customer telephones, credit status can
be verified immediately
Transaction processing subsystems

 Pay roll
 A payroll system is software designed to organize all the tasks of
employee payment and the filing of employee taxes.
 This includes keeping track of hours, calculating wages, withholding
taxes and other deductions, printing and delivering checks and paying
employment taxes to the government.
 Example : Federal Income Tax –FBR in Pakistan
 Order entry
The order entry system is transaction processing subsystem that
processes customer orders.
 Orders may come from variety of sources –perhaps by mail, phone, and
fax-from customers who are ordering on demand
 Example : Online Shopping (Websites)
 Inventory: (order tracking, invoicing and reporting )
The quantity of product that a merchandising has available to sell at any
given time is called inventory.
 An inventory system monitors the quantity of each product available for
sale and helps ensure that proper stock levels are maintained.
 General ledger
The general ledger (G/L) system integrates transaction data from the
other major transaction processing subsystems-payroll, order entry,
inventory, accounts receivable, accounts payable, and so on.
 Besides insuring that the records of the firm balance, the general ledger
system is used for budget planning , responsibility reporting , cost
allocation and profitability accounting.
 Home Work
 Accounts receivable, Accounts payable and so on(some other
subsystems of TPS).
Decision support system

 A decision support system (DSS) is an information system that


supports business or organizational decision-making activities.
 DSSs serve the management, operations and planning levels of an
organization (usually mid and higher management) and help people
make decisions about problems that may be rapidly changing and not
easily specified in advance—i.e. unstructured and semi-structured
decision problems.
 Decision support systems can be either fully computerized or human-
powered, or a combination of both.
 Typical information that a decision support application might gather
and present includes:
 Inventories of information assets (including legacy and relational data
sources, cubes, data warehouses etc..
 comparative sales figures between one period and the next.
 Components:
 Three fundamental components of a DSS architecture are:
 The database (or knowledge base):
 A knowledge base (KB) is a technology used to store complex structured and unstructured
information used by a computer system
 The model (i.e., the decision context and user criteria)
 A conceptual model is a representation of a system, made of the composition of concepts which
are used to help people know, understand, or simulate a subject the model represents
 Some models are physical objects; for example, a toy model which may be assembled, and may be
made to work like the object it represents.
 The user interface.
 The user interface (UI), in the industrial design field of human–computer interaction, is the
space where interactions between humans and machines occur. The goal of this interaction is to
allow effective operation and control of the machine from the human end, whilst the machine
simultaneously feeds back information that aids the operators' decision-making process.
 Applications:
 DSS can theoretically be built in any knowledge domain.
 One example is the clinical decision support system for medical diagnosis.
 DSS is extensively used in business and management. Executive
dashboard and other business performance software allow faster decision
making, identification of negative trends, and better allocation of business
resources. Due to DSS all the information from any organization is
represented in the form of charts, graphs i.e. in a summarized way, which
helps the management to take strategic decision. For example, one of the DSS
applications is the management and development of complex anti-terrorism
systems.
 Dashboards often provide at-a-glance views of key performance
indicators (KPIs) relevant to a particular objective or business process.