软件工程(总体设计)

(1)总体设计说明书,
(2)目的:“概括的说,系统应该如何实现”这个问题,因此总体设计又成为概要设计和初步设计
(3)总体设计的任务:这个阶段的任务将划分出组成系统的物理元素-程序,文件,数据库,人工过程和文档,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后详细设计。
(4)总体设计的原因:可以站在全局高度上,花较少的成本,从抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而降低本成本开发出较高质量的软件系统
(5)总体设计过程通常由两个主要阶段组成①系统设计阶段,确定系统的具体实现方案②结构设计阶段,确定软件结构
(6)总体设计的步骤?
答:①设想供选择的方案②选取合理的方案③推荐最佳方案④功能分解⑤设计软件结构⑥设计数据库⑦制定测试计划⑧书写文档⑨审查和复查
(7)设计的时候要遵循的原理?
答:①模块化:模块就是把程序划分成独立命名且可独立访问的模块,每一个模块完成一个子功能,把这些模块集成起来构成一个整体,就可以完成指定的功能满足客户需求(模块化的原因:1,模块化是为了使一个复杂的大型程序能够被人的智力所管理2,如果一个软件仅有一个模块它将很难被人所理解。模块化的依据:把复杂的问题分成许多容易解决的小问题)
②抽象,用自顶向下由抽象到具体的方式分配管理,简化了软件的设计和实现,提高可软件的可理解性和可测试性,并且使软件更容易维护
③逐步求精,能够帮助软件工程师把精力集中在与当前开发阶段最相关的哪一方面,而忽略那些与整体解决方案来说虽然是必要的,然而目前还不需要考虑的事情,能够确保每个问题都能被解决,而且每个问题都能被在适当的时候被解决,但是在任何时候都不需要一个人处理7个以上的知识块。
④信息隐藏和局部化,是一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。局部化是指把关系密切的软件物理元素放的彼此靠近(局部化有助于信息隐藏)
⑤模块独立,模块独立是模块化,抽象,信息隐藏,局部化的直接结果
(8)模块化的优点?
答:①采用模块化原理可以软件结构清晰,不仅容易设计也容易理解软件
②使软件容易测试或者调试因为有助于提高软件的可靠性
③模块化可以提高软件的可修改性
④有助于软件开发工程的组织管理
(9)信息隐藏的优点?
答:①有效防止错误的扩大与传播
②有助于提高软件的可修改性可测试性可维护性
(10)模块独立的优点?
答: ①模块可以分割功能而且接口可以简化
②有效的模块化软件比较容易开发
③独立的模块比较容易测试和维护
④可以防止错误的扩大与传播
(11)模块独立性的两个衡量标准:内聚和耦合
(12)内聚:衡量模块内部各个元素彼此结合的紧密程度(越紧密越好)
(13)耦合:衡量不同模块彼此间的相互依赖的紧密程度(越松越好)
(14)耦合:非直接,数据,标记,控制,公共环境,内容耦合
数据耦合(耦合度最低),内容耦合(耦合度最高)
尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合,完全不用内容耦合
(15)内聚:偶然,逻辑,时间,过程,通信,顺序,功能
偶然内聚(内聚度最低),功能内聚(内聚度最高)
(16)功能内聚:如果模块内所有处理元素属于一个整体,完成一个单一的功能
(17)启发规则:
答:①改进软件结构提高模块独立性(高内聚低耦合)
②模块规模应该适中
③深度,宽度,扇出,扇入都应适当
④模块的作用域应该在控制域之内
⑤力争降低模块接口的复杂程度
⑥设计单入口单出口的模块
⑦模块功能应该可以预测
(18)深度:表示软件结构中控制的层数
(19)宽度:表示软件结构中同一层次上模块总数的最大值
(20)扇出:表示一个模块直接控制(调用)的模块数目
(21)扇入:表示由多少个上级模块直接调用该模块(与软件重用有关)
(22)作用域:受模块内一个判定影响的所有模块集合
(23)控制域:这个模块本身以及所有直接或间接从属于它的模块的集合
(24)面向数据流(SD)的设计方法是把信息流映射成软件结构
(25)信息流:变换流,事务流

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是两三杯可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值