Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS701 SOFTWARE ENGINEERING

Similar presentations


Presentation on theme: "CS701 SOFTWARE ENGINEERING"— Presentation transcript:

1 CS701 SOFTWARE ENGINEERING

2 Introduction Lecture-1

3 1.1 What is a Software? A software is a collection of
A set of programs that when executed provide desired function and performance Data structures that enable the programs to adequately manipulate information Documents that describe the operation and use of the programs Thus a software is a set of programs, data structures and associated documents.

4 1.2 Programs Vs Software Usually small in size
Programmer himself is the sole user Single developer Lacks proper user interface Lacks proper documentation Ad hoc development. Large in size Large number of users A Team of developers Well-designed interface Well documented & user- manual delivered Systematic development

5 1.3 Software Applications
The following software are developed to serve the variety of purposes. System software Real-time software Business software Engineering/Scientific software Embedded software PC software Web applications AI software

6 1.4 What is Software Engineering?
Software Engineering is An engineering discipline which is concerned with all aspects of software development. A Systematic collection of past experiences, techniques, methodologies and guidelines to develop software. Definition: Software engineering (SE) is the application of a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software.

7 1.5 Why Study Software Engineering?
Typical Issues 1. What is the best approach to design of software? 2.Why the cost of software is too high? 3.Why can’t we find all errors? 4.Why is there always some gap between claimed performance and actual performance? To answer all such queries, software development has adopted a systematic approach.

8 1.6 Why Study Software Engineering?
To acquire skills to develop large programs. Exponential growth in complexity and difficulty level with size. Ability to solve complex programming problems: To acquire skills to be a better programmer: Higher Productivity Better Quality Programs

9 1.7 Software Life Cycle Software life cycle (or software process) is a series of identifiable stages that a software product undergoes during its life time. These stages are: Feasibility study Requirements analysis and specification Design Coding Testing Maintenance

10 1.8 Software Life Cycle Model
A software life cycle model (or process model is a descriptive and diagrammatic model of software life cycle: identifies all the activities required for product development, establishes a precedence ordering among the different activities, Divides life cycle into phases. Several different activities may be carried out in each life cycle phase.

11 1.9 Why Life Cycle Model? The development team must identify a suitable life cycle model and then adhere to it. Primary advantage of adhering to a life cycle model is that it helps development of software in a systematic and disciplined manner. When a life cycle model is adhered to, the project manager can at any time fairly accurately tell, at which stage (e.g., design, code, test, etc. ) of the project is.

12 1.10 Life Cycle Models Many life cycle models have been proposed.
We will confine our attention to a few important and commonly used models. Classical waterfall model Iterative waterfall Prototyping Spiral model and V Model


Download ppt "CS701 SOFTWARE ENGINEERING"

Similar presentations


Ads by Google