《软件工程》课程教学资源(PPT课件)Lecture 6 设计概念和原则 Design Concepts and Principles

Lecture 6 Design Concepts and principles
Lecture 6 Design Concepts and Principles

Analysis to Design Data PSPEC component (procedural) Description de ERD DFD resign Data interface Dictionary de sign architectural design TD data CSPEC design THE ANALYSIS MODEL THE DESIGN MODEL
Analysis to Design Data Dictionary THE ANALYSIS MODEL interface design architectural design data design THE DESIGN MODEL PSPEC CSPEC ERD DFD STD Data Object Description component (procedural) design

Where do We begin? modelling Prototype Spec D esign
Where Do We Begin? Spec Prototype Design modelling

Design Principles / Dav957 The design process should not suffer from tunnel vision The design should be traceable to the analysis model The design should not reinvent the wheel The design should"minimize the intellectual distance between the software and the problem as it exists in the real world The design should exhibit uniformity and integration
Design Principles [Dav95] ◼ The design process should not suffer from ‘tunnel vision.’ ◼ The design should be traceable to the analysis model. ◼ The design should not reinvent the wheel. ◼ The design should “minimize the intellectual distance” between the software and the problem as it exists in the real world. ◼ The design should exhibit uniformity and integration

Design Principles /Dav957 The design should be structured to accommodate change The design should be structured to degrade gently, even when aberrant data, events, or operating conditions are encountered Design is not coding coding is not design The design should be assessed for quality as it is being created, not after the fact The design should be reviewed to minimize conceptual(semantic)errors
Design Principles [Dav95] ◼ The design should be structured to accommodate change. ◼ The design should be structured to degrade gently, even when aberrant data, events, or operating conditions are encountered. ◼ Design is not coding, coding is not design. ◼ The design should be assessed for quality as it is being created, not after the fact. ◼ The design should be reviewed to minimize conceptual (semantic) errors

Fundamental Concepts abstraction-data, procedure, control refinement-elaboration of detail for all abstractions modularity-compartmentalization of data and function architecture -overall structure of the software Structural properties Extra-structural properties Styles and patterns procedure-the algorithms that achieve function hiding-controlled interfaces
Fundamental Concepts ◼ abstraction—data, procedure, control ◼ refinement—elaboration of detail for all abstractions ◼ modularity—compartmentalization of data and function ◼ architecture—overall structure of the software ◼ Structural properties ◼ Extra-structural properties ◼ Styles and patterns ◼ procedure—the algorithms that achieve function ◼ hiding—controlled interfaces

Data abstraction door manufacturer model number type swing direction inserts lights type number weight opening mechanism implemented as a data structure
Data Abstraction door implemented as a data structure manufacturer model number type swing direction inserts lights type number weight opening mechanism

Procedural abstraction open details of enter algorithm implemented with a knowledge"of the object that is associated with enter
Procedural Abstraction open implemented with a "knowledge" of the object that is associated with enter details of enter algorithm

Stepwise refinement open walk to door reach for knob open door;- repeat until door opens turn knob clockwise walk through; if knob doesn't turn, then close door take key out find correct key insert in lock endif pull/push door move out of way end repeat
Stepwise Refinement open walk to door; reach for knob; open door; walk through; close door. repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out; find correct key; insert in lock; endif pull/push door move out of way; end repeat

Modularity: Trade-offs for a specific software design? ' oot What is the"right"number of me ules module development cost cost of software module integration cost optimal number number of modules of modules
Modularity: Trade-offs What is the "right" number of modules for a specific software design? optimal number of modules cost of software number of modules module integration cost module development cost
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安交通大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第6章 数字量输入输出接口(主讲:桂小林).ppt
- 香港中文大学:《Probability and Statistics for Engineers》课程教学资源(PPT课件讲稿)Chapter 09 Classical Staistical Inference.pptx
- 上海交通大学:《挖掘海量数据集 Mining Massive Datasets》课程教学资源(PPT讲稿)Lecture 07 链接分析 Link Analysis.ppt
- 《计算机仿真技术》课程电子教案(PPT教学课件)第一章 绪论.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第6章 IP路由.ppt
- 《计算机原理及应用》课程教学资源(PPT课件讲稿)第8章 单片机的存储器的扩展.ppt
- 《算法设计》课程教学资源(PPT课件讲稿)Lecture 6 Graph Traversal.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 3 Data Transmission.ppt
- 南京大学:Decidability、Complexity(P、NP、NPC)、Reduce(P NP NPC).pptx
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第四章 电子表格系统Excel 2003.ppt
- 西安电子科技大学:《信息系统安全》课程教学资源(PPT课件讲稿)第三章 信息安全保障体系、第四章 物理安全.ppt
- 《计算机网络》课程电子教案(PPT课件讲稿)第2章 数据通信与广域网技术.ppt
- 《计算机网络与互联网 Computer Networks and Internets》课程电子教案(PPT课件讲稿)Part IV 局域网 Local Area Networks(LANs).ppt
- 《人工智能导论》课程教学资源(PPT课件讲稿)群智能(Swarm Intelligence).ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第六章 中断 §6.1 中断的概念 §6.2 单片机的中断系统及其管理.ppt
- 3D computer vision techniques v.4b2 1.ppt
- 上海交通大学:《计算机控制技术》课程教学资源(PPT课件)第一章 计算机控制系统概述 Computer Control Technology.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第一章 概述.ppt
- 《ARM原理与设计》课程教学资源(PPT课件讲稿)Lecture 04 Cortex M3指令集.pptx
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第八章 中断系统与可编程中断控制器8259A.pptx
- 《网络编程实用教程》课程教学资源(PPT课件讲稿)第2章 套接字网络编程基础.ppt
- 《现代操作系统 Modern Operating Systems》课程教学资源(PPT课件讲稿,Third Edition)Chapter 3 内存管理 Memory Management.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第四章 串.ppt
- 东北大学:《计算机图形学》课程教学资源(PPT课件讲稿,主讲:闻时光).ppt
- 上海交通大学:超立方体 Hypercube(PPT讲稿)Low-Diameter Architectures.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第五章 多维数组与广义表.ppt
- 西南交通大学:《网络性能评估与测试 Network Performance Evaluation and Testing》(PPT课件讲稿)第2讲 网络测试技术基础(主讲:张新有).ppt
- 《Photoshop CS教程》教学资源(PPT课件)第7章 编辑文字.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)语法制导的翻译(Syntax-Directed Translation).pptx
- 电子科技大学:《密码理论》课程教学资源(PPT课件讲稿)第2章 流密码.ppt
- 搜索引擎技术(PPT讲稿)Web Spam.ppt
- 四川大学:《计算机操作系统 Operating System Principles》课程教学资源(PPT课件讲稿)第1章 导论(主讲:段磊).ppt
- 赣南师范大学:《计算机网络原理》课程教学资源(PPT课件讲稿)第七章 网络层.ppt
- 《人工智能》课程电子教案(PPT课件讲稿)第9章 机器学习与知识发现.ppt
- 《数字图像处理》课程教学资源(PPT课件讲稿)第7章 图像分割.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)第五章 语法制导的翻译 5.1 语法制导的定义 5.2 S属性定义的自下而上计算.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 5 互斥与同步(Mutual Exclusion and Synchronization)5.3 Semaphores.ppt
- 淮阴工学院:《数据库原理》课程教学资源(PPT课件讲稿)第2章 数据库系统结构.ppt
- 苏州大学:文档评分与向量空间模型(PPT讲稿).ppt
- 清华大学:Computational Models for Social Network Analysis(PPT讲稿)mining big social networks(Part III:Group and Structure).pptx