ISM Notes
ISM Notes
ISM Notes
Unit- 1
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
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
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.
Characteristics of 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.
• 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.
• 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.
• 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.
• 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.
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.
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.
• 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.
There are a number of things that decision-makers can do to improve the quality of
information for decision making:
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
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.
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
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:
Here is a table that summarizes the information requirements of the different levels
of management:
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.
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:
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?
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.
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.
The different components of the DBMS work together to provide a reliable and
efficient way to store and manage data.
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.
People who deal with databases are involved in a variety of tasks, including:
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.
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.
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.
Normal Description
Form
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.
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.
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.
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.
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.
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.
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:
Unary Relationship
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.
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.
4 SURESH DELHI 18 IT
Table Branch
BRANCH_CODE BRANCH_NAME
CS COMPUTER SCIENCE
IT INFORMATION TECHNOLOGY
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.
Data elements need to access Multiple data elements can be accessed at the same
individually. time.
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.
Example:
b. DROP: It is used to delete both the structure and record stored in the table.
Syntax
Example
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:
EXAMPLE
d. TRUNCATE: It is used to delete all the rows from the table and free the space
containing the table.
Syntax:
Example:
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:
Or
For example:
Syntax:
For example:
UPDATE students
SET User_Name = 'Sonoo'
WHERE Student_Id = '3'
Syntax:
For example:
o Grant
o Revoke
Example
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Example
These operations are automatically committed in the database that's why they cannot be
used while creating tables or dropping them.
o COMMIT
o ROLLBACK
o SAVEPOINT
a. Commit: Commit command is used to save all the transactions to the database.
Syntax:
COMMIT;
Example:
b. Rollback: Rollback command is used to undo transactions that have not already been
saved to the database.
Syntax:
ROLLBACK;
Example:
c. SAVEPOINT: It is used to roll the transaction back to a certain point without rolling
back the entire transaction.
Syntax:
SAVEPOINT SAVEPOINT_NAME;
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.
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
Item8 Com1 3 10 30
Item9 Com2 2 25 50
Example: COUNT()
SELECT COUNT(*)
FROM PRODUCT_MAST;
Output:
10
1. SELECT COUNT(*)
2. FROM PRODUCT_MAST;
3. WHERE RATE>=20;
Output:
Output:
Output:
Com1 5
Com2 3
Com3 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
SELECT SUM(COST)
FROM PRODUCT_MAST
WHERE QTY>3;
Output:
320
SELECT SUM(COST)
FROM PRODUCT_MAST
WHERE QTY>3
GROUP BY COMPANY;
Output:
Com1 150
Com2 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:
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 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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Advantages
Disadvantages
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
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.
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.
This model is ideal for small projects like academic projects or practical projects. One or
two developers can work together on this model.