软件工程 第二次作业
- 格式:doc
- 大小:27.50 KB
- 文档页数:3
软件工程第二次作业软件案例分析(二)引言概述:本文旨在对软件案例进行分析,总结出其中的关键点,从而提供给读者对软件工程的实践经验。
本文分为五个大点进行阐述,包括需求分析、设计和实现、测试和验证、维护和部署以及总结。
需求分析:1. 理解案例需求:仔细研读软件案例的背景和目标,明确软件所要解决的问题。
2. 分析用户需求:采取访谈、调查问卷等方法,了解目标用户的实际需求和期望。
3. 提取功能需求:将用户需求转化为具体的功能需求,并进行优先级排序。
4. 确定非功能需求:除了功能需求,还需要考虑性能、安全、可靠性等非功能需求。
5. 确定需求文档:撰写详细的需求规格说明书,以便于后续的设计和开发工作。
设计和实现:1. 架构设计:根据需求分析结果,确定合适的软件架构模式,并进行系统分解和模块划分。
2. 模块设计:根据架构设计,进一步细化模块的功能和接口,确定模块之间的通信方式。
3. 编码实现:根据设计文档,采用适当的编程语言和开发工具,完成软件的编码工作。
4. 代码测试:编写和执行单元测试用例,检验代码的正确性和健壮性。
5. 集成测试:将各个模块进行集成,并进行系统级别的测试,确保系统的功能和性能要求。
测试和验证:1. 测试计划:制定详细的测试计划,明确测试目标、策略和方法。
2. 单元测试:针对每个模块编写测试用例,并进行单元测试,确保模块的功能正确。
3. 集成测试:将各个模块进行集成测试,测试系统的功能和接口是否正常。
4. 系统测试:对整个系统进行全面测试,包括功能、性能、安全等各个方面。
5. 验证与确认:通过测试结果验证系统是否满足需求,并进行用户确认,是否满足用户期望。
维护和部署:1. 软件交付:将软件部署到生产环境中,并进行系统的安装和配置。
2. 问题修复:及时响应用户的问题反馈,进行故障排查和修复。
3. 功能扩展:根据用户需求和市场变化,对软件进行功能的增加和改进。
4. 性能优化:监控系统性能,进行性能优化,提升软件的响应速度和稳定性。
2011年春季学期软件工程第二次作业一、单项选择题(本大题共60分,共 60 小题,每小题 1 分)1. 为高质量地开发软件项目,在软件结构设计时,必须遵循( )原则A. 信息隐蔽B. 质量控制C. 程序优化D. 数据共享2. ()方法是一种用例驱动的开发方法A. OOSEB. BoochC. OOA/OODD. OMT3. 作为确认测试阶段的测试基础的文档应该是( )A. 设计说明书B. 开发计划C. 需求规格说明书D. 源程序4. 软件设计阶段的文本可为()。
A. 需求规格说明书B. 用户手册C. 设计规格说明书D. 可行性分析报告5. 过程设计与概要设计衔接的图形工具是()A. DFDB. PADC. SCD. ER6. 软件工程中,只根据程序的功能说明二不关心程序内部逻辑的测试方法,称为()测试。
A. 白盒法B. 灰盒法C. 黑盒法D. 综合法7. 在软件维护中,因增加数据库或通信协议而进行的维护属于( )A. 完善性维护B. 适应性维护C. 纠错性维护D. 预防性维护8. SD设计方法属于( )A. 面向数据流的设计B. 面向数据的设计C. 面向结构的设计D. 面向对象的设计9. 下列选项中( )不是消息的组成元素之一A. 发出消息的对象B. 接收消息的对象C. 消息名D. 消息参数10. 源程序文档化要求在每个模块之前加序言性注释.该注释内容不应有( )A. 模块的功能B. 语句的功能C. 模块的接口D. 开发历史11. 在下述哪一种测试中,测试人员必须接触到源程序()。
Ⅰ功能测试Ⅱ结构测试A. 均不需B. 只有ⅠC. 只有ⅡD. Ⅰ和Ⅱ12. 选择结构的复杂性比顺序结构的复杂性要()。
A. 小B. 大C. 相等D. 无法比较13. 软件过程成熟度是指一个特定软件过程被明确和有效定义、管理、度量和( )的程度A. 软件B. 控制C. 时间D. 性能14. 模块内聚度越高,说明模块内各成分彼此结合的程度越()。
《软件工程》在线作业2附满分答案
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.软件需求分析的任务不应包括()。
A.问题分析
B.信息域分析
C.结构化程序设计
D.确定逻辑模型
答案:C
2.程序流程图中的箭头代表()。
A.数据流
B.控制流
C.顺序流
D.调用
答案:B
3.在结构化分析方法(SA),与数据流图配合使用的是()。
A.网络图
B.实体联系图
C.数据字典
D.程序流程图
答案:C
4.选择程度设计语言的关键因素是()。
A.软件应用领域
B.软件执行环境
C.软件开发方法
D.算法和数据结构
答案:D
5.进行需求分析可使用多种工具,但()是不适用的。
A.数据流图
B.判定表
C.PAD图
D.数据词典
答案:C
更多加微 boge30619
6.软件测试是软件质量保证的重要手段,下述()是软件测试的最基础环节。
A.功能测试
B.单元测试
C.结构测试。
软件工程学2015年下半年第二次作业一、简答题1、模块设计准则答:1、改进软件结构提高模块独立性(低耦合高内聚)2、模块规模要适中3、深度、宽度、扇入及扇出要适当4、设计单入口单出口的模块5、模块功能应该可以预测6、降低接口的复杂性7、模块的作用域应该在控制域之内2、总体设计的任务答:1、设计系统的物理实现方案2、设计软件的整体结构,划分程序功能模块,决定模块间的接口关系和传递信息;3、设计系统全局的存贮数据结构4、设计系统I/O的方式和格式;5、设计系统安全性、出错处理及代码等6、设计组装测试计划。
二、选择题1、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。
它从用户界面的开发入手,首先形成(B),用户(C),并就(D)提出意见,它是一种(E)型的设计过程。
供选择的答案:A:①需求不确定性高的②需求确定的③管理信息④决策支持B:①用户界面使用手册②用户界面需求分析说明书③系统界面原则④完善的用户界面C:①改进用户界面的设计②阅读文档资料③模拟用户界面的运行④运行用户界面原型D:①同意什么和不同意什么②使用和不使用哪一种编程语言③程序的结构④执行速度是否满足要求E :①自外向内②自顶向下③自内向外④自底向上答:A.① ; B. ③; C. ④; D. ①; E. ①2、从下面关于程序编制的叙述中,选出3条正确的叙述。
①在编制程序之前,首先必须仔细阅读给定的程序说明书。
然后,必须如实地依照说明书编写程序。
说明书中常会有含糊不清或难以理解的地方。
程序员在作业时应该对这些地方做出适当的解释。
②在着手编制程序时,重要的是采用既能使程序正确地按设计说明书进行处理,又易于找出错误的编写方法。
③在编制程序时,重要的是采用既能使程序正确地按设计说明书进行处理,又易于出错的编写方法。
④考虑到以后的程序变化,为程序编写完整的说明书是一项很重要的工作。
只要有了完整的程序说明书,既使程序的编写形式难以让人看懂也没有什么关系。
一、图示给出一个程序的流程图。
图中增加了一些虚线构成的框,目的是便于理解控制结构的嵌套关系。
显然,这个流程图所描述的程序是结构化的,请将它化为等价的PAD图和N-S图(即盒图)。
PAD图N-S图(即盒图)二、某公司为本科以上学历的人重新分配工作,分配原则如下:1)如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;2)如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;3)如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。
要求:画出分析过程,得出判定表,并进行化简。
然后,计算组合数三、请对如下的程序流程图进行四种白盒测试,要求: (1) 满足语句覆盖但不满足其它任何覆盖;(2) 满足判定覆盖但不满足条件覆盖;(3) 满足条件覆盖但不满足判定覆盖和语句覆盖; (4) 满足判定/条件覆盖;(1) 满足语句覆盖但不满足其它任何覆盖;为使程序中每个语句至少执行一次,只需设计一个能通过路径ace 的例子就可以了,例如选择输入数据为: “A=2,B=0,X=3” 就可达到“语句覆盖”标准, 由于A 始终大于2(2) 满足判定覆盖但不满足条件覆盖;为使程序能通过路径ace 和abd ,或者通过路径acd 和abe ,就可达到“判定覆盖”标准,为此,可以选择输入数据为: A=4,B=0,X=1 (沿路径acd 执行); 和 A=2,B=1,X=2(沿路径abe 执行),(3) 满足条件覆盖但不满足判定覆盖和语句覆盖;因为程序有四个条件: A >1、 B=0、A=2、X >1, 为了达到“条件覆盖”标准,需要执行足够的测试用例使得在a 点有: A >1、A ≤1、B=0、B ≠0 等各种结果出现,以及在b 点有: A=2、A ≠2、X >1、X ≤1 等各种结果出现。
但是由于a 中A >1和b 中A=2,a 中A ≤1和b 中A≠2可以同时满足,所以现在只需设计以下两个测试用例就可满足这一标准:A=2,B=1,X=6 ((4)四、教科书的读后感,要求对某一个问题能深入地进行探讨。
1.某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
请画出此系统的数据流图。
2某航空公司拟开发一个机票预定系统。
旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。
请画出此系统的数据流图。
3.某医院打算开发一个以计算机为中心的患者监护系统,医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况,以形成患者日志。
当某个病人的生理信号超出医生规定的安全范围时,向值班护士发出警告信息。
此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。
数据流图。
吉大20春学期《软件工程》在线作业二-0001参考答案
吉大20春学期《软件工程》在线作业二-0001
试卷总分:100 得分:100
一、多选题(共3 道试题,共12 分)
1.下面属于在需求分析阶段的图形工具的是()
A.数据流图
B.层次方框图
C.IPO图
D.I-O图
答案:ABC
2.下面哪些属于数据字典的元素()
A.数据流
B.数据存储
C.处理
D.数据对象
答案:ABC
3.下面属于成本估计()
A.代码行技术
B.任务分解技术
C.自动估计成本技术
D.投资回报率
答案:ABC
二、判断题(共7 道试题,共28 分)
4.软件中文档可有可无()
答案:错误
5.软件系统的本质是信息处理系统()
答案:正确
6.白盒测试方法又称为功能测试()
答案:错误
7.尽量使用数据耦合,多用控制耦合和特征耦合()
答案:错误
8.单元测试集中检测软件设计的最小单元-模块()
答案:正确
9.在软件设计中应该追求尽可能松散耦合的系统
答案:正确
10.画数据流图的基本目的是利用它作为交流信息的工具()。
软件⼯程基础第⼆次作业git地址git⽤户名Tracerlyh学号后五位61215博客地址作业链接熟悉使⽤⼯具part 1:环境配置过程1、Visual Studio 2017的安装本次作业使⽤的编译器是Visual Studio 2017。
Visual Studio 2017/64位压缩包下载百度⽹盘:提取密码:srpx由于之前电脑已经安装了该编译器,所以在这就跳过我⾃⼰的安装过程。
附上以前安装时参照的安装教程链接:2、⽤Visual Studio 2017编写c++程序步骤1:打开Visual Studio 2017后点击⽂件----点击新建----点击项⽬(也可以在打开Visual Studio 2017后按快捷键Ctrl+Shift+N)步骤2:选择Visual C++下的Windows 桌⾯,选择Windows 控制台应⽤程序,然后在项⽬名称⼀栏输⼊项⽬名称,在这⾥我选择的名称是C++测试2,然后选择的项⽬存储的路径,我选择的是F:\c++未整理\,最后点击确定。
出现如下界⾯:步骤3:右键点击源⽂件-----点击添加-----点击新建项(快捷键为:Ctrl+Shift+A)然后就。
开始你的C++编程之旅吧。
如果需要使⽤其他语⾔只需要安装相应的扩展包就⾏了。
3、git软件的安装与使⽤参考的git的下载及安装教程:教程中给出的适⽤于Windows系统的Git For Windows下载地址::Git for windows(也叫做 msysGit)的使⽤在将在Part 3详细讲解。
part 2:代码设计与实现题⽬简述:制作⼀个程序,能根据⽤户输⼊的数字⽣成等数量的四则运算题⽬,数字为100以下,不允许出现分数(⼩数)和负数,运算符为2或者3个,并将题⽬和答案写⼊到subject.txt中。
代码设计:⼤致结构将产⽣随机的运算符的操作封装成函数char Getachar()。
函数中利⽤了⼀个switch语句,将随机数翻译成设计的相对应的运算符并返回char Getachar()//返回⼀个运算符{int i = rand() % 4;switch (i){case 0:return '*'; break;case 1:return '/'; break;case 2:return '+'; break;case 3:return '-'; break;default:break;}}将⽣成四则运算并计算其值,将四则运算表达式和答案写⼊⽂件的操作封装成了⼀个函数void TheFourSpecies(int num),利⽤C++中的随机数函数产⽣伪随机数,将系统时间设置为产⽣伪随机数的种⼦,并将产⽣的随机数对100取余得到0-100范围内的随机数,赋值给在四则运算中的操作数。
第二次作业第一题选择题1.在软件开发模型中,提出最早,应用最广泛的模型是(A)A,瀑布B,螺旋C,演化D,智能2.软件工程方法是在实践中不断发展着的,而早期的软件工程方法一般是(B)A,原型化方法B,结构化方法C,面向对象方法D,功能分解法3.下列关于瀑布模型的描述正确的是(D)A,利用瀑布模型,如果发现问题修改的代价很低B,瀑布模型的核心是按照软件开发的时间顺序将问题简化C,瀑布模型具有良好的灵活性D,瀑布模型采用结构化的分析与设计方法,将逻辑现实与物理现实分开4.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统A,需求不确定性高的B,需求确定的C,管理信息D,实时5.软件开发瀑布模型中的软件定义时期各个阶段依次是(A)A,问题定义,可行性研究,需求分析。
B,可行性研究,问题定义,需求分析C,可行性研究,需求分析,问题定义D,以上都不对6.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象是(C)的一种表现A,软件工程B,软件周期C,软件周期D,软件生产7.快速原型模型的主要特点之一是(D)A,开发完毕才见到产品B,及早提供全部完整的软件产品C,开发完毕后才见到工作软件D,及早提供工作软件8.软件工程中常用的生命周期模型有(C)等A,瀑布模型,快速原型模型,增量模型,螺旋模型和喷泉模型B,瀑布模型,快速循环模型,扩展模型,螺旋模型和敏捷模型C,瀑布模型,快速循环模型,增量模型,螺旋模型和喷泉模型D,瀑布模型,快速原型模型,增量模型,螺旋模型和敏捷模型9.软件工程方法是在实践中不断发展着的方法,而早期敌敌畏软件工程方法常用模型不包括(B)A,瀑布模型B,敏捷模型C,原型模型D,螺旋模型10.软件开发瀑布模型中的各个阶段依次是(D)A,设计,分析,实现,测试,维护B,分析,设计,测试,实现,维护C,分析,设计,实现,维护,测试D,分析,设计,实现,测试,维护第二题判断题1.一个优秀的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
1.请描述快速原型过程模型的各个阶段
1.快速分析
在分析人员与用户密切配合下,迅速确定系统的基本需求,根据原型所要体现的特征描述基本需求以满足开发原型的需要。
构造原型
在快速分析的基础上,根据基本需求说明尽快实现一个可行的系统。
这里要求具有强有力的软件工具的支持,并忽略最终系统在某些细节上的要求,如安全性、坚固性、例外处理等等,主要考虑原型系统能够充分反映所要评价的特性,而暂时删除一切次要内容。
运行原型
这是发现问题、消除误解、开发者与用户充分协调的一个步骤。
评价原型
在运行的基础上,考核评价原型的特性,分析运行效果是否满足用户的愿望,纠正过去交互中的误解与分析中的错误,增添新的要求,并满足因环境变化或用户的新想法引起的系统要求变动,提出全面的修改意见。
修改
根据评价原型的活动结果进行修改。
若原型未满足需求说明的要求,说明对需求说明存在不一致的理解或实现方案不够合理,则根据明确的要求迅速修改原型
2.对于下列项目,分别该用那个过程模型。
并分析原因。
1)在一种新型机器上,为一种已知语言开发一个普通的编
译器。
瀑布模型:因为瀑布模型的特点是具有顺序性,一个阶段的开始是以上一阶段工作作为基础的,编译器;
而且它的成本低技术成熟悉。
2)给火车站开发一个交互式火车车次查询系统,这是火车
站首次使用该系统。
螺旋:因为螺旋模型的特点是,它是一个大型系统,而且是首次使用;它对安全性,可靠性要求很高,净室模型符合;要求精确性;风险一步步加大
3)一个通用CAD软件产品,产品需求是逐步完善的,某
些需求在一定范围内是明确的,某些需求需要进一步细化,但是迫于市场竞争的压力产品需要尽快上市。
增量模型:因为增量模型的特点是每次提交一个满足用户需求子集的增量构件,产品规模逐渐扩大,CAD软件产品需求是逐步完善的,某些需求需要进一步细化;而且CAD 产品需要尽快上市增量模型能在短时间内向用户提交所需产品。
4)一个汽车防抱死刹车控制系统。
瀑布
5)某公司开发企业管理ERP 系统,包括销售、库存、生产、
财务、物流、人力资源等部分,在系统实施过程中不同的企业具有一定的需求差异。
增理模型及构件模型组合:属于大型系统;该系统由构件组成;由于各个企业要求有差异,但有可重复利用的构件,所有构件集成模型符
合;三种模型成本低;系统开发具有开放性特征,符合
增量模型要求。
3. 某大学准备开发一个新的学生注册选课系统,以替换一个现有的系统。
请设计一个适用于该系统开发的过程模型,并进一步描述该模型。
增量模型和构件集成模型结合使用:增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。
虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的;而且此系统是替换一个现有的系统,有构件组所以用到构件集成模型。
4. 请举例说明不同的过程模型组合使用的情况。
一个企业管理系统,企业包含很多部门,因此用到构件集成模型;大型系统而且要求成本低有顺序,用到增量模型。