SlideShare a Scribd company logo
School of Computing
Science and Engineering
Program: B.Tech
Course Code: BCSE2355
Course Name: Software Engineering &
Testing Methodologies
Presented by,
Indervati
Assistant Professor,
SCSE
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
Course Outcomes
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
CO NUMBER TITLE
CO1 Understand the key concerns that are common to all
software development processes.
CO2 Select appropriate process models, approaches and
techniques to manage a given software development
process.
CO3 Able to elicit requirements for a software product
and translate these into a documented design.
CO4 Recognize the importance of software reliability and
how we can design dependable software, and what
measures are used.
CO5 Understand the principles and techniques underlying
the process of inspecting and testing software and
making it free of errors and tolerable.
CO6 Understand the Software Quality Assurance (SQA)
architecture and identify Software quality
management standards and procedures
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
Syllabus
Click Here
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• Software Engineering = Software & Engineering.
• The software is a collection of integrated programs.
• Software subsists of carefully-organized instructions and code
written by developers on any of various particular computer
languages.
• Engineering is the application of Scientific and Practical
knowledge to invent, design, build, maintain, and improve
frameworks, processes, etc.
SOFTWARE & ENGINEERING
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• Software Engineering is an engineering branch related to the
evolution of software product using well-defined scientific
principles, techniques, and procedures. The result of software
engineering is an effective and reliable software product.
SOFTWARE ENGINEERING
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
• Software Engineering is an engineering branch related to the
evolution of software product using well-defined scientific
principles, techniques, and procedures. The result of software
engineering is an effective and reliable software product.
• IEEE defines software engineering as: The application of a
systematic, disciplined, quantifiable approach to the
development, operation and maintenance of software
SOFTWARE ENGINEERING
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
SOFTWARE ENGINEERING
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
IMPORTANCE OF SOFTWARE ENGINEERING
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
• Produce reliable and trustworthy systems economically and
quickly
• It is usually cheaper, in the long run, to use software
engineering methods and techniques for professional
software systems
• Failure to use software engineering method leads to higher
costs for testing, quality assurance, and long-term
maintenance.
SOFTWARE ENGINEERING IS IMPORTANT FOR TWO
REASONS:
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
• Operational Characteristics
• Transition Characteristics
• Revision Characteristics
SOFTWARE CHARECTERSTICS
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
• Software crisis (Software Failure) refers to the difficulty of
writing correct, understandable, and verifiable computer
programs.
• The roots of the software crisis are complexity, expectations,
and change.
The crisis manifested itself in several ways:
Projects running over-budget, Projects running over-time,
Software was very inefficient, etc.
SOFTWARE CRISIS
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
1. From Programmers point Of View.
2. From User point Of View
SOFTWARE CRISIS CAN BE CLASSIFIED IN TWO WAYS
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
1. Problem of Compatibility
2. Problem of Portability
3. Problem of Documentation
4. Problem of Piracy Of Software
5. Problem In Coordination To Work With Other People
6. Problem That Arise During Actual Run Time in The
Organization
7. Problem of Maintenance In Proper Manner.
FROM PROGRAMMERS POINT OF VIEW
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
1. How To Choose Software From Total Market Availability
2. How To Ensure That Which Software Is Compatible With There
Hardware.
3. Problem Of Viruses.
4. Problems Of Software Bugs.
5. Certain Software Runs On Specific Os.
6. Problem Of Different Versions Of Software.
7. Security Problem For Protected Data In Software
FROM USER POINT OF VIEW
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
Software Process
• The process that deals with the technical and management
issues of software development is called software process.
• enables rational and timely development of computer
software.
SOFTWARE ENGINEERING PROCESSES
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
Software Process
• Identify new problems and solutions in software production.
• Study new systematic methods, principles, approaches for
system analysis, design, implementation, testing and
maintenance.
• Provide new ways to control, manage, and monitor software
process.
• Build new software tools and environment to support
software engineering.
WHY SOFTWARE ENGINEERING PROCESSES ?
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
• To increase software productivity and quality.
• To effectively control software schedule and planning.
• To reduce the cost of software development.
• To meet the customers’ needs and requirements.
• To enhance the conduction of software engineering process.
• To improve the current software engineering practice.
• To support the engineers’ activities in a systematic and
efficient manner.
MAJOR GOALS
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
Programming vs. Software Engineering
• Programming: The process of translating a problem from its
physical environment into a language that a computer can
understand and obey.
• Software Engineering: “The establishment and use of sound
engineering principles in order to obtain economically
software that is reliable and works efficiently on real
machines.”
SIMILARITIES AND DIFFERENCES FROM CONVENTIONAL
ENGINEERING PROCESSES
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
Computer Science
• Theory
• Fundamentals
Software Engineering
• The practicalities of developing
• Delivering useful software
SIMILARITIES AND DIFFERENCES FROM CONVENTIONAL
ENGINEERING PROCESSES
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
• Cost
• Schedule
• Quality
SOFTWARE QUALITY ATTRIBUTES
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
• Functionality: The Capability to provide functions which meet
stated and implied needs when the software is used.
• Reliability: The capability to maintain a specified level of
performance.
• Usability: The capability to be understood, learned, and used.
• Efficiency: The capability to provide appropriate performance
relative to the amount of resources used.
• Maintainability: The capability to be modified for the purpose
of making corrections, improvements etc.
• Portability: The capability of the software to be work properly
in different environment without applying any action
SOFTWARE QUALITY
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
SOFTWARE DEVELOPMENT LIFE CYCLE
• SDLC provides a series of
steps to be followed to
design and develop a
software product efficiently.
SDLC framework includes
the following steps:
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
COMMUNICATION & REQUIREMENT GATHERING
• Communication
– User initiates the request for a desired software product.
– He contacts the service provider and tries to negotiate the terms.
– He submits his request to the service providing organization in writing.
• Requirement Gathering
– Studying the existing or obsolete system and software.
– Conducting interviews of users and developers.
– Referring to the database or
– Collecting answers from the questionnaires.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
FEASIBILITY STUDY & SYSTEM ANALYSIS
• Feasibility Study
– At this step the team analyzes if a software can be made to fulfill all
requirements of the user.
– The project is financially, practically and technologically feasible for
the organization to take up.
• System Analysis
– The developers decide a roadmap of their plan and try to bring up the
best software model suitable for the project.
– Understanding of software product limitations, learning system
related problems or changes.
– Analyzes the scope of the project and plans the schedule and
resources.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
FEASIBILITY STUDY & SYSTEM ANALYSIS
• Feasibility Study
– At this step the team analyzes if a software can be made to fulfill all
requirements of the user.
– The project is financially, practically and technologically feasible for
the organization to take up.
• System Analysis
– The developers decide a roadmap of their plan and try to bring up the
best software model suitable for the project.
– Understanding of software product limitations, learning system
related problems or changes.
– Analyzes the scope of the project and plans the schedule and
resources.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
SYSTEM DESIGN & CODING
• Software Design
– logical design and physical design.
– produce meta-data and data dictionaries, logical diagrams, data-flow
diagrams and in some cases pseudo codes.
• Coding
– Known as programming phase.
– Writing program code in the suitable programming language.
– Developing error-free executable programs efficiently.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
TESTING & INTEGRATION
• Testing
– Testing is conducted by testing experts.
– Various levels of code such as module testing, program testing,
product testing, in-house testing and testing the product at user’s end.
– Early discovery of errors and their remedy is the key to reliable
software.
• Integration
– Software may need to be integrated with the libraries, databases and
other programs.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
IMPLEMENTATION & OPERATION AND MAINTENANCE
• Implementation
– Installing the software on user machines.
– Software is tested for portability and adaptability and integration
related issues are solved during implementation.
• Operation and Maintenance
– Confirms the software operation in terms of more efficiency and less
errors.
– Users are trained on, or aided with the documentation on how to
operate the software.
– Software is maintained timely by updating the code according to the
changes taking place in user end environment or technology
– face challenges from hidden bugs and real-world unidentified
problems.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
DISPOSITION
• Disposition
– May decline on the performance front.
– Go completely obsolete or may need intense upgradation.
– This plan will include a statement of why the application is no longer
supported, a description of replacement/upgrade, a list of
tasks/activities (transition plan) with estimated dates of completion
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
SDLC MODELS
• Waterfall Model
• Prototype Model
• Spiral Model
• Evolutionary Development Models
• Iterative Enhancement Models.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
WATERFALL MODEL
• Referred to as a linear-sequential life cycle model.
• Each phase must be completed before the next phase can
begin and there is no overlapping in the phases.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
WATERFALL MODEL
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
WATERFALL MODEL
Requirement Gathering and analysis
• All possible requirements of the system to be developed are
captured in this phase and documented in a requirement
specification document.
System Design
• Specifying hardware and system
• Defines the overall system architecture.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
WATERFALL MODEL
• Implementation − With inputs from the system design, the
system is first developed in small programs called units, which
are integrated in the next phase. Each unit is developed and
tested for its functionality, which is referred to as Unit Testing.
• Integration and Testing − All the units developed in the
implementation phase are integrated into a system after
testing of each unit. Post integration the entire system is
tested for any faults and failures.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
WATERFALL MODEL
• Deployment of system − Once the functional and non-
functional testing is done; the product is deployed in the
customer environment or released into the market.
• Maintenance − There are some issues which come up in the
client environment. To fix those issues, patches are released.
Also to enhance the product some better versions are
released. Maintenance is done to deliver these changes in the
customer environment.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
WATERFALL MODEL
Advantages of waterfall model
• This model is simple and easy to understand and use.
• It is easy to manage due to the rigidity of the model – each
phase has specific deliverables and a review process.
• In this model phases are processed and completed one at a
time. Phases do not overlap.
• Waterfall model works well for smaller projects where
requirements are very well understood.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
WATERFALL MODEL
Disadvantages of waterfall model
• Once an application is in the testing stage, it is very difficult to
go back and change
• something that was not well-thought out in the concept
stage.
• No working software is produced until late during the life
cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a
moderate to high risk of changing.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
WATERFALL MODEL
When to use the waterfall model
• This model is used only when the requirements are very well
known, clear and fixed.
• Product definition is stable.
• Technology is understood.
• There are no ambiguous requirements
• Ample resources with required expertise are available freely
• The project is short.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
PROTOTYPE MODEL
• A prototyping model suggest that before carrying out the
development of the actual software, a working prototype of
the system should be built.
• A prototype is a toy implementation of the system.
• Prototype is a working model of software with some limited
functionality.
• Prototyping is used to allow the users evaluate the developer
proposals and try them out before implementation.
• By using this prototype, customer can understand the
requirements of desired system and also the customer can get
an “actual feel” of the system. It is an attractive idea for
complex and bigger systems.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
PROTOTYPE MODEL
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
PROTOTYPE MODEL
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
PROTOTYPE MODEL
Requirements gathering and Analysis
A prototype model begins with requirements analysis, and the
requirements of the system are define in detail. The user is
interviewed in order to know the requirements of the system.
Quick design
When requirements are known, a quick design for the system is
created. It is not a detailed design , it includes the important
aspects of the system, which gives an idea of the system to the
user.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
PROTOTYPE MODEL
Build prototype:
Information gathering from quick design is modified to form a
prototype .It represents a ‘rough’ design of the required system.
Customer evaluation of prototype:
The build prototype is presented to the customer for his/her
evaluation.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
PROTOTYPE MODEL
Prototype refinement:
Once the user evaluate the prototype, it is refined according to
the requirements . When the user is satisfied to the developed
prototype , a final system is developed based on the final
prototype , which is developed by the iterative method means
we design the system according to the final prototype , after that
implement , test the product to find the error and at last we
maintain the system.
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
PROTOTYPE MODEL
Advantages
• User early in the process , enabling early assessment and
increasing the user confidence
• Better implementation of the requirements.
• It helps in reducing the risk associated to the project.
• Improving communication between developer and user
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
PROTOTYPE MODEL
Dis-Advantages
• If the user is not satisfied with developed prototype, then a
new prototype is developed .
• The developer loses focus of the real purpose of the
prototype and compromises on the quality of the product.
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
ITERATIVE MODEL
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
ITERATIVE MODEL
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
Low Level Design:
Modularization,
Design Structure Charts,
Pseudo Codes,
TOPICS TO BE COVERED
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• Modularization is a technique to divide a software system into
multiple discrete and independent modules, which are
expected to be capable of carrying out task(s) independently.
• Designers tend to design modules such that they can be
executed and/or compiled separately and independently.
MODULARIZATION
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• Smaller components are easier to maintain
• Program can be divided based on functional aspects
• Desired level of abstraction can be brought in the program
• Components with high cohesion can be re-used again
• Concurrent execution can be made possible
• Desired from security aspect
ADVANTAGE OF MODULARIZATION
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• Structure Chart represent hierarchical structure of modules.
• It breaks down the entire system into lowest functional
modules, describe functions and sub-functions of each
module of a system to a greater detail.
STRUCTURE CHART
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• Module
It represents the process or task of the system. It is of three
types.
– Control Module
A control module branches to more than one sub module.
– Sub Module
Sub Module is a module which is the part (Child) of
another module.
– Library Module
Library Module are reusable and invokable from any
module.
SYMBOLS USED IN CONSTRUCTION OF STRUCTURED CHART
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
MODULE
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• It represents that control module can select any of the sub
module on the basis of some condition.
CONDITIONAL CALL
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• It represents the repetitive execution of module by the sub
module.
• A curved arrow represents loop in the module.
LOOP (REPETITIVE CALL OF MODULE)
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• It represents the flow of data between the modules. It is
represented by directed arrow with empty circle at the end.
DATA FLOW
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• Physical Storage is that where all the information are to be
stored.
PHYSICAL STORAGE
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
STRUCTURE CHART FOR AN EMAIL SERVER
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
• It is a methodology that allows the programmer to represent
the implementation of an algorithm.
• cooked up representation of an algorithm.
• These include while, do, for, if, switch. Examples below will
illustrate this notion
PSEUDO CODE
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
If student's grade is greater than or equal to 60
Print "passed"
else
Print "failed"
PSEUDO CODE EXAMPLE 1
School of Computing Science and Engineering
Course Code : BCSE2355 Course Name: SE
Program Name: B.Tech
Pseudocode
While the power of 2 is not larger than 1000
keep on getting the values of the power of 2.
C++ statement
int product = 2;
while ( product <= 1000 )
product = 2 * product;
PSEUDO CODE EXAMPLE 2
School of Computing Science and Engineering
Course Code : BCSE3003 Course Name: SE & TM
Program Name: B.Tech
1. Software Engineering: A practitioner’s Approach,
Roger S Pressman, Sixth Edition. McGraw-Hill
International Edition, 2005.
2. Software Engineering: Ian Summerville, Seventh
Edition, Pearson Education, 2004.
3. Daniel Galin, “Software Quality Assurance”, Pearson
Publication, 2009.
REFERENCES
SE Unit-1.pptx

More Related Content

Similar to SE Unit-1.pptx

Ch 2 what is software quality
Ch 2 what is software qualityCh 2 what is software quality
Ch 2 what is software quality
Kittitouch Suteeca
 
Career Opportunities after M. Tech. in Computer Science and Engineering
Career Opportunities after M. Tech. in Computer Science and EngineeringCareer Opportunities after M. Tech. in Computer Science and Engineering
Career Opportunities after M. Tech. in Computer Science and Engineering
REVA University
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
BMS Institute of Technology and Management
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
Garima Singh
 
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320  SOFTWARE ENGINEERING Lecture01 (1).pptCSE320  SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
DHIRENDRAHUDDA
 
A Proposal of Postgraduate Programme for Software Testing Specialization
A Proposal of Postgraduate Programme for Software Testing SpecializationA Proposal of Postgraduate Programme for Software Testing Specialization
A Proposal of Postgraduate Programme for Software Testing Specialization
MIMOS Berhad/Open University Malaysia/Universiti Teknologi Malaysia
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
NancyBeaulah_R
 
Software Engineering_21CSCST4050.pptx
Software Engineering_21CSCST4050.pptxSoftware Engineering_21CSCST4050.pptx
Software Engineering_21CSCST4050.pptx
baranicsea
 
Ch0 se423 outline
Ch0 se423 outlineCh0 se423 outline
Ch0 se423 outline
Kittitouch Suteeca
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Md.Nazmul Islam
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
UnknownPerson201264
 
A PROJECT REPORT ON DOCUMENT MANAGEMENT SYSTEM MASTER OF COMPUTER APPLICATION...
A PROJECT REPORT ON DOCUMENT MANAGEMENT SYSTEM MASTER OF COMPUTER APPLICATION...A PROJECT REPORT ON DOCUMENT MANAGEMENT SYSTEM MASTER OF COMPUTER APPLICATION...
A PROJECT REPORT ON DOCUMENT MANAGEMENT SYSTEM MASTER OF COMPUTER APPLICATION...
Karla Long
 
216328327 nilesh-and-teams-project
216328327 nilesh-and-teams-project216328327 nilesh-and-teams-project
216328327 nilesh-and-teams-project
homeworkping8
 
Pratik Aggarwal
Pratik AggarwalPratik Aggarwal
Pratik Aggarwal
Pratik Aggarwal
 
Scope after mca
Scope after mcaScope after mca
Scope after mca
CODERS TECHNOLOGIES
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
Prachi Sasankar
 
Monty Jackson Resume 21-Nov-2016
Monty Jackson Resume 21-Nov-2016Monty Jackson Resume 21-Nov-2016
Monty Jackson Resume 21-Nov-2016
Monty Jackson
 
SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
Prof. Dr. K. Adisesha
 
1. Introduction
1. Introduction1. Introduction
1. Introduction
Ashis Kumar Chanda
 
CSEIT- ALL.pptx
CSEIT- ALL.pptxCSEIT- ALL.pptx
CSEIT- ALL.pptx
shubham504451
 

Similar to SE Unit-1.pptx (20)

Ch 2 what is software quality
Ch 2 what is software qualityCh 2 what is software quality
Ch 2 what is software quality
 
Career Opportunities after M. Tech. in Computer Science and Engineering
Career Opportunities after M. Tech. in Computer Science and EngineeringCareer Opportunities after M. Tech. in Computer Science and Engineering
Career Opportunities after M. Tech. in Computer Science and Engineering
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320  SOFTWARE ENGINEERING Lecture01 (1).pptCSE320  SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
 
A Proposal of Postgraduate Programme for Software Testing Specialization
A Proposal of Postgraduate Programme for Software Testing SpecializationA Proposal of Postgraduate Programme for Software Testing Specialization
A Proposal of Postgraduate Programme for Software Testing Specialization
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 
Software Engineering_21CSCST4050.pptx
Software Engineering_21CSCST4050.pptxSoftware Engineering_21CSCST4050.pptx
Software Engineering_21CSCST4050.pptx
 
Ch0 se423 outline
Ch0 se423 outlineCh0 se423 outline
Ch0 se423 outline
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
A PROJECT REPORT ON DOCUMENT MANAGEMENT SYSTEM MASTER OF COMPUTER APPLICATION...
A PROJECT REPORT ON DOCUMENT MANAGEMENT SYSTEM MASTER OF COMPUTER APPLICATION...A PROJECT REPORT ON DOCUMENT MANAGEMENT SYSTEM MASTER OF COMPUTER APPLICATION...
A PROJECT REPORT ON DOCUMENT MANAGEMENT SYSTEM MASTER OF COMPUTER APPLICATION...
 
216328327 nilesh-and-teams-project
216328327 nilesh-and-teams-project216328327 nilesh-and-teams-project
216328327 nilesh-and-teams-project
 
Pratik Aggarwal
Pratik AggarwalPratik Aggarwal
Pratik Aggarwal
 
Scope after mca
Scope after mcaScope after mca
Scope after mca
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Monty Jackson Resume 21-Nov-2016
Monty Jackson Resume 21-Nov-2016Monty Jackson Resume 21-Nov-2016
Monty Jackson Resume 21-Nov-2016
 
SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 
1. Introduction
1. Introduction1. Introduction
1. Introduction
 
CSEIT- ALL.pptx
CSEIT- ALL.pptxCSEIT- ALL.pptx
CSEIT- ALL.pptx
 

Recently uploaded

2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
integral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdfintegral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdf
gaafergoudaay7aga
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
riddhimaagrawal986
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
IJECEIAES
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
ramrag33
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
bijceesjournal
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
TaghreedAltamimi
 

Recently uploaded (20)

2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
integral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdfintegral complex analysis chapter 06 .pdf
integral complex analysis chapter 06 .pdf
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
People as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimalaPeople as resource Grade IX.pdf minimala
People as resource Grade IX.pdf minimala
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Software Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.pptSoftware Quality Assurance-se412-v11.ppt
Software Quality Assurance-se412-v11.ppt
 

SE Unit-1.pptx

  • 1. School of Computing Science and Engineering Program: B.Tech Course Code: BCSE2355 Course Name: Software Engineering & Testing Methodologies Presented by, Indervati Assistant Professor, SCSE
  • 2. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech Course Outcomes
  • 3. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech CO NUMBER TITLE CO1 Understand the key concerns that are common to all software development processes. CO2 Select appropriate process models, approaches and techniques to manage a given software development process. CO3 Able to elicit requirements for a software product and translate these into a documented design. CO4 Recognize the importance of software reliability and how we can design dependable software, and what measures are used. CO5 Understand the principles and techniques underlying the process of inspecting and testing software and making it free of errors and tolerable. CO6 Understand the Software Quality Assurance (SQA) architecture and identify Software quality management standards and procedures
  • 4. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech Syllabus Click Here
  • 5. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • Software Engineering = Software & Engineering. • The software is a collection of integrated programs. • Software subsists of carefully-organized instructions and code written by developers on any of various particular computer languages. • Engineering is the application of Scientific and Practical knowledge to invent, design, build, maintain, and improve frameworks, processes, etc. SOFTWARE & ENGINEERING
  • 6. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • Software Engineering is an engineering branch related to the evolution of software product using well-defined scientific principles, techniques, and procedures. The result of software engineering is an effective and reliable software product. SOFTWARE ENGINEERING
  • 7. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech • Software Engineering is an engineering branch related to the evolution of software product using well-defined scientific principles, techniques, and procedures. The result of software engineering is an effective and reliable software product. • IEEE defines software engineering as: The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software SOFTWARE ENGINEERING
  • 8. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech SOFTWARE ENGINEERING
  • 9. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech IMPORTANCE OF SOFTWARE ENGINEERING
  • 10. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech • Produce reliable and trustworthy systems economically and quickly • It is usually cheaper, in the long run, to use software engineering methods and techniques for professional software systems • Failure to use software engineering method leads to higher costs for testing, quality assurance, and long-term maintenance. SOFTWARE ENGINEERING IS IMPORTANT FOR TWO REASONS:
  • 11. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech • Operational Characteristics • Transition Characteristics • Revision Characteristics SOFTWARE CHARECTERSTICS
  • 12. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech • Software crisis (Software Failure) refers to the difficulty of writing correct, understandable, and verifiable computer programs. • The roots of the software crisis are complexity, expectations, and change. The crisis manifested itself in several ways: Projects running over-budget, Projects running over-time, Software was very inefficient, etc. SOFTWARE CRISIS
  • 13. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech 1. From Programmers point Of View. 2. From User point Of View SOFTWARE CRISIS CAN BE CLASSIFIED IN TWO WAYS
  • 14. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech 1. Problem of Compatibility 2. Problem of Portability 3. Problem of Documentation 4. Problem of Piracy Of Software 5. Problem In Coordination To Work With Other People 6. Problem That Arise During Actual Run Time in The Organization 7. Problem of Maintenance In Proper Manner. FROM PROGRAMMERS POINT OF VIEW
  • 15. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech 1. How To Choose Software From Total Market Availability 2. How To Ensure That Which Software Is Compatible With There Hardware. 3. Problem Of Viruses. 4. Problems Of Software Bugs. 5. Certain Software Runs On Specific Os. 6. Problem Of Different Versions Of Software. 7. Security Problem For Protected Data In Software FROM USER POINT OF VIEW
  • 16. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech Software Process • The process that deals with the technical and management issues of software development is called software process. • enables rational and timely development of computer software. SOFTWARE ENGINEERING PROCESSES
  • 17. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech Software Process • Identify new problems and solutions in software production. • Study new systematic methods, principles, approaches for system analysis, design, implementation, testing and maintenance. • Provide new ways to control, manage, and monitor software process. • Build new software tools and environment to support software engineering. WHY SOFTWARE ENGINEERING PROCESSES ?
  • 18. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech • To increase software productivity and quality. • To effectively control software schedule and planning. • To reduce the cost of software development. • To meet the customers’ needs and requirements. • To enhance the conduction of software engineering process. • To improve the current software engineering practice. • To support the engineers’ activities in a systematic and efficient manner. MAJOR GOALS
  • 19. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech Programming vs. Software Engineering • Programming: The process of translating a problem from its physical environment into a language that a computer can understand and obey. • Software Engineering: “The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.” SIMILARITIES AND DIFFERENCES FROM CONVENTIONAL ENGINEERING PROCESSES
  • 20. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech Computer Science • Theory • Fundamentals Software Engineering • The practicalities of developing • Delivering useful software SIMILARITIES AND DIFFERENCES FROM CONVENTIONAL ENGINEERING PROCESSES
  • 21. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech • Cost • Schedule • Quality SOFTWARE QUALITY ATTRIBUTES
  • 22. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech • Functionality: The Capability to provide functions which meet stated and implied needs when the software is used. • Reliability: The capability to maintain a specified level of performance. • Usability: The capability to be understood, learned, and used. • Efficiency: The capability to provide appropriate performance relative to the amount of resources used. • Maintainability: The capability to be modified for the purpose of making corrections, improvements etc. • Portability: The capability of the software to be work properly in different environment without applying any action SOFTWARE QUALITY
  • 23. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech SOFTWARE DEVELOPMENT LIFE CYCLE • SDLC provides a series of steps to be followed to design and develop a software product efficiently. SDLC framework includes the following steps:
  • 24. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech COMMUNICATION & REQUIREMENT GATHERING • Communication – User initiates the request for a desired software product. – He contacts the service provider and tries to negotiate the terms. – He submits his request to the service providing organization in writing. • Requirement Gathering – Studying the existing or obsolete system and software. – Conducting interviews of users and developers. – Referring to the database or – Collecting answers from the questionnaires.
  • 25. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech FEASIBILITY STUDY & SYSTEM ANALYSIS • Feasibility Study – At this step the team analyzes if a software can be made to fulfill all requirements of the user. – The project is financially, practically and technologically feasible for the organization to take up. • System Analysis – The developers decide a roadmap of their plan and try to bring up the best software model suitable for the project. – Understanding of software product limitations, learning system related problems or changes. – Analyzes the scope of the project and plans the schedule and resources.
  • 26. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech FEASIBILITY STUDY & SYSTEM ANALYSIS • Feasibility Study – At this step the team analyzes if a software can be made to fulfill all requirements of the user. – The project is financially, practically and technologically feasible for the organization to take up. • System Analysis – The developers decide a roadmap of their plan and try to bring up the best software model suitable for the project. – Understanding of software product limitations, learning system related problems or changes. – Analyzes the scope of the project and plans the schedule and resources.
  • 27. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech SYSTEM DESIGN & CODING • Software Design – logical design and physical design. – produce meta-data and data dictionaries, logical diagrams, data-flow diagrams and in some cases pseudo codes. • Coding – Known as programming phase. – Writing program code in the suitable programming language. – Developing error-free executable programs efficiently.
  • 28. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech TESTING & INTEGRATION • Testing – Testing is conducted by testing experts. – Various levels of code such as module testing, program testing, product testing, in-house testing and testing the product at user’s end. – Early discovery of errors and their remedy is the key to reliable software. • Integration – Software may need to be integrated with the libraries, databases and other programs.
  • 29. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech IMPLEMENTATION & OPERATION AND MAINTENANCE • Implementation – Installing the software on user machines. – Software is tested for portability and adaptability and integration related issues are solved during implementation. • Operation and Maintenance – Confirms the software operation in terms of more efficiency and less errors. – Users are trained on, or aided with the documentation on how to operate the software. – Software is maintained timely by updating the code according to the changes taking place in user end environment or technology – face challenges from hidden bugs and real-world unidentified problems.
  • 30. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech DISPOSITION • Disposition – May decline on the performance front. – Go completely obsolete or may need intense upgradation. – This plan will include a statement of why the application is no longer supported, a description of replacement/upgrade, a list of tasks/activities (transition plan) with estimated dates of completion
  • 31. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech SDLC MODELS • Waterfall Model • Prototype Model • Spiral Model • Evolutionary Development Models • Iterative Enhancement Models.
  • 32. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech WATERFALL MODEL • Referred to as a linear-sequential life cycle model. • Each phase must be completed before the next phase can begin and there is no overlapping in the phases.
  • 33. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech WATERFALL MODEL
  • 34. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech WATERFALL MODEL Requirement Gathering and analysis • All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification document. System Design • Specifying hardware and system • Defines the overall system architecture.
  • 35. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech WATERFALL MODEL • Implementation − With inputs from the system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality, which is referred to as Unit Testing. • Integration and Testing − All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failures.
  • 36. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech WATERFALL MODEL • Deployment of system − Once the functional and non- functional testing is done; the product is deployed in the customer environment or released into the market. • Maintenance − There are some issues which come up in the client environment. To fix those issues, patches are released. Also to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment.
  • 37. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech WATERFALL MODEL Advantages of waterfall model • This model is simple and easy to understand and use. • It is easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process. • In this model phases are processed and completed one at a time. Phases do not overlap. • Waterfall model works well for smaller projects where requirements are very well understood.
  • 38. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech WATERFALL MODEL Disadvantages of waterfall model • Once an application is in the testing stage, it is very difficult to go back and change • something that was not well-thought out in the concept stage. • No working software is produced until late during the life cycle. • High amounts of risk and uncertainty. • Not a good model for complex and object-oriented projects. • Poor model for long and ongoing projects. • Not suitable for the projects where requirements are at a moderate to high risk of changing.
  • 39. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech WATERFALL MODEL When to use the waterfall model • This model is used only when the requirements are very well known, clear and fixed. • Product definition is stable. • Technology is understood. • There are no ambiguous requirements • Ample resources with required expertise are available freely • The project is short.
  • 40. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech PROTOTYPE MODEL • A prototyping model suggest that before carrying out the development of the actual software, a working prototype of the system should be built. • A prototype is a toy implementation of the system. • Prototype is a working model of software with some limited functionality. • Prototyping is used to allow the users evaluate the developer proposals and try them out before implementation. • By using this prototype, customer can understand the requirements of desired system and also the customer can get an “actual feel” of the system. It is an attractive idea for complex and bigger systems.
  • 41. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech PROTOTYPE MODEL
  • 42. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech PROTOTYPE MODEL
  • 43. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech PROTOTYPE MODEL Requirements gathering and Analysis A prototype model begins with requirements analysis, and the requirements of the system are define in detail. The user is interviewed in order to know the requirements of the system. Quick design When requirements are known, a quick design for the system is created. It is not a detailed design , it includes the important aspects of the system, which gives an idea of the system to the user.
  • 44. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech PROTOTYPE MODEL Build prototype: Information gathering from quick design is modified to form a prototype .It represents a ‘rough’ design of the required system. Customer evaluation of prototype: The build prototype is presented to the customer for his/her evaluation.
  • 45. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech PROTOTYPE MODEL Prototype refinement: Once the user evaluate the prototype, it is refined according to the requirements . When the user is satisfied to the developed prototype , a final system is developed based on the final prototype , which is developed by the iterative method means we design the system according to the final prototype , after that implement , test the product to find the error and at last we maintain the system.
  • 46. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech PROTOTYPE MODEL Advantages • User early in the process , enabling early assessment and increasing the user confidence • Better implementation of the requirements. • It helps in reducing the risk associated to the project. • Improving communication between developer and user
  • 47. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech PROTOTYPE MODEL Dis-Advantages • If the user is not satisfied with developed prototype, then a new prototype is developed . • The developer loses focus of the real purpose of the prototype and compromises on the quality of the product.
  • 48.
  • 49. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech ITERATIVE MODEL
  • 50. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech ITERATIVE MODEL
  • 51. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech Low Level Design: Modularization, Design Structure Charts, Pseudo Codes, TOPICS TO BE COVERED
  • 52. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • Modularization is a technique to divide a software system into multiple discrete and independent modules, which are expected to be capable of carrying out task(s) independently. • Designers tend to design modules such that they can be executed and/or compiled separately and independently. MODULARIZATION
  • 53. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • Smaller components are easier to maintain • Program can be divided based on functional aspects • Desired level of abstraction can be brought in the program • Components with high cohesion can be re-used again • Concurrent execution can be made possible • Desired from security aspect ADVANTAGE OF MODULARIZATION
  • 54. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • Structure Chart represent hierarchical structure of modules. • It breaks down the entire system into lowest functional modules, describe functions and sub-functions of each module of a system to a greater detail. STRUCTURE CHART
  • 55. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • Module It represents the process or task of the system. It is of three types. – Control Module A control module branches to more than one sub module. – Sub Module Sub Module is a module which is the part (Child) of another module. – Library Module Library Module are reusable and invokable from any module. SYMBOLS USED IN CONSTRUCTION OF STRUCTURED CHART
  • 56. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech MODULE
  • 57. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • It represents that control module can select any of the sub module on the basis of some condition. CONDITIONAL CALL
  • 58. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • It represents the repetitive execution of module by the sub module. • A curved arrow represents loop in the module. LOOP (REPETITIVE CALL OF MODULE)
  • 59. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • It represents the flow of data between the modules. It is represented by directed arrow with empty circle at the end. DATA FLOW
  • 60. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • Physical Storage is that where all the information are to be stored. PHYSICAL STORAGE
  • 61. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech STRUCTURE CHART FOR AN EMAIL SERVER
  • 62. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech • It is a methodology that allows the programmer to represent the implementation of an algorithm. • cooked up representation of an algorithm. • These include while, do, for, if, switch. Examples below will illustrate this notion PSEUDO CODE
  • 63. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech If student's grade is greater than or equal to 60 Print "passed" else Print "failed" PSEUDO CODE EXAMPLE 1
  • 64. School of Computing Science and Engineering Course Code : BCSE2355 Course Name: SE Program Name: B.Tech Pseudocode While the power of 2 is not larger than 1000 keep on getting the values of the power of 2. C++ statement int product = 2; while ( product <= 1000 ) product = 2 * product; PSEUDO CODE EXAMPLE 2
  • 65. School of Computing Science and Engineering Course Code : BCSE3003 Course Name: SE & TM Program Name: B.Tech 1. Software Engineering: A practitioner’s Approach, Roger S Pressman, Sixth Edition. McGraw-Hill International Edition, 2005. 2. Software Engineering: Ian Summerville, Seventh Edition, Pearson Education, 2004. 3. Daniel Galin, “Software Quality Assurance”, Pearson Publication, 2009. REFERENCES