Software Engineering ., Cheat Sheet of Software Engineering

This is first lecture of software engineering course .you will be able to understand each concept very clearly.

Typology: Cheat Sheet

2020/2021

Available from 01/16/2022

nand-nandan
nand-nandan 🇮🇳

2 documents

1 / 20

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
What is Software
Engineering?
Engineering approach to develop
software.
Building Construction Analogy.
Systematic collection of past
experience:
techniques,
methodologies,
guidelines.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Partial preview of the text

Download Software Engineering . and more Cheat Sheet Software Engineering in PDF only on Docsity!

What is Software

Engineering?

 Engineering approach to develop

software.

Building Construction Analogy.

 Systematic collection of past

experience:

techniques, methodologies, guidelines.

Software Crisis

 Software products:

fail to meet user requirements. frequently crash. expensive. difficult to alter, debug, and enhance. often delivered late. use resources non-optimally.

Programs versus Software Products  Usually small in size  Author himself is sole user  Single developer  Lacks proper user interface  Lacks proper documentation  Ad hoc development.  Large  Large number of users  Team of developers  Well-designed interface  Well documented & user-manual prepared  Systematic development

Object-Oriented Design (80s)

 Object-oriented technique:

natural objects (such as employees, pay-roll-register, etc.) occurring in a problem are first identified.

 Relationships among objects:

such as composition, reference, and inheritance are determined.

Differences between the exploratory style and modern software development practices

 Use of Life Cycle Models

 Software is developed through

several well-defined stages:

requirements analysis and specification, design, coding, testing, etc.

Differences between the exploratory style and modern software development practices

 Emphasis has shifted

 from error correction to error prevention.

 Modern practices emphasize:

detection of errors as close to their point of introduction as possible.

Differences between the exploratory style and modern software development practices (CONT.)

 During all stages of

development process:

Periodic reviews are being carried out

 Software testing has become

systematic:

standard testing techniques are available.

Differences between the exploratory style and modern software development practices (CONT.)  Projects are being thoroughly planned:  estimation,  scheduling,  monitoring mechanisms.  Use of CASE tools.

Why Model Life Cycle?

 A written description:  forms a common understanding of activities among the software developers.  helps in identifying inconsistencies, redundancies in the development process.

Why Model Life Cycle?

 Processes are tailored for special

projects.

A documented process model

 helps to identify where the tailoring is to occur.

Life Cycle Model (CONT.)

 When a software product is being developed by a team:  there must be a precise understanding among team members as to when to do what,  otherwise it would lead to and project failure.

Life Cycle Model (CONT.)

 A life cycle model:

defines entry and exit criteria for every phase. A phase is considered to be complete: only when all its exit criteria's are satisfied.

Life Cycle Model (CONT.)

 It becomes easier for software

project managers:

to monitor the progress of the project.

Life Cycle Model (CONT.)

 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,  evolutionary,  prototyping, and  spiral model