Slide 1 : SOFTWARE ENGINEERING – An Introduction
Ruchi Sharma
ruchisharma1701@gmail.com Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi
Slide 2 : Contents Software Engineering – Meaning
Software Engineering – Need
Process & Product Approach
Software Development Life Cycle (SDLC) Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi
Slide 3 : Software Engineering – Meaning S/W engineering deals with the systematic development of large & complex software system, usually done by a team of S/W professionals
S/W Engineering is not programming. It includes wide range of activities related to the system development as analysis, designing, coding, testing, maintenance, quality assurance, cost & time estimation etc
Thus, unlike programming, which is an individual activity, S/W engineering is a team activity Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi
Slide 4 : Software Engineering – Need Because of the growing trends of software usage in every walk of life, a systematic approach is needed to meet the demands of highly efficient software products
As the clients have more awareness & concern for the software products & their prices, a cost-benefit analysis in terms of performance, time & money is essential, which can only be done if a systematic approach is followed Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi
Slide 5 : Process & Product Approach Software Engineering, in a broad sense, deals with two things – a process & a product.
Product – The software that is being developed
Process – The steps/procedure followed in developing the product
Thus, like any other engineering discipline, s/w engineering yields a product, but it differs from the other manufactured products because of following major facts
A finished product can be altered
The quality depends greatly on the skill set of people involved in development Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi
Slide 6 : Process & Product Approach An engineered product undergo wear & tear after being used a number of times whereas a software product can be used any number of times without any wear & tear. However, it becomes obsolete with time
An good engineered product is one that is 100% error free whereas a S/W product does not necessarily satisfy this argument. A good quality S/W product is the one that performs its intended operation correctly even if it has some errors Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi
Slide 7 : S/W Development Life Cycle (SDLC ) Each S/W product, during its development, undergoes a set of steps, called phases. These phases constitute the SDLC (or the Software Process Technology).
The phases usually follow a sequential or a circular path but they can be varied according to the need of the project.
The major phases of SDLC are
Requirements Analysis
Design
Coding
Testing
Maintenance Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi
Slide 8 : SDLC Phases (Diagram 1) Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi
Slide 9 : SDLC Phases Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi Requirement Analysis
Focuses on “what” of the system
Purpose is to identify & document the requirements of the proposed system
The feasibility study is carried out
Software Requirement Specification(SRS) is prepared
Design
Focuses on “how” will it be done
SRS is the input & Software Design Document(SDD) is the output
Slide 10 : SDLC Phases Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi Has two sub-phases
Primary Design (Architectural design) – Module level designing is done for the entire system
Secondary Design (Detailed design) – Individual designing of each module is done
Features of a good design
Practicality - The design should ensure the stability & ease of use of the system
Efficiency - The system should yield an accurate, timely & correct output
Slide 11 : SDLC Phases Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi Flexibility - The system should ensure hassle free amendments with minimum efforts at a later stage, if needed
Security - Issues related to hardware reliability, data security, validation checks etc should be taken care of
Coding
SDD serves as the input
The actual code is written following the coding standard already defined
Output is the actual code which will be delivered to the customer after testing
Slide 12 : SDLC Phases Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi 4. Testing
Refers to “trial run” of the software for finding errors
Performed keeping the user requirements in mind
Errors are detected & corrected
Objective is to use the test cases that can traverse every detail of the code & uncover potential errors with minimum amount of time & effort
Maintenance
Starts after the tested S/W is delivered
Refers to the changes that are done once the software is operational
Slide 13 : SDLC Phases Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi Majorly includes error correction, enhancement of capabilities, deletion of obsolete features
The cost is much more than the development cost as it is a continuous process practically (because the software requirements change with time)
Slide 14 : SDLC Phases (Diagram 2) Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi
Slide 15 : Thank You Ruchi Sharma ruchisharma1701@gmail.com http://www.wiziq.com/tutor-profile/376074-Ruchi