软件工程期末总结

写在前面

作者:夏日
博客地址:https://blog.csdn.net/zss192

文章主要对结构化分析和面向对象分析画图做了下总结并预测了几个简答题。

画图建议:由于画图题基本没有标准答案,一定要看着像那么回事,无明显错误

可结合这位不愿透漏姓名的大佬的总结:软件工程期末概念复习

结构化分析(面向过程分析)

image-20210102230911315

数据流图

image-20210102230702494

画数据流图步骤

  • 第一步:画系统的输入和输出(画出顶层图)
  • 第二步:画系统内部(0层图)
  • 第三步:画加工内部
  • 第四步:重复第3步,直至每个尚未分解的加工都足
    够简单(即不必再分解)

例题1

资格和水平考试的考务处理系统—功能需求

1.对考生送来的报名单进行检查

2.对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站

3.对阅卷站送来的成绩清单进行检查,并根据考试中心制订的合格标准审定合格者

4.制作考生通知单送给考生

5.进行成绩分类统计(按地区、年龄、文化程度、职业、考试级别等分类)和试题难度分析,产生统计分析表

画顶层图

  • 顶层图唯一的加工:软件系统(考务处理系统)
    • 用圆圈表示
  • 确定源或宿:考生、阅卷站和考试中心
    • 用方框表示
  • 确定数据流:系统的输入/输出信息
    • 用箭头表示
image-20210102231038003

由此可得出顶层图

image-20210102231136410

画0层图

  • 确定加工(主要看动词,大概有什么功能)
  • 确定数据流
  • 确定文件
  • 确定源和宿(可画可不画,统一下考试不画源和宿)
image-20210102231657785

注意对子系统标序号,注意要有文件

画1层图

关注题目描述中的具体动词,结合0层图的输入输出,看看具体是怎么实现0层图的功能的

考试报名1层图

image-20210102232351962

统计成绩1层图

image-20210102232426342

系统结构图

概要设计:将数据流图映射为软件系统结构图。说明系统结构图要根据数据流图来画。

下面是教材P168的两个例子

341162393

webwxgetmsgimg

实验中例子

助记:方框带圈箭头画结构

左输入、右输出、中间做处理

方框箭头从上到下,数据流从最左到最右,中间既可上也可下

img

面向对象分析

用例描述

PPT模板

img

实验中分配宿舍用例

助记:即这个用例:叫什么(用例名)、是什么(用例描述)

谁来参与(参与者)、怎么参与(基本路径)、参与前要怎么样(前置条件)、参与后又会怎么样(后置条件)

出错了怎么办(其它路径)

image-20210103000955626

用例图

助记:包含拓展用英语,特例小三角箭头

image-20210108152957239

1.PPT用例图(第八九讲-P32) 92页还有个例子

image-20210103001120881

image-20210107005740882

2.实验用例图

助记:几个小人一个框,圆圈里面放动作

img

类图

image-20210107075837195

image-20210107075947296

image-20210107080154033

1.实验中分配宿舍类图

抓住三个方面:界面是什么?方法是什么?用到了哪些数据?

img

2.PPT中开户类图(第八九讲P86)

image-20210103000619089

顺序图

image-20210107080154033

助记:界面要倒"T",数据要落地,转着圈的做动作

image-20210107005125795

image-20210107010427599

分配宿舍顺序图

助记:从左到右转个圈,一步一序号,一步一动作

左人物、右界面、动作数据"乱序"放。去时实线来时虚

img

image-20210107010052052

知识点

image-20210107002007712

image-20210107003941912

预测简答题

1.什么是软件?什么是软件危机?

答:软件:软件=程序+文档+数据

  • 程序是按事先设计的功能和性能要求执行的指令序列
    程序=算法+数据结构
  • 数据是指程序初始化数据、测试数据、以及研发数据、维护数据等
  • 文档是与程序开发、维护和使用有关的图文材料

软件危机:指在软件的开发和维护过程中所遇到的一系列严重问题。典型表现是开发成本高,周期长,质量差,满足不了市场需求

2.什么是软件工程?什么是软件过程?

答:软件工程:软件工程是将系统化规范化可度量的方法应用于软件开发、运行和维护过程,即将工程化应用于软件中的方法的研究。是将计算机科学、管理科学等理论运用于指导软件开发与维护的一门交叉学科。

软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤

3.软件生命周期主要包括哪些阶段?请简要说明各阶段的主要任务

答:
1、问题定义:要解决的问题是什么

2、可行性分析:对于上一阶段的问题有行得通的解决办法吗

3、需求分析:目标系统必须做什么

4、概要设计:概括的说应该怎么实现这个系统,确定系统功能及模块结构

5、详细设计:具体怎么实现这个系统,确定每个模块的算法和使用结构

6、编码和单元测试:在前面阶段的基础上写出正确的代码并对每个模块进行测试

7、综合测试:通过各种测试和调试,发现系统可能存在的缺陷

8、运行维护:保证软件正常运行

软件生命周期:软件产品从考虑其概念开始到交付使用,直至最终退役为止的整个过程

分三类则为:

  • 软件定义:确定待开发的软件系统要做什么,又称为系统分析。可进一步划分为问题定义,可行性研究,需求分析3个阶段

  • 软件开发:具体设计和实现软件。分为概要设计,详细设计,编码和单元测试、综合测试4个阶段,前两个统称为系统设计,后两个统称为系统实现

  • 运行维护:是根据软件运行中的问题,对其进行修改,使系统能持久的满足用户需求

4.比较面向对象开发方法与结构化开发方法的异同?

答:结构化方法的最大特点是面向功能分解问题。但由于处理与数据是分离的,并且在设计阶段与分析阶段采用不同的模型。

  • 优点是:简单、实用,适合于瀑布模型,易于为开发者掌握,特别适合于数据处理领域中的应用。

  • 缺点是:对于规模大、复杂的项目不太适应;难以解决软件重用,难于适应需求变化,难以解决维护问题。

面向对象方法以最稳定的对象与类系统作为考虑问题的出发点,通过不断反复、累增,逐步改进系统,从而更易获得符合用户需求、简单可靠、适应性强的系统。面向对象方法强调对象结构,而不是程序结构,从而解决了抽象和重用问题,成为当今的主流模式。

5.什么是黑盒测试?什么是白盒测试?

答:黑盒测试:完全不考虑程序的内部结构和处理过程,只知道软件产品应该具有的功能,通过测试检验每个功能是否都能正常使用。又称为功能性测试或行为测试。
白盒测试:有时称为透明盒测试,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行

**静态测试:**是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
**动态测试:**是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能。

6.说明软件测试和调试的目的有何区别?
答:测试的目的是判断和发现软件是否有错误

调试的目的是定位软件错误并纠正错误

7.分析软件危机产生的主要原因有哪些?

答:(1)软件日益复杂和庞大 (2)软件开发管理困难和复杂 (3)软件开发技术落后

(4)开发工具落后 (5)生产方式落后 (6)软件开发费用不断增加

助记:一个增加、俩复杂、仨落后

  • 20
    点赞
  • 118
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值