Software

Only available on StudyMode
  • Download(s) : 34
  • Published : March 14, 2013
Open Document
Text Preview

Software Engineering

Notes

Table of Contents
INTRODUCTION5

Definitions5

Characteristics of a software Product5

Components of software6

Types of Software Product6

History6

Software Crisis:- 1965-19856

Software myths7

The 4Ps of Software engineering7

Software Development Life Cycle(SDLC)8

Waterfall Model8

Waterfall Strengths9

Waterfall Deficiencies9

When to use the Waterfall Model10

Spiral SDLC Model10

Spiral Model Strengths11

Spiral Model Weaknesses11

When to use Spiral Model12

Prototype Model12

Incremental model14

Advantages of  Incremental Model15

Disadvantages Incremental Model15

Rapid Application Development (RAD)16

Advantages of RAD Model16

Disadvantages of RAD Model16

REQUIREMENTS ANALYSIS AND SPECIFICATION17

Definitions17

Types of Requirements17

Requirements engineering18

Requirement engineering Process18

DESIGN PHASE20

Architecture20

Implementation Plan21

Critical Priority Analysis21

Performance Analysis21

Test Plan22

Modularity23

SOFTWARE PROJECT MANAGEMENT25

THE MANAGEMENT SPECTRUM25

CHARACTERISCTIC OF AN EFFECTIVE PROJECT MANAGER26

THE PROJECT27

AVOIDING PROBLEMS SIGNED BY JEOPARDY27

THE W5HH PRINCIPLE29

Software Project Planning30

Project Resources30

Project Resources characteristics31

Software Project Estimation31

Categories of estimation techniques31

Risk Management32

Characteristics of Risks32

Risk Management Process32

Types of Risks33

Risk Projection33

Implementation phase35

Critical Error Removal35

Software testing37

Black-box testing40

White-box testing40

Computer Aided Software Engineering42

CASE:42

Categories of CASE Tools:43

How the Organization uses CASE tools:43

Need of CASE tools:44

Positioning of CASE tools in a Software Application development:45

Advantages and Disadvantages of CASE Tools:45

Characteristics of a successful CASE Tool:46

Maintenance46

Introduction46

Categories of software maintenance47

Costs and challenges47

Reverse engineering48

Reengineering49

SOFTWARE ENGINEERING

INTRODUCTION

Definitions

Program:- Instructions that tell a computer what to do and how to behave. It is combination of source codes and object codes.

Software- Computer programs that when executed provides a desired function. It consists of written programs or procedures or rules and associated documentation pertaining to the operation of a computer system stored in memory.

Engineering:- Application of scientific principles and methods to the construction of useful structures and machines.

Software engineering- “Application of systematic, disciplined and quantifiable approach to the development, operation and maintenance of soft wares” (according to Institute of Electronic and Electrical Engineers-IEEE)

There is a debate on whether programmers qualify to be considered as engineers just like other engineers.

Software takes a dual role as both the product and the vehicle for delivering a product. It is a vehicle because it forms the basis for the control of the computer. It delivers the most important product of our time i.e. information.

Software engineering is an engineering discipline concerned with all aspects of software production.

Software engineers should adopt a systematic and organized approach to their work. They should also use appropriate tools and technique depending on problem to be solved, development constraint and resources available.

Software engineering and computer science are different because computer science deals...
tracking img