Software Engineering - VTU RESOURCE

VTU E-LEARNING

Software Engineering

[15CS42]

A Course By:

Prof.Padmashree T

Prof. Arun Kumar Khannur

Prof. Ramasesha

Prof. G.N.Srinivasan

Contents

Software Engineering.......................................................................................................... 4

Module-1:Introduction .................................................................................................... 4

What is software? ........................................................................................................ 4

What is Software Engineering?................................................................................... 4

Why is software engineering required? ...................................................................... 4

Software process activities .......................................................................................... 6

Case studies ................................................................................................................. 7

Software Processes...................................................................................................... 8

Requirements engineering process.............................................................................. 9

Software design and implementation ........................................................................ 10

Software validation ................................................................................................... 11

Software Evolution ................................................................................................... 13

Software Process Model ........................................................................................... 13

Software specification ............................................................................................... 14

Models....................................................................................................................... 14

Requirements Engineering ........................................................................................ 18

Module 2 :System Models ............................................................................................ 35

Introduction ............................................................................................................... 35

What is a Model ........................................................................................................ 35

System Modeling ...................................................................................................... 35

Why Modeling .......................................................................................................... 36

Types of Models ....................................................................................................... 37

How to represent a Model ......................................................................................... 37

UML Diagram Types ................................................................................................ 37

Universal Modeling Language .................................................................................. 38

System Model Representation .................................................................................. 39

Context Models ......................................................................................................... 39

Process Models ......................................................................................................... 40

Interaction Models .................................................................................................... 41

Sequence Models ...................................................................................................... 43

1

Structural Models ...................................................................................................... 44

Class Diagrams ......................................................................................................... 45

Behavioral Models .................................................................................................... 47

Event-driven Modeling ............................................................................................. 48

State Machine Models............................................................................................... 49

Model-driven Engineering ........................................................................................ 51

Agile Methods and MDA.......................................................................................... 52

Design and Implementation .............................................................................................. 54

Introduction ............................................................................................................... 54

Design and Implementation ...................................................................................... 56

Design Patterns ......................................................................................................... 63

Types of Design Patterns ...............................................Error! Bookmark not defined.

Creational Design Patterns ............................................................................................ 65

Software Implementation .......................................................................................... 68

Implementation Process ............................................................................................ 73

Module 3: Agile Software Development¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­...75

Agile Model¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­.. 77

Plan-Driven and Agile Development¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­.79

Agile Methods: SCRUM Approach¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­...85

Scaling Agile Methods¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­..95

Summary¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­97

Module 4: Software Testing¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­...98

Software Quality Control- Inspection and Testing¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­98

Verification & Validation techniques¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­..¡­¡­¡­¡­¡­102

Inspection Process¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­..¡­¡­.105

Testing Process¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­..¡­¡­¡­..111

2

Software Project Management¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­.115

Project Scheduling¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­..¡­¡­.119

Project Costing and estimation¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­123

Software metrics¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­..128

3

Software Engineering

(15CS42)

Module-1:Introduction

What is software?

A program is a set of instructions that performs a specific task. Software is a set of

programs that accomplish a collective functionality.

Properties of software differ from the properties of physical constructs. The abstract and

intangible nature of the software makes it different. Software could be complex, difficult

to understand and expensive to change depending on the type of software being

developed. Depending on the context of its operation different types of software require

different approaches for development. It is also possible that software can fail. The

failure of software could be due to:

1) Increase in demand and

2) Low expectation

What is Software Engineering?

Software Engineering is an engineering discipline that involves the education of building

software using appropriate theories and methods to solve problems bearing in mind

organizational and financial constraints. While doing so, all aspects of software

production are considered and not just technical process of development. Also, project

management and the development of tools, methods etc. to support software production

should also be considered.

Why is software engineering required?

Software engineering principles involve techniques and practices that are used and tested.

It is very much required to be able to produce reliable and trustworthy systems

economically and quickly. It is usually cheaper, in the long run, to use software

engineering methods and techniques for software systems.

Software products can be categorised into:

4

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download