南邮2015-2016学年第一学期软件工程复习提纲

南邮2015-2016学年第一学期软件工程复习提纲
南邮2015-2016学年第一学期软件工程复习提纲

2013/14 第一学期软件工程复习提纲一图

需求获取用况图

结构化方法数据流图E-R图状态机

面向对象方法序列图活动图类图状态图

二、概念部分

1、什么是软件危机

2、什么是软件工程

3、软件生命周期分为几个时期?每一时期所完成的基本任务?

4、软件的构成,软件质量特性,软件中文档的作用

5、结构化设计方法和面向对象方法的概念和优缺点比较,软件设计的任务

6、软件测试的概念、目的和原则

7、黑盒、白盒测试的概念和特点

8、逻辑覆盖的种类,黑盒测试的方法。

9、软件复杂度的计算和基本路径设计

10、软件测试的过程。

11、传统软件设计过程模型基本概念和缺点,知道新过程模型。

12、C/S架构和B/S架构的比较。

三设计部分

1、结构化分析建模的模型组成

2、结构化设计原则,模块划分的原则和独立性的度量

3、典型的数据流类型和系统结构

4、详细设计的方法和工具

5、面向对象的基本概念和基本准则

6、UML概念和支持的模型图

7、OOA的模型和OOD的组成

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件工程课程设计

第一章概述 1.1系统名称 学生宿舍管理系统 1.2开发及运行环境 CPU Intel? Core(TM)i5-4210M 内存4GB 硬盘空间30M以上 输入设备键盘鼠标 操作系统windows 8.0 数据库windows sql server 2005 1.3软件开发计划 2017.12.01-2017.12.04 软件需求分析 2017.12.05-2017.12.09 系统结构设计 2017.12.10-2017.12.15 软件编码及数据 库设计实现 2017.12.16-2017-12.20 软件测试 2017.12.21 软件交付

第二章需求分析 目前,各学校的宿舍管理主要依赖于人工管理,学生宿舍相关的各种信息可以通过宿舍管理系统来集中统一管理,方便的宿舍管理员对宿舍的管理,更有利于宿舍安全以及同学们的健康成长。 2.1 任务概述 宿舍管理系统为了方便管理,尽可能的实现操作简单,易学易用,主要实现以下功能: 1)系统要求用户必须输入正确的用户名和密码才能进入系统; 2)系统应该提供学生住宿情况的基本登记; 3)系统应提供人员来访登记及结束访问的详细登记; 4)系统应提供学生在校期间物品出入宿舍楼的详细情况登记; 5)系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询; 6)系统应提供增加、删除、修改用户帐户的功能; 7)增加学生离校的物品管理制度 2.2 宿舍管理系统一层数据流图及数据字典 2.2.1 一层数据流图

图1-1 学生宿舍管理系统一层数据流图 2.2.2 数据字典 以下是图1-1数据流图的数据字典本数据字典主要定义数据4方面内容: 名字:数据元素的名字,作为在数据流图中的标识符, 描述:对名字所代表的数据功能和含义加以描述 定义:对名字所代表的实际构成加以解释 位置:表示数据流的来源 名字:管理员 描述:对宿舍管理系统进行操作的人员

软件工程复习提纲

1.什么是软件? 是一系列按照特定顺序组织的计算机数据和指令的集合,包括程序、数据和文档。 附:软件的特征:成本高、风险大、维护困难 2.什么是软件危机,其内容主要是指什么? 原因:1、与软件本身的特点有关;2、与软件开发人员有关; 定义:在计算机软件开发和维护过程中所遇到的一系列严重的问题。 1)对软件开发成本和进度的估计常常不准确。 2)用户对“已完成”系统不满意的现象经常发生。 3)软件产品的质量不可靠。 4)软件的可维护程度非常之低。 5)软件通常没有适当的文档资料。 6)软件的成本不断提高。 7)软件开发生产率无法满足人们对软件的生产要求,软件开发生产率的提高落后于硬件的发展。 3.什么是软件工程? 开发、运行和维护软件的系统方法 ?软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。 4.软件工程的目标(PP.41 )及其组成部分。方法、工具和过程。 ?软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。 方法: 是指产生某些结果的形式化过程, ?工具: 是用更好的方式完成某件事情的设备或自动化系统,如各种集成开发环境、编译工具、测试工具等。 ?过程: 生产特定产品的工具和技术的结合 ?软件工程方法学包含3个要素:方法、工具和过程。 5.软件开发方法的定义。 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学。 比如SASD方法、面向对象的软件开发方法。 6.好的软件的一些主要衡量指标。例如McCall 的质量模型。 (1)质量,它的衡量:产品的质量、过程的质量、商业环境背景下产品的质量。

软件工程课程设计要求

软件工程》课程设计 一、目的、要求 通过该课程设计使学生树立起强烈的工程化意识,用工程化思想和方法开发软件,切实体会用软件工程的方法开发系统与一般程序设计方法的不同之处。学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。 二、主要内容 要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目,题目可参考附录A,也可自行拟定题目,按 照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。分别、选用传统的结构化方法和面向对象的方法,开发环境和工具不限。 三、设计成果要求 1.提交软件系统,根据完成情况给分; 2.提交设计报告文档 设计报告将从以下三个方面给分: (1)报告是否规范,符合要求; (2)报告是否完整、工作量大小; (3)文档逻辑性是否合理、语言是否流畅。 四、进度安排 (1)确定选题,进行可行性分析,开发计划 (2)软件需求分析 (3)软件设计 (4)软件实现,测试计划 (5)软件实现,测试报告 (6)验收

附录A 课程设计题目 题目一:电子商务网站建设 一个集客户购物、下订单、订单处理、销售统计等功能于一体的系统。通过浏览器,创建账户/登陆账户,让客户可以查询货物,把货物放入购物车,创建订单,通过信用卡支付等。系统划分成了多个模块,松耦合的设计架构,允许可以和多个数据源,EIS (企业信息系统)进行交互。功能如下: 1?用户 注册/登陆/忘记密码/管理个人信息 查询货物 购物车管理 提交订单 信用卡支付 查询历史购物记录 2?货物商店 接受/处理订单消息 手工接受/拒绝订单 用E-mail来通知客户 发订单给供应商 销售统计 3.供应商 接受订单 派送货物给用户 提供一个基于web的库存管理 维护库存数据库 题目二:外文图书采购系统 1?问题概述 某图书馆外文采购有两个组--征订组和验收,登记组。分别承担书籍订购和进书验收任务。为了减轻劳动强度和提高工作效率,打算采用计算机进行管理。为此,系统分析员在进行了调查研究,描述出外文采购室现行系流程。 1 )订书组从供书单价收到订书目录,根据各单位的需要选择出要订购的书 目。

软件工程复习提纲(20160615)

软件工程复习提纲 Chapter1 1.开发文档都有哪些?用图来表示它们之间的关系。 2.说明软件工程研究的内容。 3.软件工程的7条基本原理有何现实意义。 4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别? 5.怎样理解CMMI,如何用CMMI去管理软件企业? 6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000 模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么? 7.软件工程与信息系统工程有何异同? 8.怎样理解元数据? Chapter2 1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系? 2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。 3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么? 4.你对“生存周期模型裁剪指南”有什么看法? 5.“图书馆信息系统”的开发选用什么开发模型合适? Chapter3 1.立项的具体表现形式是什么? 2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员? 3.什么叫风险分析,技能风险与技术风险有何区别? 3.合同、任务书、立项建议书三者有何异同?有何关系? 4.对软件项目和产品的“功能、性能、接口”三项指标如何理解? Chapter4 1.需求分析的目的是什么,需求分析的难点在哪里? 2.需求分析的理论基础有哪几条? 3.为什么说需求分析是面向流程的? 4.解释术语:元数据、实体、中间数据。 5.用户需求报告与需求规格书有何差异? 6.需求描述有哪几种工具?你喜欢哪一种,为什么?

电工电子实验报告

实验一基尔霍夫定律的验证 班级姓名学号 一、实验目的 1、验证基尔霍夫定律的正确性,加深对基尔霍夫定律的理解。 2、学会用电流插头、插座测量各支路电流。 二、原理说明 基尔霍夫定律是电路的基本定律。测量某电路的各支路电流及每个元件两端的电压,应能分别满足基尔霍夫电流定律(KCL)和电压定律(KVL)。即对电路中的任一个节点而言,应有I=O;对任何一个闭合回路而言,应有U=0。 运用上述定律时必须注意各支路电流或闭合回路的正方向,此方向可预先任意设定。 三、实验设备 可调直流稳压电源,万用表,实验电路板 四、实验内容 实验线路图如下,用DVCC-03挂箱的“基尔霍夫定律/叠加原理”电路板。 1、实验前先任意设定三条支路电流正方向。如图中的I1, I2, I3的方向己设定。 闭合回路的正方向可任意设定。 2、分别将两路直流稳压源接入电路,令U1=6V, U2=12V。 3、熟悉电流插头的结构,将电流插头的两端接至数字毫安表的“+、-”两端。 4、将电流插头分别插入三条支路的三个电流插座中,读出并记录电流值。

五、实验注意事项 1、所有需要测量的电压值,均以电压表测量的读数为准。U1、U2也需测量,不应取 电源本身的显示值。 2、防止稳压电源两个输出端碰线短路。 3、用指针式电压表或电流表测量电压或电流时,如果仪表板指针反偏,则必须调换仪 表极性,重新测量。此时指针不偏,但读得电压或电流值必须冠以负号。若用数显电压表或电流表测量,则可直接读出电压或电流值。但应注意:所读得的电压或电流值的正确正负号应根据设定的电流参考方向来判断。 六、思考题 1、根据实验数据,选定节点A,验证KCL的正确性。 2、根据实验数据,选定实验电路中的任一个闭合回路,验证KVL的正确性。 3、误差原因分析。

软件工程课程设计报告

软件工程课程设计报告样式 山东建筑大学计算机科学与技术学院 课程设计说明书 题目:学校教材订购系统的分析和设计 课程:软件工程 院(部):计算机科学与技术学院 专业:软件测试 班级:软测143 学生姓名:冯岩 学号:20141113088 指导教师:王宜贵 完成日期:

目录 课程设计任务书 (36) 1. 系统概述 (39) 1.1业务流程描述 (39) 1.2 业务流程图..................................................................................... 错误!未定义书签。2.系统需求分析.......................................................................................... 错误!未定义书签。 2.1 系统用例模型.................................................................................. 错误!未定义书签。 2.2 系统类图模型............................................................................ 错误!未定义书签。 2.3 系统顺序图模型........................................................................ 错误!未定义书签。 3. 系统设计.................................................................................................. 错误!未定义书签。 3.1 系统结构设计................................................................................. 错误!未定义书签。 3.2 数据库概念模型设计..................................................................... 错误!未定义书签。 3.3 数据库物理模型设计..................................................................... 错误!未定义书签。 4. 系统详细设计.......................................................................................... 错误!未定义书签。 4.1学校教材订购系统界面设计.......................................................... 错误!未定义书签。 4.2 销售系统处理............................................................................... 错误!未定义书签。 4.3 输入设计....................................................................................... 错误!未定义书签。 4.4 采购系统处理............................................................................... 错误!未定义书签。 4.5 设计............................................................................................... 错误!未定义书签。 4.6 输出设计....................................................................................... 错误!未定义书签。总结 .. (43) 参考文献 (45) 课程设计指导教师评语 (46)

软件工程课程复习大纲

软件工程课程复习大纲 第一章软件工程概论 本章作为全书的概论,主要讲述了软件、软件工程概念和软件开发的目标和本质。 基本要求: 1、“软件”概念: “软件”一词具有三层含义: (1)一为个体含义,即指计算机系统中的程序及其文档; (2)二为整体含义,即指在特定计算机系统中所有上述个体含义下的软件的总称,亦指计算机系统中硬件除外的所有成分; (3)三为学科含义,即指在研究、开发、维护以及使用前述含义下的软件所涉及的理论、方法、技术所构成的学科。 2、“软件工程”概念: (1)一方面,软件工程是一类求解软件的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法、创建软件以达到提高质 量,降低成本的目的; (2)另一方面,软件工程也是一门指导计算机软件开发和维护的工程学科。 3、“模型”概念: 模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内各模型元素以及它们之间的语义关系。 重点要求: 1、软件开发的本质:实现问题域中的概念和处理逻辑到运行平台的概念和 处理逻辑的映射。 第二章软件过程 本章围绕软件过程这一主题,讲解了三方面的内容: 一:介绍了软件生存周期过程。按照承担软件开发工作的主体,软件生存周期过程分三类:基本过程、支持过程和组织过程。每类过程又包含一些确定的过程,每一过程又是由一组确定的活动定义的。 二:介绍了几种常用的软件生存模型:瀑布模型、增量模型、演化模型、螺旋模型和喷泉模型等,分析了这些模型的优缺点及它们的适用情况等。 三、讲解了一个软件项目生存周期过程的规划和监控。一个软件项目生 存周期过程规划包括三个阶段:第一阶段的目标是选取一个适合该项目特点

南邮电工电子实验复习资料与试卷

南京邮电大学电工电子实验复习资料与试卷 一、实验操作 1、信号与系统操作实验请复习所做的实验。 主要掌握的要点: ①由所给的电路转换出该电路的电压传输函数H(s)=V2(s)/V1(s),并能把传输函数化成Multisim所需的标准形式: (A)算子S在分子的幂次不高于分母的幂次。 (B)因需用积分器仿真,算子S (C)分母的常数项化成1。 ②能画出完整的系统模拟框图。 是负反馈项,其系数正、负异号后送输入端加法器。 (5)分母中为1的常数项不用任何运算模块 例如1: 画出幅频和相频图 例如2: 画出幅频和相频图

2、操作题如下图所示,写出该图的传输函数H(S)(V1是输入信号、V2是输出信号)。画出题中电路对应的系统模拟框图。(20分) 写出传输函数H(S)(10分) 画出题中电路对应的系统模拟框图(10?分) 在Multisim2001环境中,测试该系统模拟电路的幅频特性相关参数。(10分)(需包含半功率点 与谐振频率点) 设计由DAC0832完成。根据实验课题的 要求输出正负斜率锯齿波上升或下降的台阶数大于或等于16个台阶,可用4位二进制数,根据输出电压选定数字输入端。 输出电压的计算公式为: 其中:VREF 参考电压,Dn 是二进制数转换为等值的十进制数。 由输出电压的计算公式可知,4位二进制数接在不同的数字输入端,转换的Dn 值不同,输出电压也就不同。 假设:输入的二进制数为“0000~1111”, 当接在D0~D3端时:

Dn=D3+D2+D1+D0=8+4+2+1=15,若V REF为5V时, U0=-(5/256)×15=—0.29V; 当接D3~D6端时: Dn=D6+D5+D4+D3=64+32+16+8=120, U0=-(5/256)×120=—2.34V 当接D4~D7端时: Dn=D7+D6+D5+D4=128+64+32+16=240, U0=-(5/256)×240=—4.6875V 注意:输出电压U0 讨论: LM324运放的输出是一个对管,~–3.5V。所以,U0的输出不能超出+3.5V 在开关K2K1的控制下,实现三种不同波形的输出。 当K2K1=01时, 转换器输入的二进制数为0000~1111为加法计数; 当K2K1=10时, 转换器输入的二进制数为1111~0000为减法计数; 当K2K1=11时, 转换器先输入0000~1111,再输入1111~0000为16进制(或八进制)的可逆计数器。

软件工程课程设计

软件工程课程设计 题目固定资产管理系统学院数学与信息工程学院专业计算计科学与技术班级计科学051 学号200332225232 学生姓名方明 同组成员李亮 指导教师魏远旺

目录 一、可行性报告┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉1 二、需求说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉3 三、总体设计说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉5 四、详细设计说明书┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉13 五、程序源代码┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉24 六、课程设计体会┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉27 七、参考文献┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉27

第一章可行性报告 1.1 固定资产管理概述 1.1.1 固定资产 财政部颁发的于2002年1月1日起施行的《企业会计准则-固定资产》中,是这样对固定资产下定义的:“固定资产,是指同时具有以下特征的有形资产:为生产商品,提供劳务,出租或经营管理而持有的;使用年限超过一年;单位价值较高。”这应该是固定资产的准确定义。 1.1.2 固定资产的具体标准如何确定 判断固定资产的具体标准,主要有两个方面:一是时间标准,二是价值标准。根据《企业会计准则-固定资产》规定:固定资产,是指企业使用期限超过1年的房屋,建筑物,机器,机械,运输工具以及其他与生产,经营有关的设备,器具,工具等。不属于生产经营主要设备的物品,单位价值在2000元人民币以上,并且使用年限超过2年的,也应当作为固定资产。 1.1.3 固定资产如何分类 按其经济用途分类,可以分为生产经营用固定资产和非生产经营用固定资产; 按其所有权划分,可分为自有固定资产和租入固定资产; 按来源渠道划分,可分为外购的固定资产,自行建造的固定资产,接受投资转入的固定资产,接受捐赠的固定资产,以非货币资金换入的固定资产,改建扩建新增的固定资产,盘赢的固定资产,融资租入固定资产; 按使用情况划分,可以分为使用中的固定资产,未使用的固定资产和不需用的固定资产; 按其经济用途和使用情况综合划分,可分为生产经营用固定资产,非生产经营用固定资产,租出固定资产(指经营性租赁),不需用固定资产,未使用固定资产,土地,融资租入固定资产。 1.2 固定资产管理系统可行性分析及开发计划 本项目主要是根据软件工程课程的实践需要,根据固定资产管理的流程,与软件工程的理论相结合,完成本项目的开发。本项目的设计和开发目标是达到软件工程课程理论和实际相结合的目的。 1.2.1 定义: *数据流图

软件工程课程表

软件工程专业本科教学计划 专业代码080611W (国家)0406 (学校) 一、培养目标和基本规格 (一) 培养目标 软件工程专业本科生的培养目标是:针对国民经济信息化建设和发展的需要,面向软件产业界对软件工程技术人才的需求,培养具有良好的综合素质、良好的职业道德、扎实的软件工程理论知识及较强的英语综合应用能力,掌握自然科学和与软件有关的法律基础知识、具有自主学习和使用先进软件开发技术和工具的能力,具有软件开发实践和项目组织的初步经验,具有创新、创业、竞争意识和团队精神。学生毕业后能从事大型软件项目的开发,具有软件企业所需要的较高层次的软件工程技术和管理人才的素质,能适应技术进步和社会需求变化对高素质软件工程专门人才的基本要求。 (二) 培养规格 本专业学生应掌握软件工程领域坚实的基础理论和宽广的专业知识,具有良好的系统分析、设计及软件工程项目的组织与管理能力,具备运用先进软件开发技术、方法和工具的能力,具备与软件有关的法律知识,具备独立工作能力和团队精神。 毕业生应获得以下几方面的知识和能力: 1、掌握软件工程专业的基本理论、基本知识和基本技能,特别是软件项目管理与开发技术、信息系统的分析与设计技术、网络数据库开发技术、网络信息安全和嵌入式软件开发技术; 2、熟练掌握需求分析和建模、软件设计和实现、软件评审与测试、软件过程改进与项目管理、设计人机交互界面的基本方法,能运用先进软件技术和开发工具进行软件系统的开发与维护工作。 3、掌握与软件有关的法律法规、国际惯例,具备自觉运用法律知识进行软件知识产权保护的素质。 4、具有创业意识、创新精神和良好的职业素质,具有良好的人际沟通能力和团队精神。 5、了解软件工程领域的最新成果、发展动态和法律法规; 6、具有良好的英语写作和交际能力,外语水平达到规定的等级要求。 二、学制:四年。 三、授予学位:工学学士。

软件工程(双语)复习提纲

Chapter 1 An Introduction to Software Engineering *What is software? -Computer programs and associated documentation and Data -Two fundamental types of software product: generic products and customized products *What is software engineering? -Software engineering is an engineering discipline which is concerned with all aspects of software production *What is the difference between software engineering and computer science? -Computer science is concerned with theory and fundamentals; -software engineering is concerned with the practicalities of developing and delivering useful software *What is a software process? -A set of activities whose goal is the development or evolution of software -Generic activities in all software processes are: ?Specification 、Development 、Validation 、Evolution Chapter 4 Software Process *Software process -Software processes are the activities involved in producing and evolving a software system. -A structured set of activities required to develop a software system:specification;designand implementation;validation;evolution. -General process activities are specification, design and implementation, validation and evolution. *Software process models -Software process models are abstract representations of these processes. -Generic process models describe the organisation of software processes. Examples include the waterfall model, evolutionary development and component-based software engineering.

软件工程课程设计

软件工程课程设计 学生姓名学号200710411 院(系) 信息科学与技术 专业计算机科学与技术 题目网络论坛系统 指导教师曾宇 2010 年06 月

目录 1前言 (1) 1.1 选题背景和意义 (1) 1.2 系统要解决的问题 (1) 2 相关技术及运行环境简介 (1) 2.1 JSP技术简介 (1) 2.2 JAVABEAN技术简介 (2) 2.3 JDBC技术简介 (2) 2.4 TOMCAT技术简介 (3) 2.5 运行环境 (3) 3 需求分析 (3) 3.1 用户功能需求 (4) 3.2 数据需求 (5) 4 系统整体设计 (5) 4.1 系统模块结构设计 (5) 4.2 数据库设计 (9) 4.2.1 E-R图分析 (9) 4.2.1.1 ER模型 (9) 4.2.1.2 联系定义 (15) 4.2.2 数据表设计 (15) 4.3系统流程图 (18) 5 详细设计 (19) 5.1 用户登录模块 (20) 5.2 用户注册模块设计 (21) 5.3 帖子主题模块设计 (22) 5.4 浏览帖子模块设计 (23) 5.5 发表帖子模块设计 (24) 5.6 其他模块设计 (25) 5.6.1查询用户模块 (25) 5.6.2帖子管理模块 (25) 6 系统运行和测试 (25) 6.1 测试运行情况 (25) 6.2 程序有待改进方面 (26) 结论 (27)

1前言 1.1 选题背景和意义 在二十一世纪,地球因为互联网的存在,早已变成一个村落。人们在互联网世界里尽情的遨游,享受着Internet带来的无限乐趣。我们习惯了上网看新闻、去论坛看帖、网上购物、撰写自己的网络日志等等。当然,最离不开的,还是各种搜索引擎,帮我们找到想要的信息。总之,互联网已经成为我们的一种生活方式,一个巨大的知识库。本篇设计论文,围绕如何构建网上论坛系统展开研究。网上论坛系统(BBS)是各种信息交流和传布的场所,它不同于电视报纸等传统的媒体,任何人都可以随便的在BBS上发表自己的言论,不受任何限制。除了可以发表文字信息外可以上传和转贴图片、音乐、Flash,可以选择字号、颜色,还可以选择有趣的表情图案。只要花几分种注册(甚至不需要)你就能畅游BBS,从中得到无穷的乐趣。本系统就是基于以上功能的一个BBS,旨在为广大网民提供了一个交流平台,能够在这里畅所欲言,发表自己的看法、观点,同时能够结交朋友为生活增添乐趣。 1.2 系统要解决的问题 本系统要解决网上论坛(BBS)管理的基本功能:用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、作者查找、个人资料修改。版主可以添加版块,修改版块,查看版主信息,修改版主信息。管理员可以对帖子进行管理,修改管理员自己的信息。超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。在设计过程中要解决了JSP最常见的中文乱码问题,并针对不同平台总结出了处理乱码的方法,为今后系统的移植做了铺垫。在数据库连接方面采用数据库连接池技术,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个。 2 相关技术及运行环境简介 2.1 JSP技术简介 JSP是服务器端的脚本语言,是以SERVLET为基础开发而成的动态网页生成技术,它的底层实现是JAVA SERVLET。 JSP(JAVA SERVER PAGES)由HTML代码和潜入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些代码进行处理,然后将生产的HTML页面返回客户端的浏览器。按照脚本语言是服务于某一个子系统的语言这种论述,JSP应当被看作是一种脚本语言。

软件工程专业本科教学计划(软件工程课程表).docx

软件工程专业本科教学计划 一、培养目标和基本规格 (一) 培养目标 软件工程专业本科生的培养目标是:针对国民经济信息化建设和发展的需要,面向软件产业界对软件工程技术人才的需求,培养具有良好的综合素质、良好的职业道德、扎实的软件工程理论知识及较强的英语综合应用能力,掌握自然科学和与软件有关的法律基础知识、具有自主学习和使用先进软件开发技术和工具的能力,具有软件开发实践和项目组织的初步经验,具有创新、创业、竞争意识和团队精神。学生毕业后能从事大型软件项目的开发,具有软件企业所需要的较高层次的软件工程技术和管理人才的素质,能适应技术进步和社会需求变化对高素质软件工程专门人才的基本要求。 (二) 培养规格 本专业学生应掌握软件工程领域坚实的基础理论和宽广的专业知识,具有良 好的系统分析、设计及软件工程项目的组织与管理能力,具备运用先进软件开发 技术、方法和工具的能力,具备与软件有关的法律知识,具备独立工作能力和团 队精神。 毕业生应获得以下几方面的知识和能力: 1、掌握软件工程专业的基本理论、基本知识和基本技能,特别是软件项目管 理与开发技术、信息系统的分析与设计技术、网络数据库开发技术、网络信息安 全和嵌入式软件开发技术; 2、熟练掌握需求分析和建模、软件设计和实现、软件评审与测试、软件过程 改进与项目管理、设计人机交互界面的基本方法,能运用先进软件技术和开发工 具进行软件系统的开发与维护工作。 3、掌握与软件有关的法律法规、国际惯例,具备自觉运用法律知识进行软件 知识产权保护的素质。 4、具有创业意识、创新精神和良好的职业素质,具有良好的人际沟通能力和 团队精神。 5、了解软件工程领域的最新成果、发展动态和法律法规; 6、具有良好的英语写作和交际能力,外语水平达到规定的等级要求。 二、学制:四年。 三、授予学位:工学学士。

软件工程课程设计要求

《软件工程》课程设计 一、目的、要求 通过该课程设计使学生树立起强烈的工程化意识,用工程化思想和方法开发软件,切实体会用软件工程的方法开发系统与一般程序设计方法的不同之处。学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。 二、主要内容 要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目,题目可参考附录A,也可自行拟定题目,按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。分别、选用传统的结构化方法和面向对象的方法,开发环境和工具不限。 三、设计成果要求 1.提交软件系统,根据完成情况给分; 2.提交设计报告文档 设计报告将从以下三个方面给分: (1)报告是否规范,符合要求; (2)报告是否完整、工作量大小; (3)文档逻辑性是否合理、语言是否流畅。 四、进度安排 (1)确定选题,进行可行性分析,开发计划 (2)软件需求分析 (3)软件设计 (4)软件实现,测试计划 (5)软件实现,测试报告 (6)验收

附录A 课程设计题目 题目一:电子商务网站建设 一个集客户购物、下订单、订单处理、销售统计等功能于一体的系统。通过浏览器,创建账户/登陆账户,让客户可以查询货物,把货物放入购物车,创建订单,通过信用卡支付等。系统划分成了多个模块,松耦合的设计架构,允许可以和多个数据源,EIS(企业信息系统)进行交互。功能如下: 1.用户 注册/登陆/忘记密码/管理个人信息 查询货物 购物车管理 提交订单 信用卡支付 查询历史购物记录 2.货物商店 接受/处理订单消息 手工接受/拒绝订单 用E-mail来通知客户 发订单给供应商 销售统计 3.供应商 接受订单 派送货物给用户 提供一个基于web的库存管理 维护库存数据库 题目二:外文图书采购系统 1.问题概述 某图书馆外文采购有两个组--征订组和验收,登记组。分别承担书籍订购和进书验收任务。为了减轻劳动强度和提高工作效率,打算采用计算机进行管理。为此,系统分析员在进行了调查研究,描述出外文采购室现行系流程。 1)订书组从供书单价收到订书目录,根据各单位的需要选择出要订购的书目。

软件工程复习资料

软件工程的定义:软件工程是一门研究如何用系统化、规范化、数量化等工程化思想和方法去进行软件开发、维护和管理的学科。 软件危机的定义:软件开发和维护过程中所遇到的如软件规模越来越大,复杂度不断增加,软件的需求量日益增大等的严重问题我们称之为软件危机。 软件工程有哪些基本的思想:a.推迟实现的观点b.逐步求精的观点c.分解与抽象的观点d.信息隐蔽的观点e.质量保证的观点 CMM(Capability Maturity Model)能力成熟度模型,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。 极限编程(Extreme Programming , XP)是一种软件工程方法学是敏捷软件开发中最富有成效的几种方法学之一。它的的核心有四个要点:交流、简单、反馈、勇气 软件生命周期模型:通常把软件生命周期中各项开发活动的流程用一个合理的框架——开发模型来规范描述,这就是软件过程模型,或者称为软件生命周期模型。 软件需求分类:功能需求、非功能需求和领域需求 结构化分析(Structured Analysis, SA) 结构图(Structure Chart ,SC) 面向对象的一些概念:类是具有相同或相似性质的对象的抽象。实例是类的具体化。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。消息是指对象间相互联系和相互作用的方式 数据流类型:变换型数据流、事务型数据流、混合型数据流 Jackson图:Jackson图是Jackson方法分析和设计最有效的表达手段,用它既可以描述问题的数据结构,也可以描述软件的程序结构。Jackson图的优点是便于表示层次结构,利于结构自顶向下分解,形象直观,可读性好。Jackson方法用某种形式的伪码给出程序的过程性描述。伪码一般采用结构化形式的英语描述,例如,用”select”语句描述选择结构,用”until”或”while”语句描述重复结构。 结构化程序设计的三种基本逻辑结构是:顺序结构、选择结构和循环结构。 类与类之间的关系:关联、泛化、聚集 软件设计的三类活动:软件设计的第一类活动是软件结构设计,也称为总体设计、概要设计或高层设计。第二类活动是软件详细设计,也称为(模块)过程设计或底层设计。第三类活动是设计测试。 软件模块化设计的指导思想:分解、抽象、逐步求精、信息隐蔽和模块独立性。 软件模块化设计的定义:把一个大型软件系统的全部功能,按照一定的原则合理地划分为若干个模块,每个模块完成一个特定子功能,所有的这些模块以某种结构形式组成一个整体。 模块独立性的定义及控制标准:模块独立性是模块化、抽象、信息隐蔽概念的直接结果,也是判断模块化结构是否合理的标准。模块独立性可以由两个定性标准度量,即模块自身的内聚和模块之间的耦合。 内聚性、耦合性和抽象的定义:内聚性是从功能的角度对模块内部聚合能力的量度,耦合性是对一个软件结构内不同模块之间互连程度的度量。抽象是一种从一般的观点看待事物的方法,它要求我们集中于事物的本质特征(内部状态和运动规律),而非具体细节或具体实现。 信息隐蔽定义:每个模块对其他所有模块都隐蔽自己的设计决策,也就是说,模块应该详细说明且精心设计以求在某个模块中包含的信息不被不需要这些信息的其他模块访问。 按耦合度从低到高依次有7种耦合方式:a.非直接耦合(独立运行)b.数据耦合(用参数表传递简单数据)c.标记耦合(传递数据结构或者一部分)d.控制耦合(传递的信息包括控制模块的信息)e.外部耦合(模块与软件之外的环境有关)f.公共耦合(多个模块引用同一全局的数据区)g.内容耦合(访问内部数据,代码重叠或者多个入口)按内聚度从低到高依次有7种内聚种类:a.偶然内聚(模块完成的多个任务,任务之间的关系松散)b.逻辑内聚(模块完成逻辑相关的一组任务)c.瞬时内聚(模块的所有任务必须在同一时间间隔内执行)d.过程内聚(模块的处理元素相关而且按照特定的次序执行)e.通信内聚(模块的所有元素集中在一个数据结构区域上)顺序内聚(模块的处理元素相关,必须顺序执行)f.功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)结构化设计方法(SD)是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础上发展起来的。 软件维护类型及对应方向的维护: 纠错性维护:对在测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程。纠错性维护占整个维护工作的21% 完善性维护:为了满足这些日益增长的新要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、

相关文档
最新文档