第四章 软件概要设计(疑问:DFD转化为软件结

4、1  软件概要设计的基本任务

1、基本任务

  1)设计软件系统结构:分模块,定模块功能,模块关系,模块接口,模块结构的质量

  2)数据结构及数据库设计:数据结构的设计,数据库的设计(含:概念设计,逻辑设计,物理设计)

  3)编写概要设计文档:概要设计说明书,数据库设计说明书,用户手册,修定测试计划

  4)评审

2、软件概要设计说明书的主要内容。

*********

4、2  软件设计的基本原理

1、模块化

  1)模块基本属性:接口,功能,逻辑,状态

2、抽象:

3、信息隐蔽

4、模块独立性

  1)耦合性:No Direct Coupling,Data Coupling,Stamp Coupling,Control Coupling,Common Coupling,Content Coupling

     降低耦合的措施:在方式上降低模块间接口的复杂性,传递信息类型上尽量用数据耦合,避免控制耦合,有控制的使用公共耦合

 2)内聚性:Coincidental Cohesion,Logical Cohesion,Temporal Cohesion,Communicational Cohesion,Sequential Cohesion,Functional Cohesion

******************

4、3  软件结构优化准则

1、软件结构图(Structure Chart,SC):模块用方框,模块的控制关系用单向箭头,信息传递用短箭头,两个附加符号,结构图的形态特征(深度,宽度,扇出,扇入),注意事项

2、优化准则:模块高内聚和低耦合,模块的作用范围在控制范围之内和判定所在的模块应与受其影响的模块在层次上尽量靠近,形态特征适当,模块大小适中,模块接口简单、清晰、含义明确。。

***********

4、4  面向数据流的设计方法

1、类型:变换型数据流图,事务型数据流图

2、设计过程:精化DFD,确定DFD类型,分解上层模块和设计中下层模块,对软件结构求精,描述模块,复查

3、变换分析设计:确定DFD的变换中心等,顶层和第一层变换结构,中、下层模块,设计优化

4、事务分析设计:DFD事务中心,顶层和第一层即事务结构,中、下层设计和优化

5、1)综合DFD的映射:整体类型,局部DFD范围,软件结构

    2)分层DFD的映射:主图是变换型而子图是事务型,主图是事务型而子图是变换型

6、实例(不懂??)

7、设计后处理:模块处理说明,接口说明,数据结构说明,设计约束或限制,概要设计评审,优化

**************

4、5基于IDEF0图的设计方法

转换成结构图:父图,单层结构图,模块接口,系统初始结构图,精化

4、6  HIPO图

1、H图:表模块关系

2、IPO图

心情,不爽的一天

    我的宽带是2元1小时,记得当初跟电信写合同的时间是120元封顶,这个月因为建主页,我就一个劲儿的上网,心想,再多也是120元封顶。谁知,今天上网到电信一查,不知什么时候变成了150元封顶。我第一感觉就是电信单方面更改游戏规则了。于是,打10000问电信,说是150元,难道当初我看广告看花了眼,看合同也花了眼,急忙去找合同,找不到,急人。管它的,反正还有一个月才会交滞纳金,合同我慢慢找,总放在哪儿了。别让这事把我的心情弄坏了。

    真是祸不单行啊,今天老婆又跟我吵,说我只知道玩电脑,不管家里的事,我觉得有点冤,但还是跟她反驳,后来还火药味十足,不该说的话也再说。但是反过来一想,也的确是管得少了。于是,今天下班,我乖乖的去把孩子从她那里抱回来,因为她要上夜班。回家我就把衣服洗了。唉,男子汉大丈夫,能屈能伸,要从大局出发来处理家里的事。

第3章小节,问题:形式化(维也纳,VDM),IDEF方法

第3章  软件需求分析

第1节  任务

1、概念:用户需求

  1)难点:问题复杂,交流,不完备和不一致,易变

  2)分析原则:数据域和功能域,分解细化,建模

2、任务

  1)问题识别:功能,性能,环境,界面

  2)逻辑模型

  3)文档:需求规格说明书,初步用户使用手册,测试计划,开发计划

3、需求规格说明忆主要内容

****************

第2节  结构化分析方法

1、自顶向下

2、描述工具:DFD,DD,结构化语言等

3、步骤:当前物理模型,当前逻辑模型,目标系统逻辑模型,补充优化。

*****************

第3节  DFD

概念:逻辑模型

1、基本图形符号:箭头表数据流,圆表加工,双杠表存储,方框表端点

2、步骤:

  1)系统的输入输出;

  2)系统内部;

  3)注意事项:命名,数据流而非控制流,不画物质流,加工都有IO,编号,父,子图平衡,局部数据存储,提高DFD易理解性

3、实例

*******

第4节  DD

概念:各个成分的具体含义

1、内容及格式:1)、数据流  2):数据存储  3):数据项  4):加工条目

2、实现:

  1)手工:印制卡片,填内容,按图号排列,同一成分只在父图上定义,索引目录

  2)计算机辅助建立并维护:字典生成与管理程序,建数据库文件

*************

第5节  加工逻辑的描述(应用)

1、结构化语言:

  1)外层:顺序结构,选择结构,重复

  2)内层:祈使句

2、判定表:撮条件,条件取值,条件组合,提取动作,制作判定表,完善

3、判定树:

***********

第6节  IDEF方法(不懂)

概念:Integrated Computer Aided Manufacturing(ICAM)

     ICAM Definition=IDEF

分为3部分:IDEF0,功能模型;IDEF1,信息模型;IDEF2,动态模型;

1、图形表示:输入,输出,控制,机制

2、方法:范围、观点及目的;内外关系图A-0图;顶层图A0图;低层次的图形;

3、特点:图形符号;自顶向下;

********

第7节  结构化分析方法小节

适合于数据处理类型的需求分析

弱点:静态模型扩充成CFD或STD;DFD与数据库中ER结合;不适合描述人机交互;与形式化结合,形式化是软件自动化的基础(不懂);借助需求分析工具

 

   

第1,2章小节,问题:VDM,成本-效益分析的时间价

第1章第1节  软件工程的产生

1、软件的特点:

     1)逻辑产品;2)成本主要是研制;3)不会磨损;4)成本昂贵。

2、发展:

     1)程序设计时代;2)程序系统;3)软件工程。

3、软件危机:

    1)产生:供不应求

    2)危机的表现:

          1>预算常突破;2>不能满足用户要求;3>可维护性差;4>可靠性差。

    3)危机原因:

          1>规模;2>管理;3>技术;4>工具。

4、软件工程:

    1)定义:用科学知识和技术原理来定义、开发、维护软件的一门学科。

    2)性质:交叉学科;

    3)内容:开发技术,开发管理。

5、问题:

    1)费用;2)可靠性;3)维护;4)生产率;5)重用。

**************************************

第2节  软件工程过程和软件生存周期

1、过程:获取,供应,开发,操作,维护,管理,支持。

2、周期:可行性分析和开发计划,需求分析,概要设计,详细设计,编码,测试,维护

第3节  软件生存周期、方法、和工具

1、生存周期模型:瀑布,增量,螺旋,喷泉,基于知识,变换

2、开发方法:结构化,Jackson,维也纳(VDM,形式化不懂?),OOP

3、工具:

    1)重要性

    2)工具箱

    3)开发环境 

    4)CASE(computer aided software engineering)

***************************************************************

第2章  软件可行性研究与项目开发计划

第1节  可行性研究

1、任务:技术,经济,社会

2、步骤:规模目标,现有系统,新系统高层模型,评价各种方案,可行方案,可研报告

3、可研报告内容:引言,前提,现有系统分析,技术可行性,经济,社会,其他方案,结论

********

第2节  系统流程图

1、作用:物理模型

2、符号:3、例子

********

第3节  成本-效益分析

1、时间价值(不懂?)2、投资回收期  3、纯收入

*********

第4节  项目开发计划:项目概述,实施计划,人员,期限

***************************