Lec 06

  • July 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Lec 06 as PDF for free.

More details

  • Words: 439
  • Pages: 9
Wear vs. Deterioration increased failure rate due to side effects

Failure rate

change actual curve

idealized curve Time Dr. Arshad A. Shahid

37

NU Islamabad

Future of SE … • • • • • • • • • • • •

• • • • • • • • • • • •

Process Requirements engineering Reverse engineering Testing Maintenance and Evolution Software architecture OO Modeling SE and Middleware Tools and environments Configuration management (OO) Databases and SE SE Education

Dr. Arshad A. Shahid

38

Software analysis Formal specification Mathematical foundations Reliability and Dependability Performance SE for Safety SE for security SE for mobility SE & the Internet Software economics Empirical studies of SE Software metrics

NU Islamabad

Software Engineering Principles • Principles form the basis of methods, techniques, methodologies and tools • Seven important principles that may be used in all phases of software development • Apply to the software product as well as the development process

Dr. Arshad A. Shahid

39

NU Islamabad

Key principles 1. 2. 3. 4. 5. 6. 7.

Dr. Arshad A. Shahid

Rigor and formality Separation of concerns Modularity Abstraction Anticipation of change Generality Incrementality

40

NU Islamabad

as tees follow the defined steps and rules

1. Rigor and formality • Software engineering is a creative design activity, BUT It must be practiced systematically • Rigor is a necessary complement to creativity that increases our confidence in our developments • Formality is rigor at the highest degree

Dr. Arshad A. Shahid

41

NU Islamabad

Examples: Rigor and formality • Product: – Formal-Mathematical analysis of program correctness – Rigorous-Systematic test data derivation

• Process: – Rigorous- detailed documentation of each development step in waterfall model – Formal- automated transformational process to derive program from formal specifications Dr. Arshad A. Shahid

42

NU Islamabad

2. Separation of concerns • To dominate complexity, separate the issues to concentrate on one at a time – "Divide & conquer"

• Supports parallelization of efforts and separation of responsibilities

Dr. Arshad A. Shahid

43

NU Islamabad

Separation of concerns Examples: – Process: Go through phases one after the other as in waterfall Model –Does separation of concerns by separating activities with respect to time

– Product: Keep different types of product requirements separate –Functionality discussed separately from the performance constraints

Dr. Arshad A. Shahid

44

NU Islamabad

3. Modularity • A complex system may be divided into simpler pieces called modules • A system that is composed of modules is called modular • Supports application of separation of concerns – when dealing with a module we can ignore details of other modules Dr. Arshad A. Shahid

45

NU Islamabad

Related Documents

Lec 06
July 2020 0
Lec 06 (2017).pdf
June 2020 0
Lec
November 2019 52
Lec
May 2020 32
Lec
May 2020 28
Lec
November 2019 41