ISM Notes

Download as pdf or txt
Download as pdf or txt
You are on page 1of 70

ISM

Unit- 1

Management Information System is an implementation of the organizational


systems and procedures. To a programmer it is nothing but file structures and file
processing. However, it involves much more complexity.

The three components of MIS provide a more complete and focused definition,
where System suggests integration and holistic view, Information stands for
processed data, and Management is the ultimate user, the decision makers.

Management information system can thus be analyzed as follows −

Management

Management covers the planning, control, and administration of the operations of a


concern. The top management handles planning; the middle management
concentrates on controlling; and the lower management is concerned with actual
administration.

Information

Information, in MIS, means the processed data that helps the management in
planning, controlling and operations. Data means all the facts arising out of the
operations of the concern. Data is processed i.e. recorded, summarized, compared
and finally presented to the management in the form of MIS report.

System

Data is processed into information with the help of a system. A system is made up
of inputs, processing, output and feedback or control.

Thus MIS means a system for processing data in order to give proper information to
the management for performing its functions.

Definition

Management Information System or 'MIS' is a planned system of collecting, storing,


and disseminating data in the form of information needed to carry out the functions
of management.
Objectives of MIS

The goals of an MIS are to implement the organizational structure and dynamics of
the enterprise for the purpose of managing the organization in a better way and
capturing the potential of the information system for competitive advantage.

Following are the basic objectives of an MIS −

• Capturing Data − Capturing contextual data, or operational information that


will contribute in decision making from various internal and external sources
of organization.
• Processing Data − The captured data is processed into information needed
for planning, organizing, coordinating, directing and controlling
functionalities at strategic, tactical and operational level. Processing data
means −
o making calculations with the data
o sorting data
o classifying data and
o summarizing data
• Information Storage − Information or processed data need to be stored for
future use.
• Information Retrieval − The system should be able to retrieve this
information from the storage as and when required by various users.
• Information Propagation − Information or the finished product of the MIS
should be circulated to its users periodically using the organizational network.

Characteristics of MIS

Following are the characteristics of an MIS −

• It should be based on a long-term planning.


• It should provide a holistic view of the dynamics and the structure of the
organization.
• It should work as a complete and comprehensive system covering all
interconnecting sub-systems within the organization.
• It should be planned in a top-down way, as the decision makers or the
management should actively take part and provide clear direction at the
development stage of the MIS.
• It should be based on need of strategic, operational and tactical information of
managers of an organization.
• It should also take care of exceptional situations by reporting such situations.
• It should be able to make forecasts and estimates, and generate advanced
information, thus providing a competitive advantage. Decision makers can
take actions on the basis of such predictions.
• It should create linkage between all sub-systems within the organization, so
that the decision makers can take the right decision based on an integrated
view.
• It should allow easy flow of information through various sub-systems, thus
avoiding redundancy and duplicity of data. It should simplify the operations
with as much practicability as possible.
• Although the MIS is an integrated, complete system, it should be made in such
a flexible way that it could be easily split into smaller sub-systems as and
when required.
• A central database is the backbone of a well-built MIS.

Characteristics of Computerized MIS

Following are the characteristics of a well-designed computerized MIS −

• It should be able to process data accurately and with high speed, using various
techniques like operations research, simulation, heuristics, etc.
• It should be able to collect, organize, manipulate, and update large amount of
raw data of both related and unrelated nature, coming from various internal
and external sources at different periods of time.
• It should provide real time information on ongoing events without any delay.
• It should support various output formats and follow latest rules and
regulations in practice.
• It should provide organized and relevant information for all levels of
management: strategic, operational, and tactical.
• It should aim at extreme flexibility in data storage and retrieval.

Management information systems (MIS) play a vital role in business organizations


of all sizes. MIS systems collect, store, process, and analyze data to provide
information that can be used to make informed decisions at all levels of the
organization.
The key roles of MIS in business organizations:

• Decision support: MIS systems provide managers with the information they need to
make sound decisions about all aspects of the business, from strategic planning to
day-to-day operations. For example, an MIS system can be used to track sales
data, inventory levels, and customer satisfaction metrics. This information can then
be used to make decisions about pricing, marketing, and product development.
• Operational efficiency: MIS systems can help businesses to streamline their
operations and improve efficiency. For example, an MIS system can be used to
automate tasks such as order processing and customer service. This can free up
employees to focus on more strategic initiatives.
• Communication and collaboration: MIS systems can help businesses to improve
communication and collaboration between employees and departments. For
example, an MIS system can be used to share information about
sales, marketing, and production plans. This can help to ensure that everyone is
working towards the same goals.
• Competitive advantage: MIS systems can help businesses to gain a competitive
advantage by providing them with insights into their customers and competitors. For
example, an MIS system can be used to track customer purchase patterns and
identify new market opportunities. It can also be used to track competitor pricing
and product launches.

The prerequisites for an effective MIS:

• Qualified systems and management staff: The MIS should be managed by qualified
officers who have a good understanding of both business and computer
systems. They should also be able to communicate effectively with both
management and technical staff.
• Support of top management: Top management must be committed to the MIS and
provide the necessary resources for its development and implementation.
• Common database: The MIS should be based on a common database that can be
accessed by all users. This will ensure that everyone is working with the same data
and that reports are consistent.
• Control and maintenance of MIS: The MIS should be regularly monitored and
updated to ensure that it is meeting the needs of the organization.
• Clear definition of objectives: The objectives of the MIS should be clearly defined
and should be aligned with the overall goals of the organization.
• User involvement: Users should be involved in the design and implementation of the
MIS to ensure that it meets their needs.
• Data quality: The data that is input into the MIS must be accurate and complete.
• Flexibility: The MIS should be flexible enough to adapt to changes in the
organization's needs.

By meeting these prerequisites, organizations can ensure that their MIS is effective
and helps them to achieve their goals.

The five main components of a management information system (MIS) are:

• People: The people who use the MIS are the most important component. They are
the ones who collect, enter, analyze, and use the data that the MIS provides. MIS
users include managers, employees, customers, and other stakeholders.
• Business processes: Business processes are the activities that an organization
performs to achieve its goals. MIS systems are designed to support business
processes by providing information that can be used to improve
efficiency, effectiveness, and decision-making.
• Data: Data is the raw material that MIS systems use to generate information. Data
can come from a variety of sources, such as internal records, external databases, and
sensors.
• Hardware: The hardware component of an MIS includes the physical devices that
store and process data. This includes computers, servers, storage devices, and
networking equipment.
• Software: The software component of an MIS includes the programs that are used
to collect, enter, analyze, and report on data. This includes database management
systems, spreadsheet software, and business intelligence tools.
MIS APPLICATIONS are used in all areas of business, from strategic planning to
day-to-day operations. Some specific examples include:

• Financial management: MIS applications are used to track financial data, such as
sales, expenses, and cash flow. This information can be used to make decisions
about budgeting, pricing, and investment.
• Marketing: MIS applications are used to track customer data, such as purchase
history and demographics. This information can be used to develop targeted
marketing campaigns and improve customer service.
• Operations management: MIS applications are used to track production data, such
as inventory levels, machine uptime, and quality control metrics. This information
can be used to identify and address bottlenecks and improve the efficiency of the
manufacturing process.
• Human resources management: MIS applications are used to track employee
data, such as payroll, performance reviews, and training records. This information
can be used to make decisions about hiring, promotions, and compensation.

• Salesforce automation (SFA): SFA software helps salespeople to manage their


leads, opportunities, and customers. It can also be used to track sales performance
and generate reports.
• Customer relationship management (CRM): CRM software helps businesses to
manage their customer relationships. It can be used to track customer
interactions, preferences, and purchase history. CRM software can also be used to
generate reports and insights that can be used to improve customer service and
marketing campaigns.
• Enterprise resource planning (ERP): ERP software is a comprehensive MIS that
integrates all of the core business functions, such as accounting, manufacturing, and
human resources. ERP software can help businesses to improve
efficiency, streamline operations, and make better decisions.

• Retail: Retailers use MIS applications to track sales data, inventory levels, and
customer purchase history. This information can be used to make decisions about
pricing, promotions, and inventory levels. MIS applications can also be used to
generate reports that can be used to improve the efficiency of the retail operation.

• Manufacturing: Manufacturers use MIS applications to track production data, such


as machine uptime, inventory levels, and quality control metrics. This information
can be used to identify and address bottlenecks and improve the efficiency of the
manufacturing process. MIS applications can also be used to generate reports that
can be used to make decisions about production planning and scheduling.
• Healthcare: Healthcare providers use MIS applications to track patient data, such
as medical history, medications, and insurance information. This information can be
used to provide better patient care and make more informed decisions about resource
allocation. MIS applications can also be used to generate reports that can be used to
improve the efficiency of the healthcare operation.

Meaning of information in decision making

Information in decision making refers to the data and knowledge that is used to make
choices. It can come from a variety of sources, such as internal records, external
databases, and research studies. Information can be quantitative or qualitative, and
it can be structured or unstructured.

Importance of information in decision making

Information is essential for effective decision making. When decision-makers have


access to accurate and relevant information, they are better able to:

• Identify and define the problem or opportunity


• Generate and evaluate alternative solutions
• Select the best solution
• Implement and monitor the solution

Information can help decision-makers to avoid biases and make more rational
decisions. It can also help them to reduce uncertainty and make better predictions
about the future.

In today's complex and ever-changing world, businesses and organizations need to


be able to make quick and effective decisions. Information is the key to making good
decisions.

Here are some examples of how information is used in decision making:

• A company might use market research information to decide which new product to
launch.
• A government agency might use crime statistics to decide where to allocate police
resources.
• A doctor might use patient medical history to decide on the best course of treatment.
• An investor might use financial market data to decide which stocks to buy.
• In each of these cases, the decision-maker is using information to make a better
decision.

How to improve the quality of information for decision making

There are a number of things that decision-makers can do to improve the quality of
information for decision making:

• Identify the most important information needs.


• Collect information from a variety of sources.
• Evaluate the quality and reliability of the information.
• Analyze the information to identify patterns and trends.
• Present the information in a clear and concise way.

By following these steps, decision-makers can ensure that they have access to the
information they need to make informed and effective decisions.
Sources of information

Information can come from a variety of sources, including:

• Internal sources: Internal sources of information include company


records, employee feedback, and market research.
• External sources: External sources of information include government
publications, industry reports, and news articles.
• Primary sources: Primary sources are firsthand accounts of information, such as
interviews, surveys, and experiments.
• Secondary sources: Secondary sources are sources that analyze or interpret primary
sources, such as textbooks, journal articles, and encyclopedias.
Types of information

Information can also be classified by type, including:

• Quantitative information: Quantitative information is numerical data that can be


measured and analyzed. Examples of quantitative information include sales
figures, inventory levels, and customer satisfaction scores.
• Qualitative information: Qualitative information is non-numerical data that is
descriptive and interpretive. Examples of qualitative information include customer
feedback, employee surveys, and market research reports.
• Structured information: Structured information is information that is organized in a
specific way, such as in a database or spreadsheet. Examples of structured
information include customer contact information, product inventory data, and
financial data.
• Unstructured information: Unstructured information is information that is not
organized in a specific way, such as text documents, images, and videos. Examples
of unstructured information include customer reviews, social media posts, and
employee emails.

It is important to note that information can come from multiple sources and be of
multiple types. For example, a company might conduct a survey of its customers to
collect quantitative data about their satisfaction with the company's products and
services. The company could then use this data to make informed decisions about
how to improve its products and services.

How to choose the right source of information

The best source of information for a particular decision will depend on the nature of
the decision and the information that is needed. For example, if a company is trying
to decide which new product to launch, it might want to conduct market research to
learn about the needs and wants of its customers. If a doctor is trying to diagnose a
patient, they might want to review the patient's medical history and conduct a
physical exam.
How to evaluate the quality of information

When evaluating the quality of information, it is important to consider the following


factors:

• Accuracy: Is the information accurate and up-to-date?


• Reliability: Is the information from a credible source?
• Relevance: Is the information relevant to the decision at hand?
• Completeness: Does the information provide a complete picture of the situation?
• Objectivity: Is the information presented in an objective way, or does it reflect the
bias of the source?

By considering these factors, decision-makers can evaluate the quality of


information and choose the best sources of information for their needs.

The information requirements of managers vary depending on their level of


management.

Top-level managers need information that helps them to make strategic decisions
about the future of the organization. This information might include:

• Industry trends
• Competitive landscape
• Financial data
• Customer feedback
• Employee performance data

Middle-level managers need information that helps them to implement the strategic
plans of top-level managers and to manage the day-to-day operations of the
organization. This information might include:

• Budget information
• Production data
• Sales data
• Inventory levels
• Customer satisfaction scores

Lower-level managers need information that helps them to supervise employees and
to ensure that tasks are completed efficiently and effectively. This information might
include:

• Employee performance data


• Production data
• Quality control data
• Customer feedback
• Safety data

Here is a table that summarizes the information requirements of the different levels
of management:

Management level Information requirements

Top-level Industry trends, competitive landscape, financial data, customer


managers feedback, employee performance data

Middle-level Budget information, production data, sales data, inventory levels,


managers customer satisfaction scores

Lower-level Employee performance data, production data, quality control data,


managers customer feedback, safety data

It is important to note that these are just general guidelines. The specific information
requirements of managers will vary depending on the organization and the industry
in which it operates.

Organizations can ensure that managers have the information they need by:
• Developing a comprehensive information management system.
• Providing managers with access to relevant data and reports.
• Training managers on how to use information effectively.
• Creating a culture that values information and encourages its use in decision making.

By taking these steps, organizations can ensure that managers have the information
they need to make informed decisions and to lead their teams to success.

Relevance of information in decision making is the degree to which the information is


useful and applicable to the decision at hand. Relevant information helps decision-makers
to:

• Identify and define the problem or opportunity


• Generate and evaluate alternative solutions
• Select the best solution
• Implement and monitor the solution

Irrelevant information can confuse and distract decision-makers, leading to poor


decision making.

Here are some examples of how the relevance of information can impact decision
making:

• A company that is trying to decide which new product to launch should focus on
information about the needs and wants of its customers, rather than information
about the needs and wants of its competitors.
• A doctor who is trying to diagnose a patient should focus on information about the
patient's medical history and symptoms, rather than information about the average
incidence of different diseases in the population.
• A government agency that is trying to decide how to allocate police resources should
focus on information about crime rates in different neighborhoods, rather than
information about the demographics of different neighborhoods.
Decision-makers can ensure that information is relevant to decision making by:

• Clearly defining the problem or opportunity that is being addressed.


• Identifying the information that is needed to make an informed decision.
• Collecting information from a variety of sources.
• Evaluating the quality and relevance of the information.
• Presenting the information in a clear and concise way.

By following these steps, decision-makers can minimize the risk of making decisions
based on irrelevant information.
Unit- 2
Difference between Traditional file concept vs. DBMS?

Basis File System DBMS

The file system is software that


manages and organizes the files in a DBMS is software for
Structure storage medium within a computer. managing the database.

Redundant data can be present in a In DBMS there is no


Data Redundancy file system. redundant data.

It provides backup and


Backup and It doesn’t provide backup and recovery of data even if it is
Recovery recovery of data if it is lost. lost.

There is no efficient query Efficient query processing is


Query processing processing in the file system. there in DBMS.

There is more data


There is less data consistency in the consistency because of the
Consistency file system. process of normalization.

It has more complexity in


It is less complex as compared to handling as compared to the
Complexity DBMS. file system.

DBMS has more security


Security File systems provide less security in mechanisms as compared to
Constraints comparison to DBMS. file systems.

It has a comparatively higher


Cost It is less expensive than DBMS. cost than a file system.

Data In DBMS data independence


Independence There is no data independence. exists.
Basis File System DBMS

Only one user can access data at a Multiple users can access
User Access time. data at a time.

The user has to write procedures for The user not required to
Meaning managing databases write procedures.

Data is distributed in many files. So, Due to centralized nature


Sharing not easy to share data sharing is easy

It give details of storage and It hides the internal details of


Data Abstraction representation of data Database

Integrity Integrity Constraints are difficult to Integrity constraints are easy


Constraints implement to implement

Example Cobol, C++ Oracle, SQL Server

THE STRUCTURE OF DATABASE MANAGEMENT SYSTEM (DBMS) can


be divided into three main components: the internal level, the conceptual level, and
the external level.

Internal Level

The internal level is the lowest level of the DBMS and is responsible for storing and
retrieving data from the physical storage devices. It deals with low-level
implementation details such as data compression, indexing, and storage allocation.

Conceptual Level

The conceptual level is the middle level of the DBMS and provides a logical view
of the database. It defines the data model, which is a conceptual representation of
the data and the relationships between the different data entities.
External Level

The external level is the highest level of the DBMS and provides a view of the
database to the different users. It defines the different user views, which are subsets
of the database that are tailored to the needs of the different users.

The three levels of the DBMS are interrelated. The internal level provides the
physical foundation for the database, the conceptual level provides a logical view of
the database, and the external level provides a view of the database to the different
users.

Components of a DBMS

In addition to the three levels, a DBMS also consists of the following components:

Query processor: The query processor is responsible for processing user queries and
retrieving the requested data from the database.

Storage manager: The storage manager is responsible for storing and retrieving data
from the physical storage devices.

Index manager: The index manager is responsible for creating and managing
indexes, which are data structures that speed up the retrieval of data.

Transaction manager: The transaction manager is responsible for managing


transactions, which are logical units of work that consist of one or more database
operations.

The different components of the DBMS work together to provide a reliable and
efficient way to store and manage data.

Benefits of using a DBMS

There are many benefits to using a DBMS, including:

Data sharing: A DBMS allows multiple users to share the same data simultaneously.
Data integrity: A DBMS helps to ensure the integrity of the data by enforcing
constraints on the data and by providing recovery mechanisms in case of data loss
or corruption.

Data security: A DBMS provides security features to protect the data from
unauthorized access.

Data backup and recovery: A DBMS provides backup and recovery mechanisms to
protect the data from loss or corruption.

Performance: A DBMS can improve the performance of database operations by


using techniques such as indexing and caching.

People who deal with databases are involved in a variety of tasks, including:

• Database administrators (DBAs) are responsible for the overall management of a


database, including its design, implementation, security, performance, and
maintenance. DBAs work closely with other IT professionals, such as database
designers, developers, and data analysts, to ensure that the database meets the needs
of the organization.
• Database designers are responsible for creating the blueprint for a
database, including its tables, relationships, and constraints. They work with users
to understand their data needs and then design a database that is
efficient, scalable, and secure.
• Database developers build database applications that allow users to interact with the
database. They use programming languages such as SQL and PL/SQL to create
queries, reports, and other database objects.
• Data analysts use data from databases to extract insights and trends. They use
statistical analysis and visualization tools to create reports and dashboards that help
businesses make better decisions.
• Data scientists use data from databases to build machine learning models and other
predictive analytics solutions. They use their knowledge of statistics, computer
science, and mathematics to solve complex business problems.
Types of Data Models

1. Conceptual Data Model: This Data Model defines WHAT the system contains.
This model is typically created by Business stakeholders and Data Architects to
organize, scope and define business concepts and rules.

The 3 basic tenants of Conceptual Data Model are:

• Entity: A real-world thing


• Attribute: Characteristics or properties of an entity
• Relationship: Dependency or association between two entities

2. Logical Data Model: Defines HOW the system should be implemented


regardless of the DBMS. This model is typically created by Data Architects and
Business Analysts to develop technical map of rules and data structures.

Used to define the structure of data elements and to set relationships between them.
3. Physical Data Model: This Data Model describes HOW the system will be
implemented using a specific DBMS system. This model is typically created by
DBA and developers for the actual implementation of the database.
Data Models
Data Model is the modeling of the data description, data semantics, and consistency
constraints of the data. It provides the conceptual tools for describing the design of a
database at each level of data abstraction. Therefore, there are following four data models
used for understanding the structure of the database:

1) Relational Data Model: This type of model designs the data in the form of rows and
columns within a table. Thus, a relational model uses tables for representing data and in-
between relationships. Tables are also called relations. This model was initially described
by Edgar F. Codd, in 1969. The relational data model is the widely used model which is
primarily used by commercial data processing applications.

2) Entity-Relationship Data Model: An ER model is the logical representation of data as


objects and relationships among them. These objects are known as entities, and
relationship is an association among these entities. This model was designed by Peter
Chen and published in 1976 papers. It was widely used in database designing. A set of
attributes describe the entities. For example, student_name, student_id describes the
'student' entity. A set of the same type of entities is known as an 'Entity set', and the set
of the same type of relationships is known as 'relationship set'.

3) Object-based Data Model: An extension of the ER model with notions of functions,


encapsulation, and object identity, as well. This model supports a rich type system that
includes structured and collection types. Thus, in 1980s, various database systems
following the object-oriented approach were developed. Here, the objects are nothing
but the data carrying its properties.

4) Semistructured Data Model: This type of data model is different from the other three
data models (explained above). The semi structured data model allows the data
specifications at places where the individual data items of the same type may have
different attributes sets. The Extensible Markup Language, also known as XML, is widely
used for representing the semi structured data. Although XML was initially designed for
including the markup information to the text document, it gains importance because of
its application in the exchange of data.

Normalization is the process of reducing data redundancy in a table and improving data
integrity. Then why do you need it? If there is no normalization in SQL, there will be many
problems, such as:
• Insert Anomaly: This happens when we cannot insert data into the table without another.
• Update Anomaly: This is due to data inconsistency caused by data redundancy and
data update.
• Delete exception: Occurs when some attributes are lost due to the deletion of other
attributes.

Normalization works through a series of stages called Normal forms. The normal forms
apply to individual relations. The relation is said to be in particular normal form if it
satisfies constraints.

Following are the various types of Normal forms:

Normal Description
Form

1NF A relation is in 1NF if it contains an atomic value.

2NF A relation will be in 2NF if it is in 1NF and all non-key attributes are fully functional
dependent on the primary key.

3NF A relation will be in 3NF if it is in 2NF and no transition dependency exists.


BCNF A stronger definition of 3NF is known as Boyce Codd's normal form.

4NF A relation will be in 4NF if it is in Boyce Codd's normal form and has no multi-valued
dependency.

5NF A relation is in 5NF. If it is in 4NF and does not contain any join dependency, joining
should be lossless.

So normalization is a way of organizing data in a database. Normalization involves


organizing the columns and tables in the database to ensure that their dependencies are
correctly implemented using database constraints. Normalization is the process of organizing
data in a proper manner. It is used to minimize the duplication of various relationships in the
database. It is also used to troubleshoot exceptions such as inserts, deletes, and updates in
the table. It helps to split a large table into several small normalized tables.

Basic normal forms:

A relation is considered in 1NF if every domain attribute consists of one atomic or indiscreet
value. It’s an important property of a relationship that’s accessible within the RDBMS.
A relation is in 2NF only if it is in 1NF also as all the non-key attributes in the tables are
addicted to the table’s primary key. This type applies to those relations that are connected
using composite keys. The relation of the tables is coupled with a key that is composed of
over one attribute.
A relation is in 3NF if and only if it’s in 2NF and there’s no transition dependency.
The main use of normalization is to utilize in order to remove anomalies that are caused
because of the transitive dependency. Normalization is to minimize the
redundancy and remove Insert, Update and Delete Anomaly. It divides larger tables into
smaller tables and links them using relationships.
Advantages:
There are many benefits to normalizing a database. Some of the main advantages are:
• By using normalization redundancy of database or data duplication can be resolved.
• We can minimize null values by using normalization.
• Results in a more compact database (due to less data redundancy/zero).
• Minimize/avoid data modification problems.
• It simplifies the query.is
• The database structure is clearer and easier to understand.
• The database can be expanded without affecting existing data.
• Finding, sorting, and indexing can be faster because the table is small, and more rows
can be accommodated on the data page.

FOUR MAJOR DATA MODELS:


1. Hierarchical Data Model:

Hierarchical data model is the oldest type of the data model. It was developed by IBM in
1968. It organizes data in the tree-like structure. Hierarchical model consists of the
following:
• It contains nodes which are connected by branches.
• The topmost node is called the root node.
• If there are multiple nodes appear at the top level, then these can be called as root
segments.
• Each node has exactly one parent.
• One parent may have many child.

Figure – Hierarchical Data Model


In the above figure, Electronics is the root node which has two children i.e.
Televisions and Portable Electronics. These two has further children for which
they act as parent. For example: Television has children as Tube, LCD and
Plasma, for these three Television act as parent. It follows one to many
relationship.
2. Network Data Model:
It is the advance version of the hierarchical data model. To organize data it
uses directed graphs instead of the tree-structure. In this child can have more
than one parent. It uses the concept of the two data structures i.e. Records and
Sets.

In the above figure, Project is the root node which has two children i.e. Project 1 and Project
2. Project 1 has 3 children and Project 2 has 2 children. Total there are 5 children i.e.
Department A, Department B and Department C, they are network related children as we
said that this model can have more than one parent. So, for the Department B and Department
C have two parents i.e. Project 1 and Project 2.

3. The Entity Relational Model is a model for identifying entities to be


represented in the database and representation of how those entities are related.
The ER data model specifies enterprise schema that represents the overall
logical structure of a database graphically.
The Entity Relationship Diagram explains the relationship among the entities
present in the database. ER models are used to model real-world objects like a
person, a car, or a company and the relation between these real-world objects.
In short, the ER Diagram is the structural format of the database.

Why Use ER Diagrams In DBMS?


• ER diagrams are used to represent the E-R model in a database, which
makes them easy to be converted into relations (tables).
• ER diagrams provide the purpose of real-world modeling of objects which
makes them intently useful.
• ER diagrams require no technical knowledge and no hardware support.
• These diagrams are very easy to understand and easy to create even for a
naive user.
• It gives a standard solution for visualizing the data logically.

Symbols Used in ER Model


ER Model is used to model the logical view of the system from a data perspective
which consists of these symbols:
• Rectangles: Rectangles represent Entities in the ER Model.
• Ellipses: Ellipses represent Attributes in the ER Model.
• Diamond: Diamonds represent Relationships among Entities.
• Lines: Lines represent attributes to entities and entity sets with other
relationship types.
• Double Ellipse: Double Ellipses represent Multi-Valued Attributes.
• Double Rectangle: Double Rectangle represents a Weak Entity.

Components of ER Diagram
ER Model consists of Entities, Attributes, and Relationships among Entities in a
Database System.

Components of ER Diagram

Entity
An Entity may be an object with a physical existence – a particular person, car,
house, or employee – or it may be an object with a conceptual existence – a
company, a job, or a university course.
Entity Set: An Entity is an object of Entity Type and a set of all entities is called
an entity set. For Example, E1 is an entity having Entity Type Student and the set
of all students is called Entity Set. In ER diagram, Entity Type is represented as:

Entity Set
1. Strong Entity
A Strong Entity is a type of entity that has a key Attribute. Strong Entity does not
depend on other Entity in the Schema. It has a primary key that helps in
identifying it uniquely and it is represented by a rectangle. These are called
Strong Entity Types.
2. Weak Entity
An Entity type has a key attribute that uniquely identifies each entity in the entity
set. But some entity type exists for which key attributes can’t be defined. These
are called Weak Entity types.
For Example, A company may store the information of dependents (Parents,
Children, Spouse) of an Employee. But the dependents don’t have existed
without the employee. So Dependent will be a Weak Entity Type and Employee
will be Identifying Entity type for Dependent, which means it is Strong Entity
Type.
A weak entity type is represented by a Double Rectangle. The participation of
weak entity types is always total. The relationship between the weak entity type
and its identifying strong entity type is called identifying relationship and it is
represented by a double diamond.

Strong Entity and Weak Entity

Attributes
Attributes are the properties that define the entity type. For example, Roll_No,
Name, DOB, Age, Address, and Mobile_No are the attributes that define entity
type Student. In ER diagram, the attribute is represented by an oval.

Attribute
1. Key Attribute
The attribute which uniquely identifies each entity in the entity set is called the
key attribute. For example, Roll_No will be unique for each student. In ER
diagram, the key attribute is represented by an oval with underlying lines.

Key Attribute

2. Composite Attribute
An attribute composed of many other attributes is called a composite attribute.
For example, the Address attribute of the student Entity type consists of Street,
City, State, and Country. In ER diagram, the composite attribute is represented
by an oval comprising of ovals.

Composite Attribute

3. Multivalued Attribute
An attribute consisting of more than one value for a given entity. For example,
Phone_No (can be more than one for a given student). In ER diagram, a
multivalued attribute is represented by a double oval.

Multivalued Attribute
4. Derived Attribute
An attribute that can be derived from other attributes of the entity type is known
as a derived attribute. e.g.; Age (can be derived from DOB). In ER diagram, the
derived attribute is represented by a dashed oval.

Derived Attribute

The Complete Entity Type Student with its Attributes can be represented as:

Entity and Attributes

Relationship Type and Relationship Set


A Relationship Type represents the association between entity types. For
example, ‘Enrolled in’ is a relationship type that exists between entity type
Student and Course. In ER diagram, the relationship type is represented by a
diamond and connecting the entities with lines.
Entity-Relationship Set

A set of relationships of the same type is known as a relationship set. The


following relationship set depicts S1 as enrolled in C2, S2 as enrolled in C1, and
S3 as registered in C3.

Degree of a Relationship Set


The number of different entities sets participating in a relationship set is called
the degree of a relationship set.
1. Unary Relationship: When there is only ONE entity set participating in a
relation, the relationship is called a unary relationship. For example, one person
is married to only one person.

Unary Relationship

2. Binary Relationship: When there are TWO entities set participating in a


relationship, the relationship is called a binary relationship. For example, a
Student is enrolled in a Course.

Binary Relationship
3. n-ary Relationship: When there are n entities set participating in a relation,
the relationship is called an n-ary relationship.

Cardinality
The number of times an entity of an entity set participates in a relationship set is
known as cardinality. Cardinality can be of different types:

1. One-to-One: When each entity in each entity set can take part only once in
the relationship, the cardinality is one-to-one. Let us assume that a male can
marry one female and a female can marry one male. So the relationship will be
one-to-one.
the total number of tables that can be used in this is 2.

one to one cardinality

2. One-to-Many: In one-to-many mapping as well where each entity can be


related to more than one relationship and the total number of tables that can be
used in this is 2. Let us assume that one surgeon department can accommodate
many doctors. So the Cardinality will be 1 to M. It means one department has
many Doctors.
total number of tables that can used is 3.

one to many cardinality


3. Many-to-One: When entities in one entity set can take part only once in the
relationship set and entities in other entity sets can take part more than once in
the relationship set, cardinality is many to one. Let us assume that a student can
take only one course but one course can be taken by many students. So the
cardinality will be n to 1. It means that for one course there can be n students but
for one student, there will be only one course.
The total number of tables that can be used in this is 3.

many to one cardinality

In this case, each student is taking only 1 course but 1 course has been taken by
many students.

4. Many-to-Many: When entities in all entity sets can take part more than once
in the relationship cardinality is many to many. Let us assume that a student can
take more than one course and one course can be taken by many students. So
the relationship will be many to many.
the total number of tables that can be used in this is 3.

many to many cardinality

this example, student S1 is enrolled in C1 and C3 and Course C3 is enrolled by


S1, S3, and S4. So it is many-to-many relationships.
Library Management System
4. Relational Data Model:
The relational data model was developed by E.F. Codd in 1970. There are no physical links
as they are in the hierarchical data model. Following are the properties of the relational
data model:
• Data is represented in the form of table only.
• It deals only with the data not with the physical structure.
• It provides information regarding metadata.
• At the intersection of row and column there will be only one value for the tuple.
• It provides a way to handle the queries with ease.

Figure – Relational Data Model

Constraints in Relational Model


While designing the Relational Model, we define some conditions which must hold for data
present in the database are called Constraints. These constraints are checked before
performing any operation (insertion, deletion, and updation) in the database. If there is a
violation of any of the constraints, the operation will fail.
Domain Constraints
These are attribute-level constraints. An attribute can only take values that lie inside the
domain range. e.g., If a constraint AGE>0 is applied to STUDENT relation, inserting a
negative value of AGE will result in failure.
Key Integrity
Every relation in the database should have at least one set of attributes that defines a tuple
uniquely. Those set of attributes is called keys. e.g.; ROLL_NO in STUDENT is key. No
two students can have the same roll number. So a key has two properties:
It should be unique for all tuples.
It can’t have NULL values.
Referential Integrity
When one attribute of a relation can only take values from another attribute of the same
relation or any other relation, it is called referential integrity. Let us suppose we have 2
relations
Table Student

ROLL_NO NAME ADDRESS PHONE AGE BRANCH_CODE

1 RAM DELHI 9455123451 18 CS

2 RAMESH GURGAON 9652431543 18 CS

3 SUJIT ROHTAK 9156253131 20 ECE

4 SURESH DELHI 18 IT

Table Branch

BRANCH_CODE BRANCH_NAME

CS COMPUTER SCIENCE

IT INFORMATION TECHNOLOGY

ECE ELECTRONICS AND COMMUNICATION ENGINEERING


BRANCH_CODE BRANCH_NAME

CV CIVIL ENGINEERING

BRANCH_CODE of STUDENT can only take the values which are present in
BRANCH_CODE of BRANCH which is called referential integrity constraint. The relation
which is referencing another relation is called REFERENCING RELATION (STUDENT in
this case) and the relation to which other relations refer is called REFERENCED RELATION
(BRANCH in this case).
Advantages of the Relational Model
• Simple model: Relational Model is simple and easy to use in comparison to other
languages.
• Flexible: Relational Model is more flexible than any other relational model
present.
• Secure: Relational Model is more secure than any other relational model.
• Data Accuracy: Data is more accurate in the relational data model.
• Data Integrity: The integrity of the data is maintained in the relational model.
• Operations can be Applied Easily: It is better to perform operations in the
relational model.
Disadvantages of the Relational Model
• Relational Database Model is not very good for large databases.
• Sometimes, it becomes difficult to find the relation between tables.
• Because of the complex structure, the response time for queries is high.

Difference Between DBMS and RDBMS


DBMS RDBMS

DBMS stores data as file. RDBMS stores data in tabular form.

Data elements need to access Multiple data elements can be accessed at the same
individually. time.

Data is stored in the form of tables which are related to


No relationship between data.
each other.

Normalization is not present. Normalization is present.


DBMS RDBMS

DBMS does not support


RDBMS supports distributed database.
distributed database.

It stores data in either a It uses a tabular structure where the headers are the
navigational or hierarchical column names, and the rows contain corresponding
form. values.

It deals with small quantity


It deals with large amount of data.
of data.

Data redundancy is common


Keys and indexes do not allow Data redundancy.
in this model.

It is used for small


organization and deal with It is used to handle large amount of data.
small data.

Not all Codd rules are


All 12 Codd rules are satisfied.
satisfied.

Security is less More security measures provided.

It supports single user. It supports multiple users.

Data fetching is slower for


Data fetching is fast because of relational approach.
the large amount of data.

The data in a DBMS is There exists multiple levels of data security in a


subject to low security levels RDBMS.
DBMS RDBMS

with regards to data


manipulation.

Low software and hardware


Higher software and hardware necessities.
necessities.

Examples: XML, Window


Examples: MySQL, PostgreSQL, SQL Server, Oracle,
Registry, Forxpro,
Microsoft Access etc.
dbaseIIIplus etc.
SQL Commands
o SQL commands are instructions. It is used to communicate with the database. It is also
used to perform specific tasks, functions, and queries of data.
o SQL can perform various tasks like create a table, add data to tables, drop the table,
modify the table, set permission for users.

Types of SQL Commands


o There are five types of SQL commands: DDL, DML, DCL, TCL, and DQL.

1. Data Definition Language (DDL)


o DDL changes the structure of the table like creating a table, deleting a table, altering a
table, etc.
o All the command of DDL are auto committed that means it permanently save all the
changes in the database.
o Here are some commands that come under DDL:
o CREATE
o ALTER
o DROP
o TRUNCATE

a. CREATE It is used to create a new table in the database.

1. Syntax: REATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

Example:

1. CREATE TABLE EMPLOYEE (Name VARCHAR2(20), Email VARCHAR2(100),


DOB DATE);

b. DROP: It is used to delete both the structure and record stored in the table.

Syntax

1. DROP TABLE table_name;

Example

1. DROP TABLE EMPLOYEE;

c. ALTER: It is used to alter the structure of the database. This change could be either to
modify the characteristics of an existing attribute or probably to add a new attribute.

Syntax:

To add a new column in the table

ALTER TABLE table_name ADD column_name COLUMN-definition;

To modify existing column in the table:

ALTER TABLE table_name MODIFY (column definitions....);

EXAMPLE

ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));


ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));

d. TRUNCATE: It is used to delete all the rows from the table and free the space
containing the table.
Syntax:

TRUNCATE TABLE table_name;

Example:

TRUNCATE TABLE EMPLOYEE;

2. Data Manipulation Language


o DML commands are used to modify the database. It is responsible for all form of changes
in the database.
o The command of DML is not auto-committed that means it can't permanently save all the
changes in the database. They can be rollback.

Here are some commands that come under DML:

o INSERT
o UPDATE
o DELETE

a. INSERT: The INSERT statement is a SQL query. It is used to insert data into the row of
a table.

Syntax:

INSERT INTO TABLE_NAME


(col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);

Or

INSERT INTO TABLE_NAME


VALUES (value1, value2, value3, .... valueN);

For example:

INSERT INTO javatpoint (Author, Subject) VALUES ("Sonoo", "DBMS");


b. UPDATE: This command is used to update or modify the value of a column in the table.

Syntax:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [W


HERE CONDITION]

For example:

UPDATE students
SET User_Name = 'Sonoo'
WHERE Student_Id = '3'

c. DELETE: It is used to remove one or more row from a table.

Syntax:

DELETE FROM table_name [WHERE condition];

For example:

DELETE FROM Student


WHERE Author="Sonoo";

3. Data Control Language


DCL commands are used to grant and take back authority from any database user.

Here are some commands that come under DCL:

o Grant
o Revoke

a. Grant: It is used to give user access privileges to a database.

Example
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

b. Revoke: It is used to take back permissions from the user.

Example

REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;

4. Transaction Control Language


TCL commands can only use with DML commands like INSERT, DELETE and UPDATE only.

These operations are automatically committed in the database that's why they cannot be
used while creating tables or dropping them.

Here are some commands that come under TCL:

o COMMIT
o ROLLBACK
o SAVEPOINT

a. Commit: Commit command is used to save all the transactions to the database.

Syntax:

COMMIT;

Example:

DELETE FROM CUSTOMERS


WHERE AGE = 25;
COMMIT;

b. Rollback: Rollback command is used to undo transactions that have not already been
saved to the database.

Syntax:

ROLLBACK;
Example:

DELETE FROM CUSTOMERS


WHERE AGE = 25;
ROLLBACK;

c. SAVEPOINT: It is used to roll the transaction back to a certain point without rolling
back the entire transaction.

Syntax:

SAVEPOINT SAVEPOINT_NAME;

5. Data Query Language


DQL is used to fetch the data from the database.

It uses only one command:

o SELECT

a. SELECT: This is the same as the projection operation of relational algebra. It is used
to select the attribute based on the condition described by WHERE clause.

Syntax:

1. SELECT expressions
2. FROM TABLES
3. WHERE conditions;

For example:

1. SELECT emp_name
2. FROM employee
3. WHERE age > 20;
SQL Aggregate Functions
o SQL aggregation function is used to perform the calculations on multiple rows of a single column
of a table. It returns a single value.
o It is also used to summarize the data.

Types of SQL Aggregation Function

1. COUNT FUNCTION
o COUNT function is used to Count the number of rows in a database table. It can work on both
numeric and non-numeric data types.
o COUNT function uses the COUNT(*) that returns the count of all the rows in a specified table.
COUNT(*) considers duplicate and Null.

Syntax

COUNT(*)
or
COUNT( [ALL|DISTINCT] expression )

Sample table:

PRODUCT_MAST
PRODUCT COMPANY QTY RATE COST

Item1 Com1 2 10 20

Item2 Com2 3 25 75

Item3 Com1 2 30 60

Item4 Com3 5 10 50

Item5 Com2 2 20 40

Item6 Cpm1 3 25 75

Item7 Com1 5 30 150

Item8 Com1 3 10 30

Item9 Com2 2 25 50

Item10 Com3 4 30 120

Example: COUNT()

SELECT COUNT(*)
FROM PRODUCT_MAST;

Output:

10

Example: COUNT with WHERE

1. SELECT COUNT(*)
2. FROM PRODUCT_MAST;
3. WHERE RATE>=20;
Output:

Example: COUNT() with DISTINCT

1. SELECT COUNT(DISTINCT COMPANY)


2. FROM PRODUCT_MAST;

Output:

Example: COUNT() with GROUP BY

1. SELECT COMPANY, COUNT(*)


2. FROM PRODUCT_MAST
3. GROUP BY COMPANY;

Output:

Com1 5
Com2 3
Com3 2

Example: COUNT() with HAVING

1. SELECT COMPANY, COUNT(*)


2. FROM PRODUCT_MAST
3. GROUP BY COMPANY
4. HAVING COUNT(*)>2;

Output:

Com1 5
Com2 3

2. SUM Function
Sum function is used to calculate the sum of all selected columns. It works on numeric
fields only.
Syntax

SUM()
or
SUM( [ALL|DISTINCT] expression )

Example: SUM()

SELECT SUM(COST)
FROM PRODUCT_MAST;

Output:

670

Example: SUM() with WHERE

SELECT SUM(COST)
FROM PRODUCT_MAST
WHERE QTY>3;

Output:

320

Example: SUM() with GROUP BY

SELECT SUM(COST)
FROM PRODUCT_MAST
WHERE QTY>3
GROUP BY COMPANY;

Output:

Com1 150
Com2 170

Example: SUM() with HAVING

SELECT COMPANY, SUM(COST)


FROM PRODUCT_MAST
GROUP BY COMPANY
HAVING SUM(COST)>=170;

Output:

Com1 335
Com3 170

3. AVG function
The AVG function is used to calculate the average value of the numeric type. AVG function
returns the average of all non-Null values.

Syntax

1. AVG()
2. or
3. AVG( [ALL|DISTINCT] expression )

Example:

1. SELECT AVG(COST)
2. FROM PRODUCT_MAST;

Output:

67.00

4. MAX Function
MAX function is used to find the maximum value of a certain column. This function
determines the largest value of all selected values of a column.

Syntax

1. MAX()
2. or
3. MAX( [ALL|DISTINCT] expression )

Example:
1. SELECT MAX(RATE)
2. FROM PRODUCT_MAST;
30

5. MIN Function
MIN function is used to find the minimum value of a certain column. This function
determines the smallest value of all selected values of a column.

Syntax

1. MIN()
2. or
3. MIN( [ALL|DISTINCT] expression )

Example:

1. SELECT MIN(RATE)
2. FROM PRODUCT_MAST;

Output:

10
Unit-3
System Development

Systems have very specific common characteristics which help in its identification. They
are:

▪ Systems have a specific structure which is defined by its components


(entities/subsystems) and processes (interrelationships between its
components). A system is a collection of interrelated entities and/or
subsystems which can be analyzed. It is possible to understand the specific
structure of a system. However, in some systems complete knowledge may
not be available but in most cases the fundamental entities and their
interrelations are known.
▪ Systems are a model of reality-a system is an abstraction of reality. It is
created to comprehend the nuances of a real-world condition and understand
the interrelationships of subsystems in such real-world conditions in greater
clarity.
▪ A system has a purpose-a system performs a function. It has a reason for its
existence. The purpose in most cases is the output of the system and in a
way the output defines the purpose of the system.
▪ Systems have inputs and outputs. Outputs are produced by processing the
inputs-a system (unless of theoretical interest and fully closed), interacts with
the environment by taking in input and then after processing the input
produces the output.
▪ Systems have performance that can be measured in terms of its output-a
system will have measures of performance. In most cases, the performance
of the system is a function of its input and output.
▪ A system serves a client-the system will have a utility and hence, a client for
it. The client can also be another system.
▪ The components that make up a system have functional as well as structural
interrelationships with each other.
▪ A system has an environment-a system cannot exist in isolation. It exists in
an environment. The environment reacts with it.
▪ Each subsystem also has a purpose and a measure of purpose.

Types of system
Closed and Open Systems

A system is said to be closed if it does not interact with the environment in which it exists.
It is in a state of isolation. It is completely self-contained. This is only of theoretical
interest as in reality systems exhibit different degrees of openness.
A system is said to be open when it interacts with the environment in which it exists. It
exchanges inputs and outputs with the environment. Such regular interaction with the
environment makes the study of open systems difficult (Checkland 1981). A system
might be said to be ‘open’ with regard to some entities and processes but might exhibit
‘closed’ behavior with respect to other entities and processes.
Deterministic, Probabilistic and Random Systems

A system is deterministic if its outputs are certain. This means that the relationships
between its components are fully known and certain. Hence, when an input is given the
output is fully predictable. An example of a deterministic system is the common entrance
examination for entry into IIM. All the entities in the system and their interrelationships
are well known and given an input the output can be determined with certainty.
A probabilistic system is one where the output from the system behaves probabilistically,
i.e., the output is predictable according to probability values. The portfolio investment
systems of an asset management company that invests in the stock market will have a
probabilistic output for a given input as the system and its entities behave
probabilistically.
Random systems are completely unpredictable systems. One is completely unaware of
the components and their relationships with each other and hence, the output is random.
An example of random system is the transport system. Given an input one is not sure
about the output.
Human, Machine and Human-machine System

A human system consists of humans as components. It is an open system exhibiting


probabilistic behavior. An example of this kind of system is a department within an
organization.
A machine system is composed entirely of machines and machine subsystems. It is
deterministic and relatively closed. An example of this type of system would be a fire
alarm system. A system which consists of humans and machines is called a human-
machine system. Information systems are examples of human-machine systems. These
systems are deterministic in delivery but probabilistic in interpretation.
Abstract and Concrete Systems

An abstract system is an ordered arrangement of concepts. Abstract systems can be


procedural or conceptual.
Concrete systems are systems in which at least two components are objects. Concrete
systems can be physical or social systems.
Adaptive and Non-adaptive Systems

A system is said to be adaptive if it modifies itself with the changes in its environment.
A democratic system of government is an example of adaptive system as it changes to
accommodate the changes in the environment.
A non-adaptive system does not react to changes in its environment.
An autocratic system of governance is an example of non adaptive system. It does not
change or adapt to changes in the environment.
Simple and Complex Systems

A simple system is one in which there are a few interrelated entities whereas a complex
system is one in which there a lot of components with a lot of interrelations amongst
them.
A bicycle may be considered as an example of a simple system whereas a motorcycle
may be considered a complex system. In the bicycle, the number of entities and
subsystems are very few, whereas in a motorcycle the number of entities, subsystems
and their interrelations are many. Each subsystem in a motorcycle may itself be
considered as a simple system.

Software Development Life Cycle (SDLC)


A software life cycle model (also termed process model) is a pictorial and diagrammatic
representation of the software life cycle. A life cycle model represents all the methods
required to make a software product transit through its life cycle stages. It also captures
the structure in which these methods are to be undertaken.

In other words, a life cycle model maps the various activities performed on a software
product from its inception to retirement. Different life cycle models may plan the
necessary development activities to phases in different ways. Thus, no element which life
cycle model is followed, the essential activities are contained in all life cycle models
though the action may be carried out in distinct orders in different life cycle models.
During any life cycle stage, more than one activity may also be carried out.

Need of SDLC
The development team must determine a suitable life cycle model for a particular plan
and then observe to it.

Without using an exact life cycle model, the development of a software product would
not be in a systematic and disciplined manner. When a team is developing a software
product, there must be a clear understanding among team representative about when
and what to do. Otherwise, it would point to chaos and project failure. This problem can
be defined by using an example. Suppose a software development issue is divided into
various parts and the parts are assigned to the team members. From then on, suppose
the team representative is allowed the freedom to develop the roles assigned to them in
whatever way they like. It is possible that one representative might start writing the code
for his part, another might choose to prepare the test documents first, and some other
engineer might begin with the design phase of the roles assigned to him. This would be
one of the perfect methods for project failure.

A software life cycle model describes entry and exit criteria for each phase. A phase can
begin only if its stage-entry criteria have been fulfilled. So without a software life cycle
model, the entry and exit criteria for a stage cannot be recognized. Without software life
cycle models, it becomes tough for software project managers to monitor the progress of
the project.

SDLC Cycle
SDLC Cycle represents the process of developing software. SDLC framework includes the
following steps:

The stages of SDLC are as follows:


Stage1: Planning and requirement analysis

Requirement Analysis is the most important and necessary stage in SDLC.

The senior members of the team perform it with inputs from all the stakeholders and
domain experts or SMEs in the industry.

Planning for the quality assurance requirements and identifications of the risks associated
with the projects is also done at this stage.

Business analyst and Project organizer set up a meeting with the client to gather all the
data like what the customer wants to build, who will be the end user, what is the objective
of the product. Before creating a product, a core understanding or knowledge of the
product is very necessary.

For Example, A client wants to have an application which concerns money transactions.
In this method, the requirement has to be precise like what kind of operations will be
done, how it will be done, in which currency it will be done, etc.

Once the required function is done, an analysis is complete with auditing the feasibility of
the growth of a product. In case of any ambiguity, a signal is set up for further discussion.

Stage2: Defining Requirements

Once the requirement analysis is done, the next stage is to certainly represent and
document the software requirements and get them accepted from the project
stakeholders.

This is accomplished through "SRS"- Software Requirement Specification document which


contains all the product requirements to be constructed and developed during the project
life cycle.

Stage3: Designing the Software

The next phase is about to bring down all the knowledge of requirements, analysis, and
design of the software project. This phase is the product of the last two, like inputs from
the customer and requirement gathering.

Stage4: Developing the project

In this phase of SDLC, the actual development begins, and the programming is built. The
implementation of design begins concerning writing code. Developers must follow the
coding guidelines described by their management and programming tools like compilers,
interpreters, debuggers, etc. are used to develop and implement the code.

Stage5: Testing

After the code is generated, it is tested against the requirements to make sure that the
products are solving the needs addressed and gathered during the requirements stage.

During this stage, unit testing, integration testing, system testing, acceptance testing are
done.

Stage6: Deployment

Once the software is certified, and no bugs or errors are stated, then it is deployed.

Then based on the assessment, the software may be released as it is or with suggested
enhancement in the object segment.

After the software is deployed, then its maintenance begins.

Stage7: Maintenance

Once when the client starts using the developed systems, then the real issues come up
and requirements to be solved from time to time.

This procedure where the care is taken for the developed product is known as
maintenance.

SDLC Models
Software Development life cycle (SDLC) is a spiritual model used in project management
that defines the stages include in an information system development project, from an
initial feasibility study to the maintenance of the completed application.

There are different software development life cycle models specify and design, which are
followed during the software development phase. These models are also called "Software
Development Process Models." Each process model follows a series of phase unique to
its type to ensure success in the step of software development.

Here, are some important phases of SDLC life cycle:


Waterfall model
Winston Royce introduced the Waterfall Model in 1970.This model has five phases:
Requirements analysis and specification, design, implementation, and unit testing,
integration and system testing, and operation and maintenance. The steps always follow
in this order and do not overlap. The developer must complete every phase before the
next phase begins. This model is named "Waterfall Model", because its diagrammatic
representation resembles a cascade of waterfalls.

1. Requirements analysis and specification phase: The aim of this phase is to


understand the exact requirements of the customer and to document them properly. Both
the customer and the software developer work together to document all the functions,
performance, and interfacing requirement of the software. It describes the "what" of the
system to be produced and not "how. "In this phase, a large document called Software
Requirement Specification (SRS) document is created which contained a detailed
description of what the system will do in the common language.
2. Design Phase: This phase aims to transform the requirements gathered in the SRS into
a suitable form which permits further coding in a programming language. It defines the
overall software architecture together with high level and detailed design. All this work is
documented as a Software Design Document (SDD).

3. Implementation and unit testing: During this phase, design is implemented. If the
SDD is complete, the implementation or coding phase proceeds smoothly, because all the
information needed by software developers is contained in the SDD. During testing, the
code is thoroughly examined and modified. Small modules are tested in isolation initially.
After that these modules are tested by writing some overhead code to check the
interaction between these modules and the flow of intermediate output.

4. Integration and System Testing: This phase is highly crucial as the quality of the end
product is determined by the effectiveness of the testing carried out. The better output
will lead to satisfied customers, lower maintenance costs, and accurate results. Unit testing
determines the efficiency of individual modules. However, in this phase, the modules are
tested for their interactions with each other and with the system.

5. Operation and maintenance phase: Maintenance is the task performed by every user
once the software has been delivered to the customer, installed, and operational.

When to use SDLC Waterfall Model?


Some Circumstances where the use of the Waterfall model is most suited are:

o When the requirements are constant and not changed regularly.


o A project is short
o The situation is calm
o Where the tools and technology used is consistent and is not changing
o When resources are well prepared and are available to use.

Advantages of Waterfall model


o This model is simple to also implement the number of resources that are required for it is
minimal.
o The requirements are simple and explicitly declared; they remain unchanged during the
entire project development.
o The start and end points for each phase is fixed, which makes it easy to cover progress.
o The release date for the complete product, as well as its final cost, can be determined
before development.
o It gives easy to control and clarity for the customer due to a strict reporting system.

Disadvantages of Waterfall model


o In this model, the risk factor is higher, so this model is not suitable for more significant
and complex projects.
o This model cannot accept the changes in requirements during development.
o It becomes tough to go back to the phase. For example, if the application has now shifted
to the coding phase, and there is a change in requirement, It becomes tough to go back
and change it.
o Since the testing done at a later stage, it does not allow identifying the challenges and
risks in the earlier phase, so the risk reduction strategy is difficult to prepare.

V-Model
V-Model also referred to as the Verification and Validation Model. In this, each phase of
SDLC must complete before the next phase starts. It follows a sequential design process
same as the waterfall model. Testing of the device is planned in parallel with a
corresponding stage of development.

Verification: It involves a static analysis method (review) done without executing code. It
is the process of evaluation of the product development process to find whether specified
requirements meet.

Validation: It involves dynamic analysis method (functional, non-functional), testing is


done by executing code. Validation is the process to classify the software after the
completion of the development process to determine whether the software meets the
customer expectations and requirements.
So V-Model contains Verification phases on one side of the Validation phases on the other
side. Verification and Validation process is joined by coding phase in V-shape. Thus it is
known as V-Model.ward Skip 10s

There are the various phases of Verification Phase of V-model:

1. Business requirement analysis: This is the first step where product requirements
understood from the customer's side. This phase contains detailed communication to
understand customer's expectations and exact requirements.
2. System Design: In this stage system engineers analyze and interpret the business of the
proposed system by studying the user requirements document.
3. Architecture Design: The baseline in selecting the architecture is that it should
understand all which typically consists of the list of modules, brief functionality of each
module, their interface relationships, dependencies, database tables, architecture
diagrams, technology detail, etc. The integration testing model is carried out in a particular
phase.
4. Module Design: In the module design phase, the system breaks down into small modules.
The detailed design of the modules is specified, which is known as Low-Level Design
5. Coding Phase: After designing, the coding phase is started. Based on the requirements, a
suitable programming language is decided. There are some guidelines and standards for
coding. Before checking in the repository, the final build is optimized for better
performance, and the code goes through many code reviews to check the performance.

There are the various phases of Validation Phase of V-model:

1. Unit Testing: In the V-Model, Unit Test Plans (UTPs) are developed during the module
design phase. These UTPs are executed to eliminate errors at code level or unit level. A
unit is the smallest entity which can independently exist, e.g., a program module. Unit
testing verifies that the smallest entity can function correctly when isolated from the rest
of the codes/ units.
2. Integration Testing: Integration Test Plans are developed during the Architectural Design
Phase. These tests verify that groups created and tested independently can coexist and
communicate among themselves.
3. System Testing: System Tests Plans are developed during System Design Phase. Unlike
Unit and Integration Test Plans, System Tests Plans are composed by the client’s business
team. System Test ensures that expectations from an application developer are met.
4. Acceptance Testing: Acceptance testing is related to the business requirement analysis
part. It includes testing the software product in user atmosphere. Acceptance tests reveal
the compatibility problems with the different systems, which is available within the user
atmosphere. It conjointly discovers the non-functional problems like load and
performance defects within the real user atmosphere.

When to use V-Model?

o When the requirement is well defined and not ambiguous.


o The V-shaped model should be used for small to medium-sized projects where
requirements are clearly defined and fixed.
o The V-shaped model should be chosen when sample technical resources are available with
essential technical expertise.

Advantage (Pros) of V-Model:

1. Easy to Understand.
2. Testing Methods like planning, test designing happens well before coding.
3. This saves a lot of time. Hence a higher chance of success over the waterfall model.
4. Avoids the downward flow of the defects.
5. Works well for small plans where requirements are easily understood.

Disadvantage (Cons) of V-Model:

1. Very rigid and least flexible.


2. Not a good for a complex project.
3. Software is developed during the implementation stage, so no early prototypes of the
software are produced.
4. If any changes happen in the midway, then the test documents along with the required
documents, must be updated.
Spiral Model
The spiral model, initially proposed by Boehm, is an evolutionary software process model
that couples the iterative feature of prototyping with the controlled and systematic
aspects of the linear sequential model. It implements the potential for rapid development
of new versions of the software. Using the spiral model, the software is developed in a
series of incremental releases. During the early iterations, the additional release may be a
paper model or prototype. During later iterations, more and more complete versions of
the engineered system are produced.

The Spiral Model is shown in fig:

Each cycle in the spiral is divided into four parts:

Objective setting: Each cycle in the spiral starts with the identification of purpose for that
cycle, the various alternatives that are possible for achieving the targets, and the
constraints that exists.kip0s
Risk Assessment and reduction: The next phase in the cycle is to calculate these various
alternatives based on the goals and constraints. The focus of evaluation in this stage is
located on the risk perception for the project.

Development and validation: The next phase is to develop strategies that resolve
uncertainties and risks. This process may include activities such as benchmarking,
simulation, and prototyping.

Planning: Finally, the next step is planned. The project is reviewed, and a choice made
whether to continue with a further period of the spiral. If it is determined to keep, plans
are drawn up for the next step of the project.

The development phase depends on the remaining risks. For example, if performance or
user-interface risks are treated more essential than the program development risks, the
next phase may be an evolutionary development that includes developing a more detailed
prototype for solving the risks.

The risk-driven feature of the spiral model allows it to accommodate any mixture of a
specification-oriented, prototype-oriented, simulation-oriented, or another type of
approach. An essential element of the model is that each period of the spiral is completed
by a review that includes all the products developed during that cycle, including plans for
the next cycle. The spiral model works for development as well as enhancement projects.

When to use Spiral Model?

o When deliverance is required to be frequent.


o When the project is large
o When requirements are unclear and complex
o When changes may require at any time
o Large and high budget projects

Advantages

o High amount of risk analysis


o Useful for large and mission-critical projects.

Disadvantages

o Can be a costly model to use.


o Risk analysis needed highly particular expertise.
o Doesn't work well for smaller projects.

Prototype Model
The prototype model requires that before carrying out the development of actual
software, a working prototype of the system should be built. A prototype is a toy
implementation of the system. A prototype usually turns out to be a very crude version
of the actual system, possible exhibiting limited functional capabilities, low reliability, and
inefficient performance as compared to actual software. In many instances, the client only
has a general view of what is expected from the software product. In such a scenario
where there is an absence of detailed information regarding the input to the system, the
processing needs, and the output requirement, the prototyping model may be employed.
Steps of Prototype Model

1. Requirement Gathering and Analyst


2. Quick Decision
3. Build a Prototype
4. Assessment or User Evaluation
5. Prototype Refinement
6. Engineer Product

Advantage of Prototype Model

1. Reduce the risk of incorrect user requirement


2. Good where requirement are changing/uncommitted
3. Regular visible process aids management
4. Support early product marketing
5. Reduce Maintenance cost.
6. Errors can be detected much earlier as the system is made side by side.

Disadvantage of Prototype Model

1. An unstable/badly implemented prototype often becomes the final product.


2. Require extensive customer collaboration
o Costs customer money
o Needs committed customer
o Difficult to finish if customer withdraw
o May be too customer specific, no broad market
3. Difficult to know how long the project will last.
4. Easy to fall back into the code and fix without proper requirement analysis, design,
customer evaluation, and feedback.
5. Prototyping tools are expensive.
6. Special tools & techniques are required to build a prototype.
7. It is a time-consuming process.
Iterative Model
In this Model, you can start with some of the software specifications and develop the first
version of the software. After the first version if there is a need to change the software,
then a new version of the software is created with a new iteration. Every release of the
Iterative Model finishes in an exact and fixed period that is called iteration.

The Iterative Model allows the accessing earlier phases, in which the variations made
respectively. The final output of the project renewed at the end of the Software
Development Life Cycle (SDLC) process.

The various phases of Iterative model are as follows:


1. Requirement gathering & analysis: In this phase, requirements are gathered from
customers and check by an analyst whether requirements will fulfil or not. Analyst checks
that need will achieve within budget or not. After all of this, the software team skips to
the next phase.

2. Design: In the design phase, team design the software by the different diagrams like
Data Flow diagram, activity diagram, class diagram, state transition diagram, etc.
3. Implementation: In the implementation, requirements are written in the coding
language and transformed into computer programmes which are called Software.

4. Testing: After completing the coding phase, software testing starts using different test
methods. There are many test methods, but the most common are white box, black box,
and grey box test methods.

5. Deployment: After completing all the phases, software is deployed to its work
environment.

6. Review: In this phase, after the product deployment, review phase is performed to
check the behaviour and validity of the developed product. And if there are any error
found then the process starts again from the requirement gathering.

7. Maintenance: In the maintenance phase, after deployment of the software in the


working environment there may be some bugs, some errors or new updates are required.
Maintenance involves debugging and new addition options.

When to use the Iterative Model?


1. When requirements are defined clearly and easy to understand.
2. When the software application is large.
3. When there is a requirement of changes in future.

Advantage(Pros) of Iterative Model:


1. Testing and debugging during smaller iteration is easy.
2. A Parallel development can plan.
3. It is easily acceptable to ever-changing needs of the project.
4. Risks are identified and resolved during iteration.
5. Limited time spent on documentation and extra time on designing.

Disadvantage(Cons) of Iterative Model:


1. It is not suitable for smaller projects.
2. More Resources may be required.
3. Design can be changed again and again because of imperfect requirements.
4. Requirement changes can cause over budget.
5. Project completion date not confirmed because of changing requirements.

Big Bang Model


In this model, developers do not follow any specific process. Development begins with
the necessary funds and efforts in the form of inputs. And the result may or may not be
as per the customer's requirement, because in this model, even the customer
requirements are not defined.

This model is ideal for small projects like academic projects or practical projects. One or
two developers can work together on this model.

When to use Big Bang Model?


As we discussed above, this model is required when this project is small like an academic
project or a practical project. This method is also used when the size of the developer
team is small and when requirements are not defined, and the release date is not
confirmed or given by the customer.

Advantage(Pros) of Big Bang Model:


1. There is no planning required.
2. Simple Model.
3. Few resources required.
4. Easy to manage.
5. Flexible for developers.

Disadvantage(Cons) of Big Bang Model:


1. There are high risk and uncertainty.
2. Not acceptable for a large project.
3. If requirements are not clear that can cause very expensive.

You might also like