惠州学院软件工程作业SE1
惠州学院 软件工程导论 第二章__可行性研究 刘宇芳
第二章可行性研究一、可行性研究的任务可行性研究就是确定问题是否值得去解。
可行性研究工作是在初步的需求定义(澄清问题的定义)之后进行的,其的目的是用最小的代价在尽量短的时间内(总成本的5%~10%)确定该项目是否值得去解决,是否存在可行的解决方案。
对每一种可能的解决方案,就以下几个方面研究其可行性:(1)经济可行性:这个系统的经济效益能超过它的开发成本吗?估算项目的开发成本和系统投入使用后可能带来的利润,进行成本/效益分析,从经济角度判断系统开发是否“合算”。
(2)技术可行性:使用现有的技术能实现这个系统吗?根据客户提出的系统功能、性能要求,从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用及其他各项约束条件限制下成功的可能性。
(3)运行、操作可行性:系统的操作方式在这个用户组织内行得通吗?主要研究系统的运行方式在用户单位是否可以被有效地实施,是否与原有其他系统相矛盾;系统的操作规程在用户单位内是否可行,它包括人事、科技政策、管理方法等等。
(4)法律可行性:系统的开发使用,在当国当地当时合法吗?研究系统的开发和使用是否会侵犯他人的权益,是否触犯了国家和地方的法律法规。
另外,可行性研究还要有开发方案的选择结论:如果问题没有可行的解,分析人员应建议停止该项目,以避免造成进一步的浪费;如果问题值得解决,则提出并评价实现系统的各种可行的开发方案,从中选择一种较好方案,并为系统制定一个初步的开发计划。
二、可行性研究的步骤1、复查初步分析结果,确定系统目标与规模,清晰地描述对系统的所有约束条件;P72、研究现有的系统,找出其基本功能和信息,指出其缺点或局限性(功能性能上的、经济上的);P93、借助某种图形工具导出新系统的高层(比较粗略的)逻辑模型,并与现有系统进行比较。
以后可以从这个逻辑模型出发设计新系统;P104、进一步定义问题。
可行性研究的前3个步骤实质上构成一个循环,目的是逐步改善逻辑模型。
2022年中央电大《软件工程》平时作业1、2、3、4次及答案
软件工程第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图,写出其相应伪码。
惠州学院软件工程作业SE2
软件工程导论第十三章作业3、下面叙述对一个计算机辅助设计(CAD)软件到需求:该CAD软件接受由工程师提供的二维或三维几何图形数据。
工程师通过用户界面与CAD系统交互交互并控制它,该用户界面应该表现出良好的人机界面特征。
几何图形数据及其他支持信息都保存在一个CAD数据库中。
开发必要的分析、设计模块,以产生所需要的输出,这些输出将显示在各种不同的图形设备上。
应该适当地设计软件,以便与外部设备交互并控制他们。
所用的外部设备包括鼠标、数字化扫描仪和激光打印机。
要求:(1)进一步精化上述要求,把CAD软件的功能分解成若干个子功能;(2)用代码行技术估算每个子功能的规模;(3)用功能点技术估算每个子功能的规模;(4)从历史数据得知,开发这类系统的平均生产率是620LOC/pm,如果软件工程师的平均月薪是8000元,试估算开发本系统的工作量和成本;(5)如果从历史数据得知,开发这类系统的平均生产率是6.5FP/pm,试估算开发本系统的工作量和成本。
答:(1)分解成以下若干个子功能:a、分析二维几何图形数据;b、分析三维几何图形数据;c、具有交互性、良好的用户界面;d、建立CAD数据库;e、必要的分析和设计模块;f、不同的图形设备显示输出数据;g、多样的外部设备。
(2)用代码行技术估算规模如下表所示:功能最小规模(a) 最大规模(b) 最可能规模(m) 估计值分析二维几何图形数据2500 3000 2800 2783 分析三维几何图形数据3500 4800 4500 4383 具有交互性、良好的用户界面2000 3000 2600 2567 建立CAD数据库1500 2200 2000 1950 必要的分析和设计模块7800 8500 8000 8050 不同的图形设备显示输出数据3200 3800 3500 3500 多样的外部设备1500 2300 2100 2033 估算出的总代码行数25267(3)用功能点技术估算规模如下表所示:信息域特性系数值信息域简单平均复杂特性系数功能点数(UFP) 输入项数a1 15 18 20 4 71输出项数a2 18 20 25 5 82查询数a3 15 16 18 3 65主文件数a4 5 5 6 11 21外部接口数a5 2 3 3 4 11总计250由上表可计算未调整的功能点数UFP:UFP=a1*Inp+a2*Out+a3*Inq+a4*Maf+a5*Inf = 291技术因素序号因素估计值1 数据通信02 分布式数据处理03 性能标准 24 高负荷的硬件 35 高处理率 36 联机数据输入07 终端用户效率 48 联机更新09 复杂的计算 510 可重用性 311 安装方便 212 操作方便 513 可移植性 214 可维护性 4DI 33由上面两个表可得出,技术复杂性因子TCF为:TCF=0.65+0.01*DI = 0.65+0.01*33 = 0.98则最终的功能点数FP为:FP = UFP*TCF = 285(4)用代码行估算,开发本系统的工作量E 为:E = 25267 / 620 = 41pm开发本系统的成本为:8000*39 = 312000元(5)用功能点估算,开发本系统的工作量E 为:E = 285 / 6.5 = 44pm开发本系统的成本为:8000*44 = 352000元4、假设自己被指定为项目负责人,任务是开发一个应用系统,该系统类似于自己的小组以前做过的那些系统,但是规模更大且更复杂一些。
大工软件工程课程大作业答案
大工软件工程课程大作业答案XXX的《软件工程》课程大作业要求完成一个企业货物管理系统。
本文将对该系统的总体设计说明书和需求分析规格书进行修改和改写。
总体设计说明书:该系统的运行环境包括硬件开发环境和软件开发环境。
硬件开发环境要求CPU为Intel Pentium 4 2.00GHz,内存为2G,硬盘为160G。
软件开发环境要求操作系统为XXX WindowsXP nal SP2,开发工具包为Java(TM) SE Development Kit 6,开发工具为MyEclipse Enterprise Workbench 5.5.1 GA,JSP服务器为Apache Tomcat 5.5.26,数据库为Microsoft SQL Server 2000并安装升级补丁,浏览器为XXX XXX 6.0以上。
系统功能模块包括管理人员的登录与注册模块、进货入库管理模块、退货管理模块、商品调价管理模块。
其中,登录模块用于实现用户的登录和注册,用户管理模块对系统所有的用户以列表形式浏览并能进行删除,部门管理模块对本企业的部门进行管理,有添加、删除、修改等管理,供应商管理模块对提供物资的企业或厂商信息进行添加、删除、修改,员工管理模块对企业的员工进行添加、删除、修改,进货合同管理模块对企业采购物品的合同进行添加、删除、修改管理,库房管理模块对企业库房进行管理,库存管理模块对所有库存中的物资以列表形式列出,可以对该信息进行修改和删除,退货管理模块对核查不合格的产品情况进行管理,核查管理模块对所采购的物资进行核查,合格进入库房,不合格列入退货列中,库存查询管理模块根据查询条件进行查询,查询条件可以是条形码、产品名称、产品类型、所在库房。
系统层次结构图展示了各个模块之间的关系,包括用户管理、部门管理、供应商管理、员工管理、进货合同管理、库房管理、库存管理、退货管理、核查管理和库存查询管理。
需求分析规格书:该系统的功能需求分析包括登录与注册、用户管理、部门管理、供应商管理、员工管理、进货合同管理、库房管理、库存管理、退货管理、核查管理和库存查询管理。
《软件工程》大题作业
精品资料附加题:1、对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif(y>1) and (z=0) then x:=x/y;if(y=2) or(x=l) then x:=x+l;end.该子程序接受 x, y, z 的值,并将计算结果x的值返回给调用程序。
答题要求:(1)画出流程图。
(2)用白盒法设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。
答:( 1 )流程图(2 )用白盒法中条件组合覆盖设计测试用例:①y=2, z=0, x=4;②y=2, z=1, x=1;③y=1, z=0, x=2;④y=1, z=1, x=1.2 、某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。
系统日期规定由年、月的 6 位数字字符组成,前四位代表年,后两位代表月。
现要求用黑盒测试法中的边界值法写出测试用例。
答:输入条件测试用例说明测试数据报表日期的 1 个数字字符5类型及长度 5 个数字字符200357 个数字字符2003005有 1 个非数字字符2003.5全部是非数字字符MAY---6 个数字字符200305日期范围在有效范围200301边界上选取200812数据200300精品资料200813月份范围月份为 1月200301月份为 12 月200312月份 <1200300月份 >122003133、对以下程序进行测试:PROCEDURE EX (A,B:REAL ;VAR X: REAL );BEGINIF( A=3 )OR (B> 1 ) THEN X :=A ×BIF ( A>2 ) AND ( B=0 ) THEN X :=A -3END先画出程序流程图。
再按不同逻辑覆盖法设计一种(写出名称)测试数据。
惠州学院 软件工程导论 第六章__详细设计 刘宇芳老师概要
第六章详细设计一、详细设计概述1、目的:为软件系统的H图/SC图中的每一个模块确定采用的算法(处理流程)和模块内数据结构,用某种选定的表达工具给出清晰的描述。
2、任务:用一定的工具精确描述目标系统,从而方便在编码阶段可以把这种描述直接翻译成用某种程序设计语言书写的程序。
(1) 确定每一模块的算法(处理流程)(2) 确定每一模块使用的数据结构(3) 确定本模块的外部接口和用户界面(4) 为每一模块设计一组测试用例(单元测试计划)详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。
因此,详细设计的结果基本上决定了最终的程序代码的质量。
考虑程序代码的质量时必须注意,程序的“读者”有两个,那就是计算机和人。
详细设计不仅要逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程容易阅读和理解。
二、结构化程序设计1、什么是结构化程序设计(1) 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块是单入口、单出口的,则称这个程序是结构化的。
(2) 结构化程序设计是尽可能少用GO TO语句的程序设计方法。
最好仅在检测出错误时才使用GO TO语句,而且应该总是使用前向GO TO 语句。
(3) 如果允许使用LEAVE(或BREAK)结构,则不仅方便而且会使效率提高很多。
LEAVE或BREAK结构实质上是受限制的GO TO 语句,用于转移到循环结构外面的语句。
(4) 如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构,P5,则称为经典的结构程序设计;如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL 型循环结构,则称为扩展的结构程序设计;如果再加上允许使用LEAVE(或BREAK)结构,则称为修正的结构化程序设计。
2、结构化程序设计中基本的控制流程三、人机界面的设计1、重要性人机界面设计是接口设计的一个重要的组成部分。
软件工程学第一次作业—答案中山大学
软件工程学第一次作业一、简答题1、需求分析的任务答:需求分析的任务主要包括以下几项:确定目标系统的综合要求,其中包括(目标系统的功能、性能、运行的环境及扩展性要求);分析目标系统的数据要求,其中包括(系统平台需要哪些数据?数据间有什么关系?数据及数据结构?对数据的处理逻辑关系等);导出目标系统的逻辑模型;修正系统流程图;修正系统开发计划、开发原型系统2、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?答:1、无法开发复杂程度高的软件2、成本和进度估计不准3、无统一科学的规范,软件不可维护4、无质量保证,可靠性差5、软件常不能满足用户的需求6、无适当的文档资料7、软件生产率太低二、选择题1、从下列关于结构化程序设计的叙述中选出5条正确的叙述。
①程序设计比较方便,但比较难以维护。
②便于由多个人分工编制大型程序。
③软件的功能便于扩充。
④程序易于理解,也便于排错。
⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥模块之间的接口叫做数据文件。
⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧模块间的单向调用关系叫做模块的层次结构。
⑨模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
答:正确的叙述有②、③、④、⑦、⑧。
如果程序结构的模块化满足评价的标准(高内聚、低耦合),这样的结构是容易维护的,程序的功能也容易测试,容易理解、容易修改、容易维护的,程序的功能也容易扩充。
特别适合于大型程序编制时,多人分工全中作,协同完成任务的情形。
因为是采用自顶向下、逐层分解来划分解模块结构的,所以模块之间的调用关系是分层次的模块结构,就叫做模块的层次结构。
模块之间的信息传递叫做模块的接口,模块之间传递信息可以通过参数表、全局变量或全局数据结构、数据文件、专门模块太大,控制路径数目多、涉及的范围广、变量的数目多、总体复杂性高,可理解性、可修改性、可靠性就会变差。
软件工程大作业+暑期软件工程课程设计模板1.
《题 目:线性表的设计和实现专业年级: 2014级计算科学与技术专业 指导教师: 李四年 月 日中国石油大学胜利学院《软件工程》课程大作业摘 要数据结构算法设计和演示(C++)树和查找是在面向对象思想和技术的指导下,采用面向对象的编程语言(C++)和面向对象的编程工具(Borland C++ Builder 6.0)开发出来的小型应用程序。
它的功能主要是将数据结构中链表、栈、队列、树、查找、图和排序部分的典型算法和数据结构用面向对象的方法封装成类,并通过类的对外接口和对象之间的消息传递来实现这些算法,同时利用C++ Builder 6.0中丰富的控件资源中帮助理解、辅助教学和自我学习的作用。
关键词:毕业设计;格式;规范ABSTRACTXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKeywords :Xxxx;Xxxx;Xxxx目 录错误!未定义书签。
2.2.2 三级标题名 .................................................................. 错误!未定义书签。
2.3 线性链表 ................................................................................................................... 3 第三章 设计的主体内容 (3)3.1 系统结构的设计 ....................................................................................................... 5 3.2 交互界面的设计和实现 ........................................................................................... 5 3.3 线性表的00P 序设计 ............................................................. 错误!未定义书签。
软件工程大作业题目讲解
软件工程大作业题目1.英汉小词典基本要求:实现类似“金山词霸”的英汉双向词典。
输入英文,显示词性、解释、音标和衍生词等。
输入中文,显示拼音和英文。
同时显示单词的索引,无需输入,只需点击就可查询。
高级要求:屏幕拾词2.围棋围棋是一种古老的运动,现在计算机大面积普及,围棋电子化也是一种大势所趋。
“围棋对弈”就是希望开发一个模拟现实中围棋对弈的软件平台,供人使用。
基本要求:实现围棋下子、提子、胜负判定功能,规则参照围棋界通用规则。
3.人机对弈(五子棋)基本要求:开发五子棋对弈的软件平台,进行人机对弈,实现下子和胜负判定功能,规则参照实际五子棋的通用规则。
4.游戏(挖地雷)Windows系统提供一个“挖地雷”的游戏,并具有高、中、低三个级别供用户选择。
用户按“开始”,系统进行计时,用户开始“挖”地雷,当把全部地雷都挖出,则获胜;只要碰到一个地雷就失败,只能从头开始。
地雷数目、分布位置随机产生,本游戏保存所有获胜盘的日期、开始和结束时间、地雷数。
游戏规则遵循Windows系统所提供的“挖地雷”游戏的规则。
5.计算器基本要求:Windows操作系统提供一个计算器,现要求开发一个能够完成Windows系统提供的计算器的所有功能。
高级要求:增强输入框的功能:用户可以在输入功能框中输入任何合法、非法的运算四则运算表达式,如果是合法表达式,计算器自动计算并显示结果,如果非法显示出错信息。
说明:1 合法的表达式:36.789*((23+68*45)-27/3747);2 非法的表达式:36.789*((23+68*45)-27/3747));67#67(3-2);6.源代码行数计数器基本要求:用户选择多个C或C++的程序文件,本软件能计算这些文件的源代码行数、空行行数和注解行数,计算结果显示并可保存在文件中。
高级要求:对C或C++程序进行美化,即按规则缩进,输出美化后的源程序文件。
7.画图板基本要求:实现MS Windows中“画图”软件的简单功能,包括用彩笔画直线、画矩形、画圆、用颜色填充一个区域、橡皮擦、颜色盒。
[东北师范]-《软件工程》21秋学期在线作业1-辅导答案
软件工程21秋在线作业1-0003试卷总分:100 得分:100一、单选题 (共 10 道试题,共 30 分)1.相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果,或不同的对象收到同一消息可以产生不同的结果。
所指的特性是()。
<-A.项->继承<-B.项->关联<-C.项->组合<-D.项->多态<提示>本试题难度适中,请认真完成<本题-选择>:D2.一个软件的宽度是指其控制的()。
<-A.项->模块数<-B.项->层数<-C.项->跨度<-D.项->厚度<提示>本试题难度适中,请认真完成<本题-选择>:C3.需求分析阶段的任务是确定()。
<-A.项->软件系统的功能<-B.项->软件开发方法<-C.项->软件开发工具<-D.项->软件开发费<提示>本试题难度适中,请认真完成<本题-选择>:A4.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有什么功能()。
<-A.项->隐藏<-B.项->屏蔽<-C.项->容错<-D.项->适应<提示>本试题难度适中,请认真完成<本题-选择>:C5.软件复杂性度量的参数包括()。
<-A.项->效率<-B.项->规模<-C.项->完整性<-D.项->容错性<提示>本试题难度适中,请认真完成<本题-选择>:B6.以下软件成本估算模型中,是动态多变量的模型有()。
<-A.项->Halstead理论模型<-B.项->Deiphi专家估算模型<-C.项->Putnam估算模型<-D.项->瀑布模型<提示>本试题难度适中,请认真完成<本题-选择>:C7.表示了静态的结构化的系统数据性质,描绘了系统的静态结构,从客观世界实体的对象关系角度来描绘对象的模型是()。
惠州学院软件工程作业SE1
软件工程导论第一章作业1、什么是软件危机?它有那些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
具体的说,软件危机主要有以下一些典型表现:1)对软件开发成本和进度的估计常常很不准确。
2)用户对“已完成的”软件系统不满意的现象经常发生。
3)软件产品的质量往往靠不住。
4)软件常常是不可维护的。
5)软件通常没有适当的文档资料。
6)软件成本在计算机系统总成本中所占的比例逐年上升。
7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
出现软件危机的原因,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
3、什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程具有下述的本质特性:1)软件工程关注于大型程序的构造。
2)软件工程的中心课题是控制复杂性。
3)软件经常变化4)开发软件的效率非常重要。
5)和谐地合作是开发软件的关键。
6)软件必须有效地支持它的用户。
7)在软件工程领域中通常由具有一种文化背景的人替另一种文化背景的人创造产品。
用下述软件工程的7条基本原理来消除软件危机:1)用分阶段的生命周期计划严格管理。
2)坚持进行阶段评审。
3)实行严格的产品控制。
4)采用现代程序设计技术。
5)结果应能清楚地审查。
6)开发小组的人员应该少而精。
7)承认不断改进软件工程实践的必要性。
4、简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
答:1)结构化范型也称为传统方法学或生命周期方法学。
它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。
软件工程作业1
软件工程作业1软件工程作业1:需求分析文档1. 引言本文档旨在详细阐述软件工程作业1的需求分析过程。
通过本文档,我们将明确作业的功能需求、非功能需求以及界面需求,为后续的软件设计和实现奠定基础。
2. 功能需求2.1 用户管理•用户注册:允许新用户创建账号,填写用户名、密码、邮箱等信息。
•用户登录:已注册用户输入用户名和密码登录系统。
•用户信息修改:用户可以修改自己的密码、邮箱等个人信息。
•用户注销:用户可以注销自己的账号。
2.2 作业管理•发布作业:教师可以发布新的作业,填写作业名称、描述、截止时间等信息。
•查询作业:学生可以查询已发布的作业列表,查看作业详情。
•提交作业:学生可以提交自己的作业。
•作业批改:教师可以批改学生的作业,并给出评分和反馈。
2.3 消息通知•系统通知:系统可以向用户发送有关作业发布、截止等重要消息。
3. 非功能需求3.1 性能需求•系统响应时间:在正常使用情况下,系统响应时间不应超过2秒。
•数据存储容量:系统应能存储至少一个学期的作业及用户信息。
3.2 安全需求•用户认证:采用加密算法(如MD5)对用户密码进行存储和验证。
•数据保护:对用户敏感信息进行加密存储,防止数据泄露。
3.3 可用性需求•界面设计:界面简洁明了,易于操作。
•系统帮助:提供在线帮助文档,方便用户了解和使用系统。
4. 界面需求4.1 用户登录界面•显示用户名、密码输入框及登录按钮。
•显示忘记密码、注册新用户链接。
4.2 用户管理界面•显示用户个人信息,如用户名、密码、邮箱等。
•显示修改个人信息、注销账号按钮。
4.3 作业管理界面•显示作业列表,包括作业名称、描述、截止时间等。
•显示发布新作业、查询作业、提交作业按钮。
4.4 消息通知界面•显示系统通知,包括作业发布、截止等消息。
5. 结论通过本需求分析文档,我们明确了软件工程作业1的功能需求、非功能需求和界面需求。
接下来,我们将根据这些需求进行软件设计和实现,确保系统能够满足用户需求,提高教学效果。
惠州学院软件工程课程设计
惠州学院软件工程课程设计一、课程目标知识目标:1. 让学生掌握软件工程的基本概念、原则和方法,理解软件开发流程及其各个阶段的关键任务。
2. 使学生了解软件需求分析、软件设计、编码、测试等环节的技术与工具,并能运用到实际项目中。
3. 培养学生掌握软件项目管理的方法,包括进度控制、风险管理、团队协作等方面的知识。
技能目标:1. 培养学生具备分析、设计和实现小型软件系统的能力。
2. 使学生能够运用软件工程方法和技术,解决实际软件开发过程中的问题。
3. 提高学生的团队协作能力,使其能够在项目中发挥积极作用。
情感态度价值观目标:1. 培养学生对软件工程的兴趣,激发学生主动学习、探索的精神。
2. 引导学生树立正确的软件工程观念,认识到软件质量的重要性,注重软件的可维护性和可扩展性。
3. 培养学生具备良好的职业道德,遵循软件开发规范,尊重他人知识产权。
本课程针对惠州学院软件工程专业学生,结合学科特点和教学要求,将课程目标分解为具体的学习成果,以便后续的教学设计和评估。
课程旨在帮助学生掌握软件工程的基本理论和技术,培养具备实际软件开发能力的专业人才。
同时,注重培养学生的团队协作精神和职业道德,使其在未来的职业生涯中能够发挥积极作用。
二、教学内容本课程教学内容依据课程目标,结合教材《软件工程》进行选择和组织,主要包括以下几部分:1. 软件工程概述:介绍软件工程的基本概念、原则和发展历程,分析软件危机的原因及解决方法。
2. 软件需求分析:讲解需求分析的方法、工具和技术,如访谈、原型法等,并举例说明。
3. 软件设计:阐述软件设计的基本原理,包括模块化、抽象、信息隐藏等,介绍常用的设计模式。
4. 编码与实现:分析编程规范、编程语言的选择和编程技巧,强调编码的可读性和可维护性。
5. 软件测试:介绍软件测试的基本概念、方法和策略,如黑盒测试、白盒测试等,以及自动化测试工具。
6. 软件项目管理:讲解项目管理的基本流程、方法和工具,包括进度控制、风险管理、团队协作等。
《软件工程》作业及答案
《软件工程》作业及答案软件工程作业及答案软件工程是以工程化的原则和方法来开发、维护和管理软件的学科。
在软件工程的学习过程中,作业是一种重要的学习方式,能够巩固所学的知识,提高实践能力。
以下是一道软件工程作业题目及答案的介绍。
作业题目:设计一个简单的学生成绩管理系统,具有添加学生信息、录入学生成绩、计算总分和平均分、查询学生信息和成绩等功能。
作业答案:一、需求分析根据题目要求,我们需要设计一个学生成绩管理系统。
系统需要包含以下功能:1. 添加学生信息:输入学生的姓名、学号和班级等信息,将学生信息保存到数据库中。
2. 录入学生成绩:输入学生的学号和各科成绩,将成绩保存到数据库中。
3. 计算总分和平均分:根据学生的各科成绩,计算出总分和平均分,并将结果保存到数据库中。
4. 查询学生信息和成绩:根据学生的学号,查询并显示学生的基本信息和各科成绩。
二、系统设计1. 数据库设计:设计一个学生信息表和学生成绩表,学生信息表包含学号、姓名和班级等字段,学生成绩表包含学号、科目和成绩等字段。
2. 用户界面设计:设计一个简洁美观的用户界面,包括添加学生信息、录入学生成绩和查询学生信息和成绩等功能按钮。
3. 系统功能设计:根据需求,设计相应的函数和方法来实现添加学生信息、录入学生成绩、计算总分和平均分以及查询学生信息和成绩等功能。
三、系统实现1. 使用编程语言:选择适合的编程语言来实现系统,比如Java、Python等。
2. 编写代码:根据系统设计,编写代码实现各个功能。
3. 运行测试:对系统进行测试,确保各功能正常运行。
四、系统运行和使用1. 安装和配置:将系统部署到服务器或本地环境中,并完成必要的安装和配置工作。
2. 运行系统:启动系统,进入用户界面。
3. 使用系统:根据需要,点击相应的功能按钮进行学生信息的添加、成绩的录入和查询等操作。
五、总结与展望通过完成这个学生成绩管理系统的设计和实现,我们不仅巩固了软件工程的相关知识,还提高了实践能力。
软件工程习题及详细答案
个人收集整理勿做商业用途软件工程习题及答案一、选择题:为了提高测试的效率,应该。
A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C、在完成编码后制定软件的测试方案D、选择发现错误可能性大的数据作为测试数据与设计测试数据无关的文档是。
A、需求说明书B、设计说明书C、源程序D、工程开发设计结构设计是一种应用最广泛的系统设计方法,是以为根底、自顶向下、逐步求精和模块化的过程。
A、数据流B、数据流图C、数据库D、数据结构概要设计的结果是提供一份。
A、模块说明书B、框图C、程序D、数据结构需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。
A、模块说明书B、软件规格说明书C、工程开发方案D、合同文档注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。
A、1/6B、1/5C、1/4D、1/3变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8.PAD〔ProblemAnalysisDiagram 〕图是一种工具。
A、系统描述B、详细设计C、测试D、编程辅助分层数据流图是一种比拟严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌B、细节C、抽象D、软件的作者数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出个人收集整理勿做商业用途分析员是。
A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导在软件开发中,有利于发挥集体智慧的一种做法是。
A、设计评审B、模块化C、主程序员制D、进度控制在开发软件时,可用来提高程序员的工作效率。
A、程序开发环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机结构化程序设计主要强调程序的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程导论第一章作业
1、什么是软件危机?它有那些典型表现?为什么会出现软件危机?
答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
具体的说,软件危机主要有以下一些典型表现:
1)对软件开发成本和进度的估计常常很不准确。
2)用户对“已完成的”软件系统不满意的现象经常发生。
3)软件产品的质量往往靠不住。
4)软件常常是不可维护的。
5)软件通常没有适当的文档资料。
6)软件成本在计算机系统总成本中所占的比例逐年上升。
7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
出现软件危机的原因,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
3、什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?
答:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程具有下述的本质特性:
1)软件工程关注于大型程序的构造。
2)软件工程的中心课题是控制复杂性。
3)软件经常变化
4)开发软件的效率非常重要。
5)和谐地合作是开发软件的关键。
6)软件必须有效地支持它的用户。
7)在软件工程领域中通常由具有一种文化背景的人替另一种文化背景的人创造产品。
用下述软件工程的7条基本原理来消除软件危机:
1)用分阶段的生命周期计划严格管理。
2)坚持进行阶段评审。
3)实行严格的产品控制。
4)采用现代程序设计技术。
5)结果应能清楚地审查。
6)开发小组的人员应该少而精。
7)承认不断改进软件工程实践的必要性。
4、简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
答:1)结构化范型也称为传统方法学或生命周期方法学。
它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。
采用这种方法学开发软件的时候,从对问题的抽象逻辑分析开始,一个阶段一个阶段地顺序进行开发。
每一个阶段的开始和结束都有严格标准,在每一个阶段结束之前都必须进行正式严格的技术审查和管理复审。
审查的一条主要标准就是每个阶段都应该交出“最新式的”(即和所开发的软件完全一致的)高质量的文档资料,从而保证在软件开发工程结束时有一个完整准确的软件配置交付使用。
优点:把软件生命周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度;使软件开发工程的全过程以一种有条不紊的方式进行,保证了软件的质量,特别是提高了软件的可维护性。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出来的软件往往不成功;而且维护起来仍然很困难。
2)概括地说,面向对象方法学具有下述4个要点:
A把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。
也就是说,用对象分解取代了传统的功能分解。
B把所有对象都划分成类(class)。
C按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。
D对象彼此间仅能通过发送消息互相联系。
优点:面向对象方法保证了在各项开发活动之间的平滑过渡;面向对象方法普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程;支持从一般到特殊的演绎思维过程;降低了软件产品的复杂性,提高了软件的可理解性,简化了软件的开发和维护工作;促进了软件重用。
7、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种某型的适用范围。
答:生命周期规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,也称为过程模型。
1)瀑布模型
优点:可强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;
要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
缺点:瀑布模型是由文档驱动的。
2)快速原型模型
优点:软件产品的开发基本上是线性顺序进行的。
缺点:可能需要返回到需求分析、规格说明、设计或编码等不同阶段。
3)增量模型
优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
缺点:在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品;增量模型本身是自相矛盾的。
4)螺旋模型
优点:对可选方案和约束条件的强调有利于已有软件的重用,也有助于软件质量作为软件开发的一个重要目标;减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;更重要的是,在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。
缺点:除非软件开发人员具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险。