软件工程第三次作业
电大软件工程作业3
![电大软件工程作业3](https://img.taocdn.com/s3/m/066ae2c158f5f61fb7366683.png)
软件工程作业3一、选择题1.结构化语言是介于自然语言和形式语言之间的一种(D)。
A.半形式语言B.计算机语言 C.低级语言D.高级语言2.程序设计语言的技术特性不应包括(C)。
A、数据结构的描述性B、抽象类型的描述性C、数据库的易操作性D、软件的可移植性3.程序的三种基本控制结构是(B)。
A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移4.结构化程序设计主要强调的是(D)。
A.程序的规模B.程序的效率C.程序设计语言的先进性 D.程序易读性5.下列关于功能性注释不正确的说法是(B)。
A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B.注释用来说明程序段,需要在每一行都要加注释C.可使用空行或缩进,以便很容易区分注释和程序D.修改程序也应修改注释6.下列关于效率的说法不正确的是(D)。
A.效率是一个性能要求,其目标应该在需求分析时给出B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法C.效率主要指处理机时间和存储器容量两个方面D.程序的效率与程序的简单性无关7.结构化维护与非结构化维护的主要区别在于(B )。
A.软件是否结构化B.软件配置是否完整C.程序的完整性D.文档的完整性8.关于JAVA语言下列说法不正确的是(B)。
A.跨平台的B.动态指针C.解释型的D.面向对象的9.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。
A程序内部逻辑 B.程序复杂结构C.使用说明书D.程序的功能10.确认测试主要涉及的文档是(A)。
A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序11.测试的关键问题是(D)。
A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例12.黑盒测试在设计测试用例时,主要研究(A)。
A.需求规格说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明13.下面哪些测试属于黑盒测试(B)。
北语22秋《软件工程》作业3-学习答案
![北语22秋《软件工程》作业3-学习答案](https://img.taocdn.com/s3/m/6e5ad2bf50e79b89680203d8ce2f0066f5336403.png)
北语22秋《软件工程》作业3试卷总分:100 得分:100一、单选题 (共 10 道试题,共 50 分)1.程序的三种基本控制结构的共同特点是[A.选项]不能嵌套使用[B.选项]只能用来写简单程序[C.选项]已经用硬件实现[D.选项]只有一个入口和一个出口本题参考选择是:D2.软件维护的副作用主要有以下哪几种()[A.选项]编码副作用数据副作用测试副作用[B.选项]编码副作用数据副作用调试副作用[C.选项]编码副作用数据副作用文档副作用[D.选项]编码副作用文档副作用测试副作用本题参考选择是:C3.在下列工具与环境中()属于较早期的CASE。
[A.选项]基于信息工程CASE[B.选项]人工智能CASE[C.选项]结构的基于图形CASE[D.选项]集成的CASE环境本题参考选择是:C4.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。
因此面向对象方法有许多特征,如软件系统是由对象组成的;();对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
[A.选项]开发过程基于功能分析和功能分解[B.选项]强调需求分析重要性[C.选项]把对象划分成类,每个对象类都定义一组数据和方法[D.选项]对既存类进行调整本题参考选择是:C5.在SD方法中全面指导模块划分的最重要的原则是()[A.选项]程序模块化[B.选项]模块高内聚[C.选项]模块低耦合[D.选项]模块独立性本题参考选择是:D6.软件需求规格说明的内容不应包括()。
[A.选项]主要功能[B.选项]算法的详细描述。
软件工程第三次作业(打印验收)
![软件工程第三次作业(打印验收)](https://img.taocdn.com/s3/m/a7630e12c281e53a5802ff47.png)
优购商城网站(卖衣服)该网站主要有如下功能:会员登陆、查询、购买、评论。
1、会员登陆界面(Login.aspx)如下图所示:1.1账户名或密码错误提示页面如下:前台关键代码如下:Login.aspx :<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Bonnet.Login" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml" ><head runat="server"><title>登录页面</title></head><body><form id="frmLogin" runat="server"><div><p align="center"><span style="font-size: 11pt; color: #ff0000"><B>用 户 登 录</B><br /><br />用户姓名: <asp:TextBox ID="txtUserName" runat="server"Width="139px"></asp:TextBox><br />用户密码: <asp:TextBox ID="txtPassWord" runat="server"TextMode="Password" Width="139px"></asp:TextBox><br /><br /><asp:Button ID="btnLogin" runat="server" BackColor="Gainsboro"BorderColor="Silver"BorderStyle="Double" ForeColor="Black" OnClick="btnLogin_Click" Text="登 陆" /> <asp:Button ID="btnCancel" runat="server" BackColor="LightGray"BorderColor="DarkGray"BorderStyle="Double" ForeColor="Black" OnClick="btnCancel_Click" Text="取 消" /></span></p></div></form></body></html>后台关键代码如下:Login.aspx .csusing System;using System.Data;namespace Bonnet{public partial class Login : System.Web.UI.Page{#region 【页面初始化】/// <summary>/// 页面初始化/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){this.txtUserName.Text = string.Empty;this.txtPassWord.Text = string.Empty;}}#endregion#region 【登录处理】/// <summary>/// 登录处理/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void btnLogin_Click(object sender, EventArgs e){if (this.txtUserName.Text.Equals("") && this.txtPassWord.Text.Equals("")){Response.Write("<script>alert('用户信息不能为空!');</script>");Response.Write("<script>history.go(-1);</script>");}else if (this.txtUserName.Text.Equals("")){Response.Write("<script>alert('用户名称不能为空!');</script>");Response.Write("<script>history.go(-1);</script>");}else if (this.txtPassWord.Text.Equals("")){Response.Write("<script>alert('用户密码不能为空!');</script>");Response.Write("<script>history.go(-1);</script>");}else{string username = this.txtUserName.Text.Trim();string password = this.txtPassWord.Text.Trim();string strSql = "SELECT * FROM t_Login WHERE username = '" + username + "' AND password = '" + password + "'";DataTable dt = SqlHelper.Query(strSql);if (dt.Rows.Count > 0){Session["username"] = username;Session.Timeout = 60 * 24;Response.Write("<script>alert('登陆成功!');</script>");Response.Redirect("Main.aspx");}else{Response.Write("<script>alert('账户信息错误!');</script>");}}}#endregion#region 【取消处理】/// <summary>/// 取消处理/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void btnCancel_Click(object sender, EventArgs e){this.txtUserName.Text = string.Empty;this.txtPassWord.Text = string.Empty;}#endregion}}主页运行效果如图所示:1.点击”卫衣”节点时运行效果如下图所示:2.点击”绒帽”节点时运行效果如下图所示:3.点击”男士卫衣”节点时运行效果如下图所示:4.点击”女士卫衣”节点时运行效果如下图所示:5.点击”男士绒帽”节点时运行效果如下图所示:6.点击”女士绒帽”节点时运行效果如下图所示:前台关键代码如下:main.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Main.aspx.cs" Inherits="Bonnet.Main" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml" ><head runat="server"><title>优购商城</title><meta name="魏万通、王伟" content="优购商城" /><style type="text/css">#main{width:780px;height:700px; background-color:#FFFFFF; }#left_m{width:150px; background-color:#FFFFFF; float: left;}#right_m{width:600px; background-color:#FFFFFF; float:right;}.clear{clear:both}img {border:0;}.style1{height: 2px;width: 131px;}.style2{height: 11px;width: 131px;}.style3{height: 9px;width: 131px;}.style4{height: 2px;width: 63px;}.style5{height: 11px;width: 63px;}.style6{height: 9px;width: 63px;}</style></head><body><form id="frmMain" runat="server"><div id="main"><div id="left_m"><asp:TreeView ID="tvCategory" runat="server"onselectednodechanged="tvCategory_SelectedNodeChanged"></asp:TreeView> </div><div id="right_m"><asp:DataList ID="dlProduct" runat="server" DataKeyField="productId" RepeatColumns="2" RepeatDirection="Horizontal"><ItemTemplate><table><tr><td rowspan="4" style="width: 29px"><a href='ProductDetail.aspx?productid=<%#Eval("productId") %>' target="_blank"><img src='<%#Eval("imageurl")%>'alt='<%#Eval("productName") %>' style="width: 100px; height: 130px" /></a></td><td class="style4"><span style="color: #0033ff">名称:</span></td><td class="style1"><%#Eval("productName") %></td></tr><tr><td class="style5"><span style="font-size: 11pt; color: #0000cc">价格:</span></td><td class="style2"><span style="color: #ff0066"><%#Eval("price") %>元</span></td></tr><tr><td class="style6"><span style="font-size: 11pt; color: #0000cc">折扣:</span></td><td class="style3"><span style="color: #ff0066"><%#Eval("discount") %>折优惠</span></td></tr><tr><td colspan="2" style="height: 39px;"><span style="border-right: #00cc00 1px solid; border-top: #00cc00 1px solid; font-size: 11pt;border-left: #00cc00 1px solid; border-bottom: #00cc00 1px solid"><a href='Cart.aspx?productId=<%#Eval("productId") %>'>立即购买</a></span></td></tr></table><br /></ItemTemplate></asp:DataList><asp:LinkButton ID="lbtnFirstPage" OnClick="lbtnFirstPage_Click" runat="server">首页</asp:LinkButton> <asp:LinkButton ID="lbtnPrevPage" OnClick="lbtnPrevPage_Click" runat="server">上页</asp:LinkButton>【<font color="red" face="Consolas"><asp:Label ID="lblPageIndex"runat="server"></asp:Label></font> / <font color="green" face="Consolas"><asp:Label ID="lblPageCount"runat="server"></asp:Label></font>】<asp:LinkButton ID="lbtnNextPage" OnClick="lbtnNextPage_Click" runat="server">下页</asp:LinkButton> <asp:LinkButton ID="lbtnLastPage" OnClick="lbtnLastPage_Click" runat="server">尾页</asp:LinkButton></div></div></form></body></html>后台关键代码如下:main.aspx.csusing System;using System.Web.UI.WebControls;using System.Data;namespace Bonnet{public partial class Main : System.Web.UI.Page{public static PagedDataSource pds = new PagedDataSource(); // 分页用数据集#region 【页面初始化】/// <summary>/// 页面初始化/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void Page_Load(object sender, EventArgs e){if (!IsPostBack) //只需要加载一次的代码{CategoryBind(); // 分类信息数据绑定pds.AllowPaging = true; // 允许分页pds.CurrentPageIndex = 0; // 设置当前页索引为0,即首页索引为0pds.PageSize = 4; // 单页显示项数ProductBind();}}#endregion#region 【分类信息处理】/// <summary>/// 分类信息数据绑定/// </summary>private void CategoryBind(){Category.Nodes.Clear(); //clear 函数;清除并发队列,销毁所有当前已排入队列的元素。
2022年中央电大《软件工程》平时作业1、2、3、4次及答案
![2022年中央电大《软件工程》平时作业1、2、3、4次及答案](https://img.taocdn.com/s3/m/6f9200871711cc7930b71687.png)
软件工程第1次作业一、填空题(每空2分,共20分)二、单项选取题(将一种对的答案代码填入括号中,每小题3分,共15分) 1.( )是顾客和设计互换最频繁办法。
A. 原型化办法B.瀑布模型办法C. 螺旋模型办法D. 构件组装模型办法2.下列哪个阶段不是软件生存期三个阶段中内容( )。
A. 筹划阶段B.开发阶段C. 编码阶段D. 维护阶段3.下列( )操作产生副作用属于数据副作用。
A. 修改子程序B.局部变量再定义C. 删除标记符D.修改对编辑条件测试4.软件测试目( )。
A. 避免软件开发中浮现错误B.发现软件开发中浮现错误C.尽量发现并排除软件中潜藏错误,提高软件可靠性D.修改软件中浮现错误5.完毕详细设计工具不涉及( )。
A.PAD图B.数据流图C.HlP()图D.程序流程图三、多项选取题(将一种以上对的答案代码填入括号中,每小题3 分,共15分) 1.应从( )等方面研究可行性。
A. 经济可行性B.技术可行性C. 运营可行性D.法律可行性2.对于下列数据流图局部,关于描述中对的是( )。
A. 该图为第一层数据流图3.需求分析阶段结束后,交出文档中应当涉及( )。
A. 数据流图B.数据字典C. 简要算法描述D.项目经费预算4.软件管理工作涉及到直接对象涉及( )。
A. 软件开发人员B.硬件设备C. 项目经费D.软件项目5.在软件设计中,( )耦合应尽量避免。
A. 控制B.数据C.内容 D. 标记四、判断题(对的在括号内打上“√”,错误打上“X”。
每小题2分,共10分)1。
软件危机是指在软件开发和维护过程中遇到一系列严重问题。
( )2,构造化分析办法就是用抽象模型概念,按照软件内部数据传递、变换关系,自顶向下逐级分解,直到找到满足功能规定所有可实现软件为止。
( )3.UML只能应用于软件系统模型建立。
( )4.程序设计语言中应绝对禁止使用GOTO语句。
( ) 5.模块越小,模块长处越大。
( )五、问答题(每小题10分,共20分)1.什么是软件?什么是软件工程?2.什么是编码风格?为什么要强调编码风格?六、分析题(共20分)依照下列N—S图,写出其相应伪码。
大工14秋《软件工程》在线作业3满分答案
![大工14秋《软件工程》在线作业3满分答案](https://img.taocdn.com/s3/m/be3c6c6058fafab069dc0235.png)
正确答案:A
7.要显示描绘软件开发项目各作业的依赖关系,应选择()。
A. Gantt图
B.工程网络
C. COCOMO2模型
D. COCOMO模型
?
正确答案:B
8.面向对象技术中的()是比较理想的可重用软构件。
A.子程序库
B.源代码包含文件
C.对象
D.类
?
正确答案:D
9.软件部件的内部实现与外部可访问性的分离,是指软件的()。
A.错误
B.正确
?
正确答案:B
5.面向对象实现主要包括两项工作:把面向对象设计结果翻译成用某种程序语言书写的面向对象程序;测试并调试面向对象的程序。()
A.错误
B.正确
?
正确答案:B
6.通常下层的派生类自动具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承。()
A.错误
B.正确
?
正确答案:B
B.正确
?
正确答案:B
2.人们把客观世界中的实体抽象为问题域中的对象(object),比如一家由多名雇员组成的公司,这个公司就是唯一的对象,因此对象是固定的。()
A.错误
B.正确
?
正确答案:A
3.如果对象之间的耦合通过消息连接来实现,则这种耦合就是继承耦合。()
A.错误
B.正确
?
正确答案:A
4.所谓优秀设计,就是权衡了各种因素,从而使得系统在其整个生命周期中的总开销最小的设计。对大多数软件系统而言,优秀软件设计的一个主要特点就是容易维护。()
大工14秋《软件工程》在线作业3
一,单选题
1.在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是()。
国开电大软件工程形考作业3参考答案
![国开电大软件工程形考作业3参考答案](https://img.taocdn.com/s3/m/0c114a28e45c3b3567ec8be4.png)
答案见后几页
形考作业3:基于UML的大学图书馆图书信息管理系统设计实验
一、实验内容说明
对实验2的面向对象分析结果进行系统概要设计和详细设计。
设计系统构架,勾画出整个系统的总体结构,这项工作由全组成员参加,包括主要子系统及其接口,主要的设计类和中间件等系统软件。
设计时要考虑系统的可维护性,以简单为第一原则——简单的类、简单的接口、简单的协议、简单的描述。
使用UML的配置图描述系统的物理拓扑结构以及在此结构上分布的软件元素。
用类图和顺序图对主要用例:借书、还书、处罚进行设计,并对其中的类进行详细说明,包括属性设计和方法设计。
二、实验目的
(1)通过本实验使学生掌握UML建模语言的常用图形,面向对象的设计方法和过程。
特别是熟悉包图、顺序图、配置图和类图的应用。
(2)以小组形式完成本实验,锻炼同学之间的协作和沟通能力、自我学习和管理能力。
(3)学生在实验过程中熟练掌握常用的CASE工具。
三、实验学时
8学时
四、实验步骤
(1)根据实验2画出的系统用例图和需求规格说明书规划系统的物理结构。
(2)组长和小组成员共同协商一份设计规范:设计用的图形符号、字体、大小规范,界面设计规范,用语规范等。
(3)对借书用例、还书用例、处罚用例进行用例设计和类设计。
(4)对借书用例、还书用例、处罚用例使用顺序图设计类之间的消息通信。
(5)编写系统设计规格说明书。
五、实验要求。
第三次作业答案
![第三次作业答案](https://img.taocdn.com/s3/m/e11fa8a0f242336c1fb95e0e.png)
编码:编程就为是用编程 (程序) 语言把软件表达翻译为计算机可以理解的形式 —用某
种程序设计语言书写的程序。
软件测试: 是软件投入运行之前,对软件需求分析、设计规格说明和编码的最终复查,
是软件质量保证的关键步骤。
黑盒测试: 不考虑程序内部结构和处理过程, 只依据软件的需求规格说明书, 检查程序
D.平行测试
】方法需要考察模块间的接口和各模块之间的联系
B.集成测试C.确认测试D.验收测试
】完成。
B.编制该源程序的程序员
D.设计该软件的机构
A.可移植性B.可重用性
2、下列属于功能性注释的是【
A.说明模块的用处和功能的注释
C.说明程序段的注释
3、序言性注释主要内容不包括【
A.模块的接口B.数据的描述
4、功能性注释主要内容不包括【
A.程序段的功能B.语句的功能
5、符合数据说明顺序规范是【D
A.全程量说明、局部量说明、类型说明、
B.全程量说明、局部两说明、常量说明、
目的是保证每个模块作为一个
单元能正确运行,所以模块测试通常又称为单元测试。
集成测试: 把模块按设计要求组装成子系统或系统的过程中的测试。
确认测试:以需求规格说明为基准,验证软件的有效性的测试。
渐增式测试: 在集成测试中, 的模块一个一个地加入进行测试。 当一个模块加入测试完
以后再把下一个应该测试的模块结合进来测试。 这种每次增加一个模块的方法称为渐增式测
的功能是否符合它的功能说明。因此,黑盒测试又称功能测试或数据驱动测试。
白盒测试: 按照程序内部逻辑测试程序。 检查程序中的每条通路是否都能按照预定要求
正常工作。 这种测试完全了解程序的结构和处理过程。
中国石油大学(北京)软件工程第三次在线作业满分答案
![中国石油大学(北京)软件工程第三次在线作业满分答案](https://img.taocdn.com/s3/m/dc1ca91659fb770bf78a6529647d27284b7337d5.png)
第三次在线作业单选题(共25道题)收起1.(2.5分)数据流图基本模型反映系统()•A、怎么做•B、对谁做•C、何时做•D、做什么我的答案:D 此题得分:2.5分2.(2.5分)需求分析中开发人员要从用户那里了解()•A、软件做什么•B、用户使用界面•C、输入的信息•D、软件的规模我的答案:A 此题得分:2.5分3.(2.5分)程序的三种基本结构是()•A、过程、子程序和分程序•B、顺序、选择和重复•C、递归、堆栈和队列•D、调用、返回和转移我的答案:B 此题得分:2.5分4.(2.5分)软件复杂性度量的参数包括()•A、效率•B、规模•C、完整性•D、容错性我的答案:B 此题得分:2.5分5.(2.5分)关联是建立()之间关系的一种手段。
•A、类•B、对象•C、角色•D、属性我的答案:A 此题得分:2.5分6.(2.5分)软件工程学的一个重要目标是()•A、提高程序的执行效率•B、降低程序对存储空间的要求•C、定义各种软件开发过程模型•D、提高软件的可维护性我的答案:D 此题得分:2.5分7.(2.5分)软件危机产生的主要原因是()•A、软件日益庞大•B、不能与用户良好地沟通•C、开发人员编写程序能力差•D、没有适应的开发模型我的答案:A 此题得分:2.5分8.(2.5分)需求分析中开发人员要从用户那里了解()•A、软件做什么•B、用户使用界面•C、输入的信息•D、软件的规模我的答案:A 此题得分:2.5分9.(2.5分)以下哪个软件生存周期模型是一种风险驱动的模型()•A、瀑布模型•B、增量模型•C、螺旋模型•D、喷泉模型我的答案:C 此题得分:2.5分10.(2.5分)不属于需求分析的基本任务有()•A、结构化分析•B、问题识别•C、分析与综合•D、编写文档我的答案:A 此题得分:2.5分11.(2.5分)不属于SA的描述工具有()•A、数据流图•B、系统流程图•C、数据字典•D、判定表我的答案:B 此题得分:2.5分12.(2.5分)软件部分的内部实现与外部可访问性分离,这是指软件的()•A、继承性•B、共享性•C、封装性•D、抽象性我的答案:C 此题得分:2.5分13.(2.5分)软件工程的出现是由于()•A、软件危机•B、计算机硬件技术的发展•C、软件社会化的需要•D、计算机软件技术的发展我的答案:A 此题得分:2.5分14.(2.5分)螺旋模型是一种将瀑布模型和哪种模型结合起来的软件开发模型。
软件工程三、四、五次作业(精选五篇)
![软件工程三、四、五次作业(精选五篇)](https://img.taocdn.com/s3/m/bfd51d3bc381e53a580216fc700abb68a982adfa.png)
软件工程三、四、五次作业(精选五篇)第一篇:软件工程三、四、五次作业第三次作业:1、已知某定货系统的需求分析阶段得到的DFD图如下,请按SD 方法的设计步骤画出其程序结构图。
2、某校的课酬计算方案如下:(l)基本课酬为每节课10元;(2)如果班级人数超过40人,课酬增加:基本课酬×0.1;(3)如果班级人数超过60人,课酬增加:基本课酬×0.2;(4)如果教师是副教授,课酬增加:基本课酬×0.1;(5)如果教师是教授,课酬增加:基本课酬×0.2;(6)讲师,课酬不增加;(7)助教,课酬减少:基本课酬×0.1。
请用判定表表达上述计算方案。
第四次作业:1、右图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag了吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序2、一个正文文件由若干个记录组成,每条记录是一个字符串。
要求统计每条记录中大写字母、小写字符以及非字母字符的个数,要求输出数据格式是:每复制一行输入字符串后,输出这个字符串中的大写字母个数、小写字母个数、非字母字符个数。
用Jackson方法,按照步骤,导出该系统的程序结构图。
开始FTgqTpF停止第五次作业1、设计下列伪码程序的语句覆盖和路径覆盖测试用例:START INPUT(A, B, C)IF A>5THEN//判定表达式1X=10ELSEX=1 END IF IFB>10 THEN//判定表达式2Y=20 ELSEY=2 END IF IF C>15THEN//判定表达式3Z=30 ELSEZ=3 END IF PRINT(X, Y, Z)STOP3.假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份:(a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注解)。
2013年9月份考试软件工程第三次作业
![2013年9月份考试软件工程第三次作业](https://img.taocdn.com/s3/m/ff56c8e0e009581b6bd9eb19.png)
2013年9月份考试软件工程第三次作业一、填空题(本大题共24分,共 6 小题,每小题 4 分)1. 软件工程是一门 ______ 学科,像其他工程学科一样需要结合工程学科的理论和思想。
2. Lisp是一种函数型语言, ______ 是一种逻辑性语言。
3. 结构化分析模型的核心是 ______ ,它是系统所涉及的各种数据对象的总和4. 在结构化分析方法中用实体——关系图表达系统中的对象及其关系.在实体——关系图中,表达对象的实例之间的关联有3种类型:一对一联系、 ______ 联系、多对多联系5. 软件原来没有帮助信息,使用不方便,现在要增加帮助信息。
这种维护性活动称之为 ______ 。
6. 在一个强连通的有向图G中,有向图G中的弧数是m,节点数为n,则线性无关环的个数为 ______二、名词解释题(本大题共16分,共 4 小题,每小题 4 分)1. PAD图2. 信息隐藏3. 配置状态报告CSA4. 软件三、简答题(本大题共30分,共 5 小题,每小题 6 分)1. 简述提高软件质量的主要措施。
2. 描述加工逻辑有哪些工具?3. 请简要例举在编码中输出方面应该遵守的指导原则.4. 软件质量与软件质量保证的含义是什么?5. 何谓软件工具?通常包含哪几部分?四、综合题(本大题共30分,共 2 小题,每小题 15 分)1. 构造下述状态图:开始状态时,显示主屛。
用户输入一个查询请求时,进入选择状态,提示用户输入学号,一旦输入一个学号,进入核对状态,若输入的学号不存在或不正确,则取消,若输入学号正确,则进入输课程名状态。
一旦输入课程名,进入检查状态。
如输入不正确,则取消。
若正确,则进入查询状态。
查询成功,进入显示结果状态,若查询失败,则回到选择状态。
在显示结果状态中,若继续查询,则回到选择状态,若结束查询,则回到开始状态。
2. 画出下面用PDL写出的程序的PAD图。
WHILE P DOIF A>0 THEN A1ELSEA2ENDIF S1;IF B>0 THEN B1;WHILE C DO S2;S3ENDWHILE;ELSEB2ENDIF;B3ENDWHILE;答案:一、填空题(24分,共 6 题,每小题 4 分)1.参考答案:工程解题方案:评分标准:2.参考答案:Prolog解题方案:评分标准:3.参考答案:数据字典解题方案:结构化分析模型的核心是数据字典,它是系统所涉及的各种数据对象的总和评分标准:回答出数据字典得2分4.参考答案:一对多解题方案:对象的实例之间的关联有3种类型:一对一联系、一对多联系、多对多联系评分标准:回答出得2分5.参考答案:完善性维护解题方案:评分标准:6.参考答案:m-n+1解题方案:线性无关环的个数=弧点数-节点数+1评分标准:回答出m-n+1得2分二、名词解释题(16分,共 4 题,每小题 4 分)1.参考答案:问题分析图(Problem Analysis Diagram),是一咱算法描述工具,它是一种由左往右展开的二维树型结构.PAD图的控制流程为自上而下,从左到右地执行.解题方案:评分标准:回答出PAD图的定义得5分2.参考答案:设计模块时,模块内部的数据与过程(操作),应该对不需要了解这些数据和过程(操作)的模块隐藏起来解题方案:根据信息隐藏的定义来回答评分标准:回答出信息隐藏的定义得5分3.参考答案:CSA(configuration status accounting),是一种SCM活动,提供已批准了的基线和过程的当前状态,也提供已提出批准的对设计的变更的状态解题方案:根据配置状态报告的定义来回答评分标准:回答出配置状态报告的定义得5分4.参考答案:软件是计算机系统中与硬件相互依存的另一部分,它包括程序,数据及其相关文档.其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料解题方案:根据软件的定义来回答评分标准:回答出软件的定义得5分三、简答题(30分,共 5 题,每小题 6 分)1.参考答案:复审:是在软件生命周期每个阶段结束之前,都采用一定的标准对该段产生的软件配置成分进行严格的正式或非正式的检测。
软件工程第三次作业(2024)
![软件工程第三次作业(2024)](https://img.taocdn.com/s3/m/69bc955e54270722192e453610661ed9ac515553.png)
引言:
软件工程是现代社会中非常重要的一项技术和学科,它研究软件的设计、开发、测试和维护等方面的技术和方法。
本文将探讨软件工程的第三次作业,从五个大点来详细阐述相关内容。
概述:
正文内容:
一、测试的基本概念
1.1测试的概念和定义
1.2测试的基本原则和目标
1.3测试的基本流程和生命周期
二、测试的方法和技术
2.1黑盒测试和白盒测试
2.2静态测试和动态测试
2.3自动化测试和手工测试
2.4单元测试和集成测试
2.5系统测试和验收测试
三、测试用例的设计
3.1功能测试用例设计
3.2边界值测试用例设计
3.3异常情况测试用例设计
3.4性能测试用例设计
3.5安全性测试用例设计
四、测试的工具和环境
4.1常用的测试工具介绍
4.2测试环境的构建和管理
4.3测试数据的准备和维护
4.4测试团队的组织和协作
五、测试的评估和优化
5.1测试评估的指标和方法
5.2缺陷管理和跟踪
5.3测试效率和成本的优化
5.4测试过程的改进和持续集成
5.5测试质量和可靠性的提升
总结:
软件工程的第三次作业涉及到软件测试的基本概念和方法,本文从测试的基本概念、方法和技术、测试用例的设计、测试的工具和环境、以及测试的评估和优化等五个大点进行了详细阐述。
通过充分理解和掌握这些内容,我们可以更好地进行软件测试,提高软
件的质量和可靠性。
同时,在实际的软件开发过程中,我们还需不断积累经验,不断改进和优化测试方法和工具,以提高测试的效率和成本控制。
软件工程实验报告第三次
![软件工程实验报告第三次](https://img.taocdn.com/s3/m/a3356aa4f5335a8102d220d9.png)
实验报告课程名称:软件工程实验名称: 用PowerDesigner 建模工具绘制数据流图班级:________________ 学生姓名:__________________ 学号:______________ 指导老师评定:_______________________________ 签名:____________________ 一、实验环境Windows 2000、Rational Software 公司的Rational Rose 应用软件二、实验目的1)了解Rational Rose工具软件的组成及功能2)掌握用Rational Rose画用例图的具体的使用方法三、实验内容1)设计用例图(Use Case框图)2)用Rational Rose 在Use Case 视图中创建Use Case 框图。
四、实验要求建立一个Use Case框图,并给出预订教室”的用例描述。
1)背景某大学需要一个教室预订系统,将空闲的教室提供给师生做学术报告或班级活动。
师生可使用该系统预订所需的教室,以便让管理员在恰当的时间开放教室、准备好多媒体设备。
2)功能要求2.1)管理员可使用该系统增加用户、删除用户。
2.2)管理员可向系统中增加或删除供预订的教室,设置任一教室可使用的时间段。
2.2)师生可登录系统、修改密码。
2.3)师生在登录后,可浏览给定时间段的空闲(供预订的且未被预订的)教室;选择教室和使用时间段,预订教室。
2.4)管理员可浏览任意时间段内的教室预订情况。
3)性能要求3.1)教室占用的时间段精确到课时”3.2)支持最多10000人同时在线使用系统,确保系统稳定流畅。
五、实验步骤Use Case 框图表示整个机构提供的功能,可以用来回答下列一些问题:公司是干什么的?为什么要建立这个系统?还有那些人使用这些系统。
Use Case框图在业务建模活动期间大量用于设置系统情景和形成创建使用案例的基础。
1)如何使用Rational Rose画Use Case框图S1 :点击开始"在程序"中找到Rational rose "点击Rational Rose Enterprise Edition "进入该软件。
软件工程第三次作业
![软件工程第三次作业](https://img.taocdn.com/s3/m/aa46ac0790c69ec3d5bb75f8.png)
软件工程练习三一、简要回答如下的问题:1、软件设计的基本原理包括哪些内容?解析:1> 模块化。
指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
2>抽象。
是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。
3>信息隐蔽。
是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的4>模块独立性.指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
2、模块间的耦合性有哪几种? 它们各表示什么含义?解析:耦合性有六种:1>无直接耦合:指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。
(耦合性最弱,模块独立性最高)2>数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
(耦合性较低,模块独立性较高)3>标记耦合:指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名和文件名等这些名字即为标记,其实传递的是这个数据结构的地址。
()4>控制耦合:指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能。
5>公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。
6>内容耦合:是最高程度的耦合,也是最差的耦合。
当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部时,这种模块之间的耦合便为内容耦合。
3、模块的内聚性有哪几种? 各表示什么含义?解析:内聚性有六种:1>偶然内聚:指一个模块内的各处理元素之间没有任何联系。
2>逻辑内聚:指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
3>时间内聚:把需要同时执行的动作组合在一起形成的模块为时间内聚模块。
2011年春季学期软件工程第三次作业
![2011年春季学期软件工程第三次作业](https://img.taocdn.com/s3/m/f068e9010622192e453610661ed9ad51f01d54f4.png)
2011年春季学期软件工程第三次作业第一篇:2011年春季学期软件工程第三次作业2011年春季学期软件工程第三次作业一、填空题(本大题共20分,共 20 小题,每小题 1 分)1.风险分析的四个主要活动:风险标识、______、风险评价、风险驾驭和监控。
2.为了便于对照检查,测试用例应由输入数据和预期的______ 两部分组成。
3.有两类维护技术: 在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的 ______ 技术4.在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行的方法称为______ 测试法。
5.我们把支持软件项目的______ ______ ______ 的软件叫做软件开发的工具软件。
6.软件项目管理的对象主要包括 ______。
7.______ 是软件生存周期中时间最长的阶段。
8.结构化设计对数据流有两种分析方法,分别是______ 和______。
9.需求分析阶段产生的最重要文档是 ______ 10.面向逻辑的设计语言代表有 ______ 11.数据流图中的箭头表示 ______。
12.独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条______ 的边的路径。
13.成本效益分析是______ 的主要内容。
14.开发过程管理包括______ 和 ______ 等。
15.项目开发计划通常包括 ______ ______ ______。
16.需求分析的一般步骤包括:需求获取、需求提炼、需求描述和______ 17.结构化分析模型的核心是 ______ ,它是系统所涉及的各种数据对象的总和 18.负责需求分析的软件开发人员称为 ______ 19.静态冗余常用的有:______ 和______。
20.将下列各项分为类或类的实例:(1)我的汽车 ______(2)交通工具 ______二、名词解释题(本大题共20分,共 10 小题,每小题 2 分)1.桩模块2.过程设计语言3.软件工程4.确认测试5.信息隐蔽6.过程7.模块化8.多态性9.功能模型10.软件生存周期三、简答题(本大题共45分,共 15 小题,每小题 3 分)1.软件维护的目标是什么?2.软件重用的效益是什么?3.软件维护是软件生命周期的重要组成,而影响维护的因素较多,除了人员因素、技术因素和管理因素外,还有程序自身的因素,具体影响因素可归纳为:a)软件系统的规模;b)软件系统的年龄;c)软件系统的结构。
软件工程作业3
![软件工程作业3](https://img.taocdn.com/s3/m/10ee6df99e314332396893aa.png)
1、对自己开发的系统进行功能需求的文字说明。
2、某图书管理系统有以下功能
1.借书:输入读者借书证。
系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书文件上建立档案。
否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达到10本,拒借,未达10本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文件)。
2.还书:从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理。
否则,修改库存目录与借书文件。
3查询:可通过借书文件、库存目录文件查询读者情况、图书信阅情况及库存情况,印各种统计表。
请就以上系统功能画出分层的DFD图。
国开电大软件工程形考作业3参考答案
![国开电大软件工程形考作业3参考答案](https://img.taocdn.com/s3/m/f6f99d0330126edb6f1aff00bed5b9f3f80f7272.png)
国开电大软件工程形考作业3参考答案形考作业3:基于UML的大学图书馆图书信息管理系统设计实验实验内容说明本实验旨在对实验2的面向对象分析结果进行系统概要设计和详细设计。
首先,需要设计系统构架,勾画出整个系统的总体结构,包括主要子系统及其接口,主要的设计类和中间件等系统软件。
在设计时要考虑系统的可维护性,以简单为第一原则,即简单的类、简单的接口、简单的协议、简单的描述。
其次,使用UML的配置图描述系统的物理拓扑结构以及在此结构上分布的软件元素。
最后,用类图和顺序图对主要用例:借书、还书、处罚进行设计,并对其中的类进行详细说明,包括属性设计和方法设计。
实验目的通过本实验,学生可以掌握UML建模语言的常用图形,面向对象的设计方法和过程,特别是熟悉包图、顺序图、配置图和类图的应用。
此外,本实验以小组形式完成,可以锻炼同学之间的协作和沟通能力、自我研究和管理能力。
学生在实验过程中还可以熟练掌握常用的CASE工具。
实验步骤1.根据实验2画出的系统用例图和需求规格说明书规划系统的物理结构。
2.组长和小组成员共同协商一份设计规范,包括设计用的图形符号、字体、大小规范,界面设计规范,用语规范等。
3.对借书用例、还书用例、处罚用例进行用例设计和类设计。
4.对借书用例、还书用例、处罚用例使用顺序图设计类之间的消息通信。
5.编写系统设计规格说明书。
实验要求本实验需要4人一组,分工如下:1名组长,负责整个小组的人员安排,工作计划,文档质量,整体项目的协调等工作;2名系统分析员,专门负责需求分析;1名分析员,专门负责系统的验收测试用例。
虽然各有分工,但大家必须协同工作。
使用VISO或XXX nal ROSE工具软件。
各种说明书使用WORD软件。
结果实验结果包括:1.系统配置图及其说明。
2.系统体系结构划分及其说明。
3.借书用例、还书用例、处罚用例的详细设计类图及其属性、方法说明。
4.用顺序图分别对借书用例、还书用例、处罚用例设计类之间的消息通信说明。
软件工程 ( 第3次 )
![软件工程 ( 第3次 )](https://img.taocdn.com/s3/m/24cdda30a5e9856a5712600c.png)
第3次作业软件工程 201603一、填空题(本大题共40分,共 10 小题,每小题 4 分)1. 类图描述的是和之间的关系。
2. 需求分析的一般步骤是调查研究、分析建模、需求描述和()。
3. 测试类的方法主要有_____________、_______________和_________________。
4. 分析工作主要包括3项内容,分别是_____________、_______________和_________________。
5. 把待开发的软件项目与过去已完成的软件项目进行类比,区分出类似的部分和不同的部分,并估算每个不同之处对成本的影响,得出开发项目的总成本。
这种成本估算方法称为。
6. 测试需要考察模块间的接口和各模块之间的联系。
7. UML语义的四层结构分别是:_____________________、_____________________、_____________________和_____________________。
8. 面向对象分析大体按照以下顺序进行:__________________________,__________________________,_______________ ___________,__________________________,__________________________,___ _______________________,__________________________。
9. 编程语言的发展,经历了、、和4个阶段。
10. Jackson方法是一种设计方法,它们的数据元素间逻辑关系有:、和3类。
二、简答题(本大题共30分,共 5 小题,每小题 6 分)1. 从编程风格来看,应该遵循哪些规则?2. 选择编程语言时需要考虑哪些因素?3. 什么是软件工程?4. 指定教材张海藩《实用软件工程》中的“小型二手货交易平台” 的数据流图主要通过三层分解的DFD图描述:顶层数据流图(教材中P58图2-28)、中层数据流图(教材中P58图2-29)、底层数据流图(教材中P59图2-30和图2-31)。
《软件工程与开发》在线作业3答案
![《软件工程与开发》在线作业3答案](https://img.taocdn.com/s3/m/c7ea5b810d22590102020740be1e650e53eacf7c.png)
《软件工程与开发》在线作业3答案软件工程与开发-在线作业3答案本文档将为您提供《软件工程与开发》在线作业3的答案。
问题一问题:在软件开发生命周期中,需求分析的作用是什么?答案:需求分析在软件开发生命周期中起到了至关重要的作用。
它是确定软件系统需求的过程,有助于开发人员理解用户的期望,明确系统功能和性能要求,并为后续的系统设计和开发提供了基础。
通过需求分析,开发人员可以明确开发需求,避免开发过程中的误解和偏差。
问题二问题:软件测试的目的是什么?请简要说明。
答案:软件测试的目的是确保软件系统的质量和可靠性。
通过测试,可以验证软件是否满足需求,发现并纠正软件中的错误和缺陷,确保软件在不同环境下的稳定运行。
软件测试不仅能够提高软件的质量,还能为用户提供高性能、可靠的软件产品。
问题三问题:请说明持续集成的概念和好处。
答案:持续集成是一种软件开发实践,指在代码的不断更新中,将新的代码集成到主干代码中,并进行自动化构建和测试。
持续集成的好处包括:- 提高开发团队的协作效率,减少代码集成过程中的冲突和问题。
- 提供实时的代码集成和测试反馈,帮助开发人员快速发现并解决问题。
- 加快软件交付速度,实现持续部署和快速迭代。
- 提升软件质量,通过自动化测试和集成,降低错误和缺陷的风险。
问题四问题:请简要介绍敏捷开发方法和瀑布开发方法,并指出它们的区别。
答案:敏捷开发方法和瀑布开发方法是两种常用的软件开发方法。
- 敏捷开发方法:采用迭代、循序渐进的方式进行软件开发。
特点是强调团队的协作和灵活性,注重用户参与和反馈。
工作成果需求经常被确认和调整。
以Scrum和Kanban为代表。
- 瀑布开发方法:采用线性的、阶段式的方式进行软件开发。
特点是按照严格的计划和流程进行开发,强调文档和规范性,各个阶段依次进行,开发人员按照严格的计划进行工作。
强调产品设计和需求确认。
两种方法的区别在于开发方式的灵活性和工作流程的确定性程度。
敏捷开发方法更加灵活和适应变化,适用于需求变化频繁的项目;而瀑布开发方法更注重计划和规范性,适用于需求相对稳定的项目。
北交大远程教育-软件工程第三次作业(主观题)
![北交大远程教育-软件工程第三次作业(主观题)](https://img.taocdn.com/s3/m/97e87e2bf5335a8103d22011.png)
软件工程第三次作业(主观题)1.什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。
答:软件生命周期模型是描述软件开发过程中各种活动如何执行的模型4.瀑布模型优点:1)可强迫开发人员采用规范的方法(例如:结构化技术);2)严格地规定了每个阶段必须提交的文档;3)要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
缺点:“瀑布模型是由文档驱动的”在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样子的。
但是通过写在纸上静态的规格说明,很难全而正确的认识动态的软件产品。
适用范围:需求明确,小规模软件开发。
5.快速原型模型优点:软件产品的开发基本上是线性的缺点:必须迅速地构建原型然后根据用户意见循序的修改原型适用范围:用户需求不明确,需要通过构建原型来清楚的了解用户的真实需求。
6.增量模型优点:1)能够在较短的时间内向用户提交可完成部分工作的产品;2)逐步增加产品功能可以使用户有较充裕的时间学习适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
缺点:1)较难把每个新的增量构件集成到现有的软件体系结构中,而又不破坏原来已经开发出的产品。
2)增量模型本身是自相矛盾的,它一方而要求开发人员把软件当做一个整体,另一个方而又要求开发人员把软件构件序列,每个构件本质上都独立于另一个构件,除非开发人员有足够的技术能力协调好这一明显的矛盾,否则增量模型开发出来的产品可能并不能令人满意。
适用范围:软件开发周期较长的软件,有持续的合作。
7.螺旋模型优点:1)对可选方案和约束条件的强调有利于已有软件的重用,也有利于把软件质量作为软件开发的一个重要目标;2)减少了过多测试(浪费资金)或者不足(产品故障多)所带来的风险;a),在螺旋中维护的只是模型的另一个周期,在维护和开发之间没有本质的区别;缺点:除非软件开发人员具有丰富的风险评估经验和这方而的专门知识,否则将出现真正的风险,当项目实际上正在走向灾难时,开发人员可能还认为一切正常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. Describe the principle of information hiding as it applies to software design.
Answer (Section 9.3):
The principle of information hiding implies that modules only share information with each other on a "need to know" basis to achieve some specific software function. Hiding enforces the procedural constraints to both the module procedural detail and any data structures local to the module.
2. List the four design models required for a complete specification of a software design and the role of each.
Answer (Section 9.4):
Data design - high level model depicting user’s view of the data or information.
Architecture design –shows relationships and collaborations among specific analysis model software and hardware elements
Interface design - interface depicts a set of operations that describe the externally observable behavior of a class and provides access to its operations
Component-level design - Describes the internal detail of each software component
3. How is a transaction center different from a transform center in a data flow diagram?
Transaction centers convert an external information flow into one of many action paths inside the system. Transform centers map the incoming external information into outgoing external world information.
4.Describe the types of dependencies that can exist in an architectural design
•Sharing dependencies - represent the dependence relationships among consumers whose use the same source or producers who have the same consumers.
•Flow dependencies - represent dependence relationships between producers and consumers of resources
•Constrained dependencies - represent constraints on the relative flow of control among
a set of activities
5.What are the steps used to complete the component-level design for a software development project?
•Identify all design classes that correspond to the problem domain.
•Identify all design classes that correspond to the infrastructure domain.
•Elaborate all design classes that are not acquired as reusable components.
•Identify persistent data sources (databases and files) and identify the classes required to manage them.
•Develop and elaborate behavioral representations for each class or component.
•Elaborate deployment diagrams to provide additional implementation detail.
•Factor every component-level diagram representation and consider alternatives.
6. Describe the differences between the software engineering terms coupling and cohesion? Cohesion implies that a component or class encapsulates only the attributes and operations closely related to one another and to the class itself. Coupling is a qualitative measure of the degree to which components are connected to one another.。