太原理工大学软件工程《系统分析与设计》实验报告

太原理工大学软件工程《系统分析与设计》实验报告
太原理工大学软件工程《系统分析与设计》实验报告

本科实验报告

课程名称:系统分析与设计

实验项目:《企业人事管理系统》实验

实验地点:逸夫楼404

专业班级:软件工程XXXX班学号:XXXXXX 学生姓名:XXXX

指导教师:雷红

2016年11月 1 日

一、实验目的

通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析与系统设计中的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息系统分析与设计的规范,为后继的学习打下良好的基础。

二、实验要求

学生以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设计,并完成实验报告。实验报告以纸质版(A4)、电子版在课程结束前提交(10周)。

三、实验主要设备:

台式或笔记本计算机

四、实验内容

1 选题及项目背景

企业人事管理系统

2 定义

企业指定人员通过第一次登录,输入用户名:TSoft,密码:111进入系统,在档案管理模块建立超级管理员档案,然后在新增用户模块设置为管理员,系统默认第一个被设置被设置的管理员为超级管理员。然后第二次登录输入用户名:T00001,密码:111进入系统,在修改密码模块修改超级管理员登录密码,在档案管理模块建立普通管理员档案,在新增用户模块设置为管理员,除了第一个被设置的管理员外均为普通管理员。管理员使用账号密码登录,然后可以在系统中进行密码修改,在档案管理模块维护员工档案,在考勤管理模块填写考勤信息,在奖惩管理模块填写奖惩信息,在培训管理模块维护培训信息,在人员设置模块设置员工采用的账套。在统计报表模块生成员工待遇报表。在企业架构模块维护部门企业设置,在基本资料模块维护系统的基本资料。如果点击初始化系统加点将对系统进行初始化恢复到原始状态,通过系统工具模块可以打开系统中常用的计算器、Excel等。

3 参考资料

J A V A项目全程开发

4 系统分析与设计

4.1需求分析

4.1.1识别参与者

用户、管理员、普通管理员、超级管理员 4.1.2 对需求进行捕获与描述

(内容要求2:选择其中一个用例(如下订单)给出其用例描述。格式参考下表

4)退出

5)第二次登录输入用户名T00001 密码:111

6)用户密码正确,在修改密码模块修改超级管理员密码

7)在档案管理模块建立普通管理员档案

8)在新增用户模块设置为管理员,除了第一个被设置的管理员

外均为普通管理员

100.6. 2 扩展事件流(Alternative

Flows)

E-1(替代第2步):如果用户名和密码不正确,则重新输入

E-2(替代第6步):如果用户名和密码不正确,重新输入。

4.1.3 用例图

通过已掌握的需求,初步了解系统所要完成的功能。下面给出用例图。

4.1.4 分析与讨论

1)建模用例图的步骤、方法?

答:使用starUML进行绘制,创建用例图模型,根据分析结果进行添加用例,对参与者和用例进行关系关联。

2)如何识别系统的参与者?应该如何划分用例,应注意哪些问题?

答:根据系统描述进行逻辑上的判断。根据每个用例触发者的不用来划分用例。

3)心得

答:对UML图建模的操作,掌握了用例图的实际操作,包括对系统参与者的识别和用例的识别。对模型的了解和体会加深。

4.2 建立对象模型

4.2.1 候选类的数据字典

4.2.2定义类

“考勤信息”类

?属性

迟到:文本(String)

请假:文本

加班:文本

?操作无

4.2.3绘制类图

普通管理员和超级管理员继承自管理员类,一个管理员可以拥有一个管理员档案,一个管理员档案也只能被一个管理员拥有。普通管理员档案和超级管理员档案继承自管理员档案。一个管理员可以使用多个工具,一个工具只能被一个管理员使用。一个管理员可以进行多个人事信息的管理,一个人事信息的管理只能被一个管理员操作。一个人事信息对应一个待遇信息,一个待遇信息也唯一对弈一个人事信息。

4.2.4包图

对于大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。对所选系统的类进行分组,以便更清晰地了解系统的结构。

4.2.5分析与讨论

1)建模类图的步骤、方法?

答:STARUML-新建类图模型-添加类-添加关系。事先进行分析,然后对确定的类进行直接绘制。

2)识别类有哪些方法,你是如何识别类的?

答:名词识别法。

3)解释关联的多重性?如何确定类的属性、操作、类之间的关联关系、组织类之间的继承?

答:一个类可以被多个类关联,一个类也可以关联多个类。根据系统描述信息进行逻辑上的判断和确认。

4.3 建立动态模型

系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。在系统的分析和设计中应当对主要的Use Case和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。

4.3.1顺序图

顺序图描述:普通管理员输入用户名和密码,输入到屏幕,屏幕将信息和管理员档案进行核实,如果正确,则返回正确登录,若果错误则返回账号密码不正确的登录失败的结果。

4.3.2 通信图

4.3.3活动图

活动图的主要作用是表示系统的业务工作流和并发处理过程。针对自选系统主要的业务工作流绘制活动图。

绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。

4.3.4状态图

状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。

此状态图是一个企业员工的状态。从被管理员加入档案的时候,状态变成实习员工,被正式分配部门以后变成了正式员工,录入培训信息的时候状态变成培训中,添加奖励

后变成待奖励状态,奖励后状态变成正式员工。添加惩罚信息后状态变成待惩罚,惩罚后状态变成正式员工。

4.3.5 分析与讨论

比较顺序图与通信图、活动图与状态图的应用。

答:顺序图强调交互顺序,在编程时候用于对象的交互顺序。通信图强调对象之间的交互,在编程的时候用于方法的创建。活动图表示活动的整个流程,状态图用于对象状态信息的转换。

4.4物理模型

4.4.1 建立构件图

系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。

PersonalManager.exe用来启动整个系统,是系统的执行文件。IndexFrame.java是整个系统的UI 界面。负责与用户提供交互接口。功能的实现通过调用人事管理模块、待遇管理模块、系统维护模块来实现功能。Hibernate.cfg.xml、TbRecord.java、BaseDao.java是连接和持久化写入数据的文件,用来连接底层Oracle数据库。

4.4.2 建立部署图

客户服务器上有IndexFrame.java文件,经常调用的功能专门放置在应用处理器上来实现各个功能的数据处理。在数据库服务器上放置Hibernate.cfg.xml、TbRecord.java、BaseDao.java这些与数据库相关的文件。数据库服务器单独存放Oracle数据库。

太原理工大学计算机网络实验报告

本科实验报告 课程名称:计算机网络B 实验地点:行勉楼 专业班级:学号 学生姓名: 指导教师: 实验成绩: 2016年 6 月 14 日

实验3 VLAN基本配置 一、实验目的 掌握交换机上创建VLAN、分配静态VLAN成员的方法。 二、实验任务 1、配置两个VLAN:VLAN 2和VLAN 3并为其分配静态成员。 2、测试VLAN分配结果。 三、实验设备 Cisco交换机一台,工作站PC四台,直连网线四条,控制台电缆一条。 四、拓扑结构 五、实验结果 PC0到PC1 想通 PC0到PC2 不通,不在相同VLAN PC2到PC3 不通,网段不同。 Switch#sh run Building configuration... Current configuration : 1127 bytes ! version 12.1 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname Switch ! ! spanning-tree mode pvst ! interface FastEthernet0/1

! interface FastEthernet0/2 switchport access vlan 2 ! interface FastEthernet0/3 switchport access vlan 2 ! interface FastEthernet0/4 switchport access vlan 2 ! interface FastEthernet0/5 switchport access vlan 3 ! interface FastEthernet0/6 switchport access vlan 3 ! interface FastEthernet0/7 switchport access vlan 3 ! 六、实验心得 输入容易出现错误。重复输入次数多。

太原理工大学软件工程《数据结构实验报告4-查找》

本科实验报告 课程名称:数据结构B 实验项目:查找 实验地点:行勉楼C214 专业班级:软件XXX班学号:2014XXXX 学生姓名:xxxxx 指导教师:牛之贤张润梁 2016年 1 月 1 日

void insertBST(BiTree *bt, BiTree s) { if (*bt == NULL) *bt = s; else if (s->data.key<(*bt)->data.key) insertBST(&((*bt)->lchild), s); else if (s->data.key>(*bt)->data.key) insertBST(&((*bt)->rchild), s); } main() { char ch; KeyType key; BiTree bt, s; int i = 0; printf("请输入元素:\n"); scanf("%d", &key); bt = NULL; while (key != -1) { s = (BiTree)malloc(sizeof(BiTNode)); (s->data).key = key; s->lchild = s->rchild = NULL; insertBST(&bt, s); scanf("%d", &key); } do { printf("输入你想要查找的元素:"); scanf("%d", &key); s = searchBST(bt, key); if (s != NULL) printf("成功! 这个等价元素是 %d.\n", s->data.key); else printf("没有找到!\n"); printf("是否继续查找?(y/n):"); scanf("%c", &ch); ch = getchar(); } while (ch == 'y' || ch == 'Y'); getchar(); } 4.2#include int b_search(int *p, int l, int r, int key); int main() { int a[10] = { 1,2,3,4,5,6,7,8,9,10 }; int i, p, k; for (i = 0; i < 10; i++) { printf("a[%d]=%d\n", i, a[i]); } for (i = 0; i<2; i++) {

软件工程导论作业答案

学号_31009210** 姓名_朱某某班级_软件10* 作业一 1.什么是软件危机?它有哪些典型表现?为什么会出现软件危机? “软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。这些问题不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。 “软件危机”包含两方面的问题: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 它们有以下表现: (1)对软件开发成本和进度的估计常常很不准确; (2)用户对“已完成的”软件系统不满意的现象经常发生; (3)软件产品的质量往往靠不住; (4)软件常常是不可维护的; (5)软件通常没有适当的文档资料; (6)软件成本在计算机系统总成本中所占的比例逐年上升; (7)软件开发生产速率提高的速度,远远跟不上计算机应用普及深入的趋势。 出现软件危机的原因 (1)开发人员与客户认识之间的矛盾 (2)开发人员能力与开发目标之间的矛盾 (3)预估与实际工作量之间的矛盾 (4)客户认识的提高与软件维护之间的矛盾 (5)遗产系统与实施软件之间的矛盾 2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面比较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价俱增。在软件“已经完成”时再引入变动,当然付出的代价更高。一个故障时代码错误造成的,有时这种错误时不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。 3.什么是软件工程?他有哪些本质特征?怎样用软件工程消除软件危机? 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效的维护它,这就是软件工程。 本质特征: 软件工程关注于大型软件的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效支持它用户

《软件工程导论》实验报告

2011-2012(2)《软件工程导论》实验报告 学院:计算机学院 班级:软件工程114 姓名:黄芳恺 学号:119074258 目录 实验1:项目计划、分析和设计 实验2;编码 实验3:代码复查、编译 实验4:项目测试总结

软件工程导论实验一:项目计划、分析和设计 [ 实验日期 ] 2012 年 4 月 20 日 [ 实验目的 ] 初步了解结构化分析、设计方法的原理、步骤以及各阶段的文档,练习撰写简要的需求文档、设计文档。 [ 实验内容 ] 贪吃蛇程序:贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物则表示食物被蛇吃掉,这时蛇的身体长一节,同时计1分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体,游戏结束。根据编写贪吃蛇的游戏规则,我们利用c语言来进行编辑具体步骤,从而使游戏能够运行,根据编写贪吃蛇程序,掌握软件工程思想及要领,进一步巩固编程思想和掌握画图函数底层,依据项目可行性研究的结果,进行需求分析和设计,编写简要的需求规格说明书,绘制程序流程图。 [ 实验原理和步骤] 当前的建模方法主要有传统的结构化分析、设计方法(SA/D)和面向对象分析、设计方法(OOA/D)两种。 分析阶段: 结构化分析(SA)是一种建模技术,它通过一定方法帮助开发人员定义系统需要什么功能,系统需要存储和使用哪些数据,以及为完成这些功能,系统需要什么样的输入和输出以及如何把这些功能结合在一起来完成任务。 设计阶段: 分总体设计和详细设计两阶段。总体设计阶段的任务主要是确定系统由哪些模块组成,以及这些模块之间的相互关系;详细设计阶段的任务主要是设计每个模块的处理过程。常用的结构化设计(SD)方法有面向数据流分析(DFA)的设计方法和面向数据的设计方法。DFA设计技术实施的通用步骤:(1)复查并精化DFD;(2)确定DFD类型; (3)把DFD映射到系统模块结构,设计出模块结构的上层;(4)基于DFD逐步分解高层模 块,设计出下层模块〈初步结构〉;(5)根据模块独立性原理,精化模块结构,得到更为合理的软件结构;(6)模块接口描述;(7)修改和补充数据词典;(8)制定测试计划。 详细设计阶段的任务主要是确定每个模块的处理过程,包括(1)确定每个模块的算法。(2)确定每一个模块的数据组织。(3)为每个模块设计一组测试用例。(4)编写详细设计说明书。详细设计阶段采用的方法是结构化程序设计(SP),与SA,SD方法衔接。目标是给出可以直接用以编码的程序逻辑结构,强调清晰第一。 设计思路: 这个程序的关键点是表示蛇的图形以及蛇的移动。用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不

javaEE实验报告

西安科技大学《JAVAEE框架开发技术》 实验报告 学院:计算机科学与技术学院 专业及班级:软件工程1202班 学号: 12 姓名:_ 黄子斌

2015年12 目录 实验一 struts基础实验........................................错误!未定义书签。 1. 实验类型..............................................错误!未定义书签。 2. 实验目的..............................................错误!未定义书签。 3. 实验要求..............................................错误!未定义书签。 4. 实验内容..............................................错误!未定义书签。 1. 文件的配..........................................错误!未定义书签。 2. 文件配置..........................................错误!未定义书签。 3. Action的实现.....................................错误!未定义书签。 4. 运行结果..........................................错误!未定义书签。实验二持久化层hibernate .....................................错误!未定义书签。 1. 实验类型..............................................错误!未定义书签。 2. 实验目的..............................................错误!未定义书签。 3. 实验要求..............................................错误!未定义书签。 4. 实验内容..............................................错误!未定义书签。 1. 文件配置..........................................错误!未定义书签。 2. 实体类和映射文件..................................错误!未定义书签。 3. 运行结果..........................................错误!未定义书签。实验三 SSM整合实验...........................................错误!未定义书签。 1. 实验类型..............................................错误!未定义书签。 2. 实验目的..............................................错误!未定义书签。 3. 实验要求..............................................错误!未定义书签。 4. 实验内容..............................................错误!未定义书签。 1. 文件配置..........................................错误!未定义书签。 2. 文件配置.........................................错误!未定义书签。

太原理工大学计算机网络实验报告

本科实验报告 课程名称:计算机网络B 实验地点:行勉楼 专业班级:学号 学生姓名: 指导教师: 实验成绩: 2016年 6 月14 日

实验3 VLAN基本配置 一、实验目的 掌握交换机上创建VLAN、分配静态VLAN成员的方法。 二、实验任务 1、配置两个VLAN:VLAN 2和VLAN 3并为其分配静态成员。 2、测试VLAN分配结果。 三、实验设备 Cisco交换机一台,工作站PC四台,直连网线四条,控制台电缆一条。 四、拓扑结构 五、实验结果 PC0到PC1 想通 PC0到PC2 不通,不在相同VLAN PC2到PC3 不通,网段不同。 Switch#sh run Building configuration... Current configuration : 1127 bytes ! version 12.1 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname Switch ! ! spanning-tree mode pvst ! interface FastEthernet0/1

! interface FastEthernet0/2 switchport access vlan 2 ! interface FastEthernet0/3 switchport access vlan 2 ! interface FastEthernet0/4 switchport access vlan 2 ! interface FastEthernet0/5 switchport access vlan 3 ! interface FastEthernet0/6 switchport access vlan 3 ! interface FastEthernet0/7 switchport access vlan 3 ! 六、实验心得 输入容易出现错误。重复输入次数多。

软件工程导论(第五版)课后习题测验答案

《软件工程导论》课后习题答案 第一章软件工程概论 1-1 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.软件危机有那些典型表现? (1)对软件开发成本和进度的估计常常很不准确。 (2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常是不可维护的。 (5)软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 3.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 1-3、

软件工程导论实验报告

<<软件工程概论>> 实验报告 姓名:李治 学号:100511210 班级:网工1001 指导教师:桂兵祥 实验一“图书馆系统”结构化需求分析

上机任务: 用结构化需求分析方法完成下列任务: (1)对“图书馆系统”问题进行描述; (2)对该系统进行功能分析; (3)建立数据流图; (4)建立实体 - 关系图; (5)建立数据字典; 一、图书馆系统的问题描述: ① 一个图书馆藏有图书和期刊杂志两大类书籍,每种图书/杂志可以有多册。 ② 图书馆可以维护(注册、更新和删除)图书资料。 ③ 图书馆管理员负责与借书者打交道。 ④ 借书者可以预约目前借不到的书或杂志。 ⑤ 所有人员都可以浏览图书馆的图书信息和各种告示。 ⑥ 系统能在流行的技术环境下运行,有一个良好的图形交互界面。 ⑦ 系统应具有良好的可扩展性。 二、图书馆系统功能分析: ① 浏览功能:所有人员都可以浏览图书馆的图书信息。 ② 借还功能:借书者可以借/续借、还、预约图书。 ③ 图书管理功能:图书管理人员可以做录入、更新和销毁等图书信息维护工作。④ 借书者管理:系统管理人员可进行注册、更改、注销借书者信息等维护工作。 三、建立数据流图: 1、图书馆系统的基本逻辑模型: 浏览图书 浏览者 图书信息 浏览信息 2、借/还功能数据流图: (1)借/还功能(第一步)DFD : 借书还书 续借预约 书目号和借书 证号 书目号 书目号 标题号和借书 证号 管理员 借书者 借书者 显示信息 (2)借/还功能(修改)DFD :

借书还书续借预约 书目号和借书 证号 书目号 书目号 标题号和借书 证号 管理员 借书者 3、维护功能数据流图: (1)维护功能(第一步)DFD : 更改借者注销借书者 录入新书更新图书管理员 注册借书者销毁图书处理罚金 管理员 (2)维护功能(修改) DFD : 录入标题修改标题删除标题录入新书管理员 销毁书目修改书目 标题信息 标题号 标题号 书目信息 书目号 书目号 4、借书功能细化的数据流图:

太原理工大学web实验报告资料

本科实验报告 课程名称:Web开发实用技术基础 实验项目:HTML语言 网页程序设计Javascript Request与Response对象的应用 Application与Session对象的应用 实验地点:实验室211 专业班级:学号: 学生姓名: 指导教师: 2015年11月5日

学院名称学号实验成绩 学生姓名专业班级实验日期 课程名称Web开发实用技术基础实验题目HTML语言 一.实验目的和要求 1.掌握常用的HTML语言标记; 2.利用文本编辑器建立HTML文档,制作简单网页。 3.独立完成实验。 4.书写实验报告书。 二.实验内容 1.在文本编辑器“记事本”中输入如下的HTML代码程序,以文件名sy1.html保存,并在浏览器中运行。(请仔细阅读下列程序语句,理解每条语句的作用) 源程序清单如下: Example

welcome to you


A simple HTML document

Welcome to the world of HTML This is a simple HTML document.It is to give you an outline of how to write HTML file and how the markup tags work in the HTML file Following is three chapters
Following is items of the chapter two

太原理工大学多媒体实验报告

本科实验报告 课程名称:多媒体技术与应用 实验项目:《多媒体技术与应用》课程实验实验地点:思贤楼1108 专业班级:学号:201200 学生姓名: 指导教师:廖丽娟 2015年12月6日

太原理工大学学生实验报告

4)Rm格式 Rm是RealMedia文件的简称。 Real Networks公司所制定的音频视频压缩规范称为RealMedia,是目前在Internet上相当流行的跨平台的客户/服务器结构多媒体应用标准,它采用音频/视频流和同步回放技术来实现在Intranet上全带宽地提供最优质的多媒体,同时也能够在Internet上以28.8Kbps的传输速率提供立体声和连续视频。 4.硬件准备 目前,多媒体计算机中的音频处理工作主要借助声卡,从对声音信息的采集、编辑加工,直到声音媒体文件的回放这一整个过程都离不开声卡。声卡在计算机系统中的主要作用是声音文件的处理、音调的控制、语音处理和提供MIDI接口功能等。 进行录制音频信号所需的硬件除了声卡,还有麦克风、音箱以及外界的音源信号设备(如CD唱机、录音机等),把麦克风、音箱、外界音源信号设备与声卡正确连接完成硬件准备工作。 【实验步骤】 1.准备一段语音文件,本次实验使用机器猫的一段无音乐文件,文件名为机器猫.wav使用声音编辑软件(如Cool Edit)导入该语音素材: 2.使用“另存为”命令分别以A/mu-Law Wave、Microsoft ADPCM、PM3格式进行保存。将各种格式的语音文件的声音参数(如采样频率、量化精度、压缩算法、压缩前后的数据量等)以表格的形式记录: 采样频率量化精度压缩前压缩后压缩率A/mu-Law 44.1K/hz 8位 1.56 MB 218K 13% Wave Microsoft 44.1K/hz 4位 1.56 MB 402K 25% ADPCM PM344.1K/hz 1.56 MB 799K 50% 3.使用声音编辑软件(如Cool Edit)对语音进行降低噪声处理的方法:首先,导入要处理的波形文件,在单轨编辑区内,点击波形水平放大按钮将波形水平放大,找出一段适合用来作噪声的采样波形,选中采样波形,单击鼠标右键,在弹出的菜单中

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案第一章软件工程概论 1.什么是软件危机? 软件危机是指在运算机软件的开发和爱护过程中所遇到的一系列严峻咨询题。这些咨询题表现在以下几个方面:(1)用户对开发出的软件专门难中意。(2)软件产品的质量往往靠不住。(3)一样软件专门难爱护。(4)软件生产效率专门低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估量。(7)软件技术的进展远远满足不了运算机应用的普及与深入的需要。 2.什么缘故会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正明白得软件产品是一个完整的配置组成。造成开发中制定打算盲目、编程草率,不考虑爱护工作的必要性。(2) 软件本身方面,关于运算机系统来讲,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件爱护困难。(3) 专门是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估量、爱护困难等一系列咨询题更为突出,技术的进展差不多远远不能适应社会需求。 3.如何样克服软件危机? (1) 充分吸取和借鉴人类长期以来从事各种工程项目中积存的行之有效的有效原理、概念、技术与方法,专门是吸取几十年来人类从事运算机硬件研究和开发的体会教训。在开发软件的过程中努力作到良好的组织,严格的治理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在运算机系统早期进展时期形成的一些错误概念和作法。(3) 按照不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个时期使用的软件工具集合成一个整体,形成一个专门好的软件开发支环环境。总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织治理措施。

2014太原理工大学C++实验报告

本科实验报告 课程名称:C++面向对象程序设计 实验项目:C++语言编程 实验地点:明向校区 专业班级:软件1431 学号:201400XXXX 学生姓名:白建兴 指导教师:崔晓红 2015年5月10日

1.运行例题程序: #include using namespace std; void fn1(int z=5); int x=1,y=2; int main() { cout<<"Begin. . ."<>p[i]; if(p[i]>0) plus++; else if(p[i]!=0) minus++; } cout<<"正数的个数:"<

太原理工大学软件工程实验报告

本科实验报告 课程名称:软件工程导论 实验项目:教务管理系统之子系统—学院课程安排报告 实验地点: 专业班级:学号: 学生姓名: 指导教师: 2015年5 月15 日

项目说明 教务管理系统之子系统——学院课程安排 1.系统简介 每个学期的期中,学校教务处会分类向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务要求给出各门课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。 假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。2.限定条件 (1)原则上,每位教师每学期主讲的课程门数不超过2门。 (2)严格限制:每位教师每年教学工作量不得低于300,不得超过600。 (3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。 (4)本系统的输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计划和学院制定的有关授课限制条件。 (5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。 附工作量计算子系统中的课堂教学工作量计算方法(简化计算): 1.单班课计划学时*1.0 双班课计划学时*1.3 三班课计划学时*1.6 四班课计划学时*2.0 2.双语教学 计划学时*合班系数*2.0 3.精品课程 国家级精品课程计划学时*合班系数*1.5 省级精品课程计划学时*合班系数*1.1

软件工程导论第六版课后习题答案

第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。

软件工程导论作业解析

软件工程导论作业 Chapter1 1.1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 答:软件危机是指在计算机软件开发和维护过程中所遇到的一系列的严重问题。 它的典型表现:1.软件开发成本高,成本难以控制。2.研究周期长,软件开发进度难以控制,周期拖得很长。3.正确性难以保证,软件质量差,可靠性难以保证。4.软件维护困难,维护人员和维护费用不断增长。5.软件发展跟不上硬件的发展和用户的要求。 它出现的原因一方面是由于软件生产本身存在着复杂性,另一方面是与软件开发所使用的方法和技术有关。软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。管理和控制软件开发工程相当困难,软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业技术人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成为软件危机的主要原因。 1.2 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 答:软件工程是将系统化的,规范化的,可度量的方法应用于软件开发,运行和维护的过程,即将工程化应用于软件中。 它的本质特性:1.软件工程关注于大型程序的构造 2.软件工程的中心课题是控制复杂性 3.软件经常化 4.开发软件的效率非常重要 5.和谐地合作是开发软件的关键 6.软件必须有效地支持它的用户 7.在软件工程领域中是由一种文化背景的人替具有另一种文化背景的人创造产品。 基本原理: 1.用分阶段的生命周期计划严格管理 2.坚持进行阶段评审 3.实行严格的产品控制 4.采用现代程序设计的技术 5.结果应能清楚地审查 6.开发小组的人员应该少而精 7.承认不断改进软件工程实践的必要性。 1.3 什么是软件?它有什么特点? 答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。 它的特点是:1.抽象而非具体 2.开发而非制造 3.退化而非磨损 4.定制而非基于构件 5.不可见 6.复杂 7.易改变 8.易复制 1.4 什么是软件过程?它与软件工程方法学有何关系? 答:软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变化必须采用的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3个重要组成部分之一。软件工程的基础是软件过程。 1.5 什么是软件生命周期模型?试比较瀑布模型、原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。 答:软件生命周期模型是软件开发全部过程,活动和任务的结构框架,它能直观表达软件开发全过程,明确规定要完成的主要活动,任务和开发策略。也叫软件开发模型。 瀑布模型优点:有利于大型软件开发过程中人员的组织,管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。 缺点:1,开发过程一般不能逆转,否则代价太大 2.实际的项目开发很难严格按

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解法、线性方程组的迭代解法、代数插值和最小二乘拟合多项式 实验地点:行勉楼 专业班级:******** 学号:********* 学生:******** 指导教师:誌,冬华 2016年4 月8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

太原理工大学操作系统实验报告课案

课程名称:操作系统B 实验项目:操作系统实验实验地点:逸夫楼 专业班级:软件14班 学生姓名:学号:2014 指导教师:张辉 2016年12 月 2 日

目录............................................................ 错误!未定义书签。实验一几种操作系统的界面 (3) 一.目的和要求 (3) 二.内容 (3) 三.程序代码 (4) 四.运行结果 (4) 实验二进程调度程序设计 (5) 一、目的和要求 (5) 二、示例 (6) 程序清单 (9) 运行结果 (9) 实验三存储管理程序设计 ............... 错误!未定义书签。 一、目的和要求.................................... 错误!未定义书签。 二、提示................................................ 错误!未定义书签。三.流程图............................................ 错误!未定义书签。程序代码................................................ 错误!未定义书签。运行结果................................................ 错误!未定义书签。实验感想.................................................... 错误!未定义书签。参考资料.................................................... 错误!未定义书签。

太原理工大学单片机实验报告

实验一双字节加法 一实验目的 (1)熟悉并掌握MCS-51指令系统和程序设计方法。 (2)掌握双字节加法的程序算法。 二实验设备 计算机 操作系统:Windows 98/2000/XP 应用软件:WAVE 6000或其他。 三实验内容 编写一个双字节加法程序并调试,设9930H存在R1R0中,6083H存在R2R3中,计算R1R0+R3R2,最后结果保存在R5R4中。 四实验原理 两数低位相加后保留进位位,高位数相加时,将低位的进位加上。 五实验程序流程图 开始 30H→R0,A9H→R1 B3H→R2,50H→R3 低位数相加 (R0)+(R2)→A,Cy A→R4 高位数带进位相加 (R1)+(R3)+(Cy) →A,Cy;A→R5 结束

七实验源程序 ORG 0 LJMP MAIN ORG 30H MAIN: MOV 30H,#25H MOV 31H,#13H MOV 32H,#14H MOV 33H,#35H MOV A,30H ADDC A,32H DA A MOV 40H,A MOV A,31H ADD A,33H DA A MOV 41H,A SJMP $ 八实验结果与分析 (40H)中的结果为39;(41H)中的结果为48.与计算结果相同说明实验正确。九实验心得与总结 通过实验增强了我们分析问题和解决问题的能力,以实践证实理论,从实践中加深对理论知识的理解和掌握。

实验二数据排序程序 一实验目的 (1)熟悉并掌握MCS-51指令系统和程序设计方法。 (2)掌握排序程序算法。 (3)掌握用循环程序实现数据排序的方法。 二实验设备 计算机 操作系统:Windows 98/2000/XP 应用软件:WAVE 6000或其他。 三实验内容 编写一个通用排序子程序并调试,其功能为将RAM的40H~4FH单元16个字节无符号二进制整数按从小到大顺序排序,将排序后的数据存放在50H~5FH缓冲区中。 四实验原理 从40H单元的第一个数开始依次和相邻单元的另一个数比较,如果顺序正确,则不作任何操作;如果顺序错误,则将这两个数位置对换。这样,在完成第一遍n-1次比较后,最小的数到了最后,所以第二遍比较只需要比较n-2次,最多作n-1遍比较就可完成排序。在比较中设立一个标志位flag清零,在循环结束时,若flag=1说明排序未完成,进入外循环;若flag=0,说明排序完成,程序结束。 五实验程序流程图

相关文档
最新文档
item content