软件工程复习 Day02 Apare_xzc 2020.8.28

软件工程复习Day02

2020.8.28


题型

  1. 选择题 10分 5题
  2. 简答题 30分 5题 基本概念
  3. 设计题 30分 3题 画模型视图,测试用例,根据描述画类图,状态图
  4. 应用题 30分 2题
  • 数据流图 -> 软件结构图
  • 用例图,状态图 -> 类图

考点分布

2,6,7章不考
第5章 5.1-5.4不考
12章软件维护只看概念分类
结构化方法:第3章需求分析,第4章结构化设计概念,第5章从5.5开始
面向对象方法:第8章概念,9,10
11章:软件测试
12章:软件维护

在这里插入图片描述


作业题目

2月26日作业

银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。

复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
请用状态转换图描绘复印机的行为。

在这里插入图片描述


3月4日作业

1 控制耦合存在什么问题?
2 为什么需要模块的作用域在控制域内?
答:

  1. 控制耦合存在什么问题?
    (1). 在系统开发阶段,一个模块的修改会产生涟漪效应,其他模块也需随之修改。
    (2). 由于模块之间的相依性,模块的组合会需要更多的精力及时间去维护
    (3). 由于一个模块有许多的相依块,模块的可复用性低
  2. 模块的作用域应该在控制域内
    (1). 一个模块的控制域,是模块本身及其所有从属以及最终的从属模块(即所有可供它调用的下级模块。
    (2). 一个模块的作用域,是受这个模块中决策影响的其他模块。只要模块中含有一些依赖于这个判定的操作,这个模块就在这个判定的作用范围之内。
        控制耦合在模块间传递控制变量,即一个模块执行哪一条路径会由传入控制变量的其它模块决定,使模块之间耦合度增高,模块的独立性变差。控制耦合存在以下问题: • (1)不利于程序的维护。一个模块的修改会产生涟漪效应,其他模块也需随之修改。 • (2)不利于程序的组合。由于模块之间的相依性,模块的组合会需要更多的精力及时间。 • (3)由于一个模块有许多的相依模块,模块的可复用性低。         作用域表示受该模块内一个判定影响的所有模块的集合。控制域是该模块的所有下层模块。 • 若模块的作用域不在控制域内,则往往需要通过更长的路径传递控制变量,而且上层模块出现的错误可能是由于下层模块产生的错误的判定引起的,这种错误在测试中比较难被发现

作业

3月9日作业

完成第五章ppt后面2题作业,在下课前提交。
1 为方便储户,银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
导出系统的模块结构图 。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 某事务系统具有下列功能:
(1)读入用户命令,并检查其有效性;
(2)按照命令的编号(1~4号)进行分类处理;
(3)1号命令计算产品工时,能根据用户给出的各种产品数量,计算出各工种的需要工时和缺额工时;
(4)2号命令计算材料消耗,根据产品的材料定额和用户给出的生产数量,计算各种教材的需求量;
(5)3号命令编制材料定货计划;
(6)4号命令计算产品成本。
试用结构化分析和设计方法画出该系统的数据流图并据此导出系统的模块结构图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3月16日作业

用程序流程图、盒图和PAD图描述下述面问题的控制结构。
在数据A(1)~A(10)中求最大数。
请在下课前提交作业
在这里插入图片描述
在这里插入图片描述


3月23日作业

画甘特图和网络图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


4月8日作业

1 考虑一下ATM系统。至少标识出与系统交互的三个不同的参与者。
2
画出列车售票系统的用例图。该系统包括两个参与者:可以购买不同类型车票的旅客和中心计算机系统管理一个价格表引用数据库。用例应该包括BuyOneWayTicket、BuyWeeklyCard、BuyMonthlyCard和UpdateTariff。也应该包括意外情况:TimeOut(即旅行者等待太长时间而无法输入正确的数量)、TransactionAborted(即旅行者选择终止按钮,未完成交易)、DistributorOutOfChange和DistributorOutOfPaper。
3
按如下定义要求画出表示书的类图:“一本书由数个部分组成,每个部分由数章组成。各章又由数节组成”。画图的将注意力放在类及其关系上。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


4月14日作业

1 在一个购物系统中,客户需要注册后才能购物,客户能下订单购买商品,可选择用支票还是用信用卡付款,每个订单有一个订单号,客户可通过订单号查看已下订单的状态。销售经理可以查看客户资料,可以处理客户卡中金额不足的问题。请画出用例图。
2 请画出顺序图
执行者:学生
前提条件:学生提交注册申请
后续条件:学生完成注册,学期中加入该生的注册信息
主要成功的事件流:

  1. 学生申请注册
  2. 系统提供注册界面
  3. 学生填写姓名和学号
  4. 系统认证填入信息
  5. 系统返回注册成功
  6. 在新学期中加入该生信息
    不成功事件流:
    4*. 系统认证不成功
    4a. 系统返回注册错误
    3
    考虑一下带有图形用户界面的文件系统,如Macintosh的Finder、Microsoft的Windows Explorer和Linux的KDE。从描述怎样从一个软盘拷贝一个文件到硬盘的用例中标识出了如下对象:File、Icon、TrashCan、Folder、Disk和Pointer。说明哪些对象是实体对象,哪些对象是边界对象,哪些对象是控制对象。

在这里插入图片描述

4月26日作业

画类图

在这里插入图片描述
在这里插入图片描述


5月11日作业

1
根据下列条件使用等价划分法设计测试用例。
某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。
在这里插入图片描述

2 分析被测程序流程图,用条件覆盖方法设计足够的测试用例。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


第一章

软件的生命周期:制定计划,需求分析,设计,程序编码,测试,运行维护
软件生命周期模型

  • 瀑布模型
  • 螺旋模型
  • 喷泉模型
  • 增量模型
    (各种模型的特点,优缺点)
模型 特点 优点 缺点
瀑布模型 (1)具有阶段顺序性和依赖性 (2)推迟实现的观点(3)质量保证的观点 (1)可强迫开发人员采用规范的方法(例如结构化技术) (2)严格地规定了每个阶段必须交付的文档 (3)

软件工程的三要素:方法,工具,过程

数据字典的作用,就是描述软件中的每个数据和加工的具体含义,以保持数据在系统中的一致性。
有了数据流图和数据字典才算是较完整地描述了一个系统。数据流图和数据字典是需求规格说明书的主要组成部分。
数据字典要对数据流图中出现的所有名字(数据流、加工、数据存储)进行定义。

耦合和内聚的概念

        耦合是对软件内部模块之间相互联系的度量。
        内聚是从功能角度对模块内部聚合能力的量度。是模块功能强度的度量。
在这里插入图片描述
在这里插入图片描述

  • 偶然内聚:块内各个组成成分在功能上互不相关。
  • 逻辑内聚:这种模块把几种相关的、相似的功能组合在一起,每次被调用时,由模块参数来确定模块来完成哪一种功能。 swithc()
  • 时间内聚:一个模块包含的所有功能必须在统一“时间”内完成,那么这个模块的块内联系就是时间性内聚 (关闭文件,报警,保留现场)
  • 过程内聚:一个模块包含的一组任务必须按照某一特定次序进行(建立矩阵->高斯消元->回代)
  • 通信内聚:模块的各个成分都使用同一输入数据,或者都产生同一输出数据,靠公用数据联系在一起,故称为通信性内聚。
    在这里插入图片描述
  • 顺序内聚:如果一个模块内的处理元素和同一个功能密切相关,而且这些数据必须顺序执行,通常一个处理元素的数据数据作为下一个处理元素的输出数据,成为顺序性内聚。(输入系数->求解->打印方程解)
  • 功能内聚:一个模块包括仅仅为了完成某一具体任务所必须的所有成分,或者说模块中所有成分结合起来是为了完成一个具体的任务,那么此模块为功能强模块。

功顺通过时辑偶(恭喜顺利通过十级噢)

  • 非直接耦合:两模块无直接关系,他们的联系全靠主程序调控
  • 数据耦合:一个模块访问另一个模块,且被访问模块的输入输出都是数据参数, 不是控制参数,外部数据结构之类的。
  • 特征耦合:两个以上模块都要用到其余某一数据结构的子结构,用记录传递,而不是全局变量
  • 控制耦合:中等强度的耦合,在模块之间传递的是作用控制信号的开关值flag
  • 外部耦合:允许一组模块访问同一个全局变量
  • 公共耦合:允许同一级模块访问同一个全局性数据结构
  • 内容耦合:最强的一类耦合,称为内容耦合,出现下列情况就是内容耦合
    (1)一个模块直接访问另一个模块的内部数据
    (2)一个模块不通过正常入口转到另一模块的内部
    (3)两个模块有一部分程序代码重迭(只可能发生在汇编中)
    (4)一个模块有多个入口

非数特空外公内

模块独立性的衡量标准有两方面:模块本身的内聚和模块之间的耦合。
“高内聚低耦合”

软件体系结构的三要素

  1. 程序构件(模块)的层次结构
  2. 构件之间交互的方式
  3. 数据的结构

软件设计的一个目标是建立软件的体系结构表示。将这个表示当作一个框架,从事更详细的设计活动。

猜你喜欢

转载自blog.csdn.net/qq_40531479/article/details/108271605
今日推荐