software Engineering lecture notes, Lecture notes of Software Engineering

1. Describe principles, concepts and practice of software engineering. 2. Explain the methods and processes of constructing the different types of software systems. 3. Apply techniques and tools of software engineering within the context of systematic construction of quality software

Typology: Lecture notes

2018/2019

Uploaded on 02/11/2019

Asan.baker
Asan.baker 🇮🇶

1

(1)

3 documents

1 / 180

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Engineering
Lectures
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download software Engineering lecture notes and more Lecture notes Software Engineering in PDF only on Docsity!

Software Engineering

Lectures

Lecture Objectives

 Introduce software engineering and to explain its importance  Develop a broad understanding of the software engineering domain

Software Engineering

Definition

Software engineering is the application of engineering to the design, development, implementation, testing and maintenance of software in a systematic method.

What is software?

Software refers to a program or a set of instructions and applications used to manage and control various functions of a device such as a computer. Unlike hardware, which represents a physical part of a device, software is virtual.  Software products may be developed for a particular customer or may be developed for a general market

Software’s Dual Role

 Software is a product  (^) Delivers computing potential  (^) Produces, manages, acquires, modifies, displays, or transmits information  Software is a vehicle for delivering a product  (^) Supports or directly provides system functionality  (^) Controls other programs (e.g. operating systems)  (^) Effects communications (e.g. networking software)  (^) Helps build other software (e.g. software tools)

Software Applications

 No clear breakdown of application types, following are some generally accepted overlapping categories  System software  Real-time software  Business information software  Engineering & scientific software  Embedded software  Personal application software  Communication software

Attributes of a Good Software

Cost Performance

Attributes of a Good Software

 Maintainability  Software must evolve to meet changing needs;  Dependability  Software must be trustworthy; e.g. reliability, security, safety.  Efficiency  Software should not make wasteful use of system resources;

Software Development

Process

 A set of activities whose goal is the development or evolution of software.  Generic activities in all software processes are  Specification - what the system should do and its development constraints  Development - production of the software system  Validation - checking that the software is what the customer wants  Evolution - changing the software in responses to changing demands

Software Process Model

 A simplified representation of a software process, presented from a specific perspective.  Examples of process perspectives are  Workflow - sequence of activities  Data-flow - information flow  Role/action - who does what

16

What is a software process?

 A set of ordered tasks to produce indented output of some kind  Involving activates, constraints; and  Resources  The process of building a software product  Life cycle - describes the life of the software from conception through its implementation, delivery, use and maintenance.

17

Why we need software process?

 Common understanding of the activities, resources and constraints involved in software development.  Creating processes helps  Find inconsistencies,  Redundancies; and  Omissions

19

Waterfall Model

Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance

20

Waterfall Model

 Inflexible partitioning of the project into distinct stages  Makes it difficult to respond to changing customer requirements.  Model is only appropriate when the requirements are well-understood; and  changes will be fairly limited during the design process. Few business systems have stable requirements.