最新851-软件工程实验讲义
- 格式:ppt
- 大小:561.50 KB
- 文档页数:7
《软件工程》实验讲义一、实验的性质、目的与任务1、实验性质《软件工程》实验是一门专业课实验,是软件工程专业学生接收软件开发实践能力培养的开端,要求学生通过本课程实验,了解从事软件开发的基本过程及基本方法,从而具有从事软件开发的基本技能。
2、实验的目的培养与提高学生从事软件开发的基本技能、独立思考以及分析问题和解决问题的能力,提高系统设计的能力。
3、实验的任务通过实验,使学生进一步掌握《软件工程》课程的基本原理和方法,加深对《软件工程》理论知识的理解和掌握。
二、实验内容与学时分配三、实验内容与实验要求实验一需求分析实验目的:会写需求说明;熟悉数据流图;熟悉数据库设计实验内容:假设某美国大学共有200名教师,校方与教师工会签定了一项协议。
按照协议,所有年工资超过$26,000(包含26,000)的教师工资保持不变,少于$26,000的教师将增加工资,给每个由此教师所赡养的人(包括教师本人)每年补助$100,此外,教师有一年工龄每年再多补助$50,但是增加后的年工资总额不能多于$26,000。
假设教师的工资档案已经存在,其中有目前的年工资,赡养的人数,雇佣日期等信息。
需要一个计算机程序计算并打印出每名教师的原工资和调整后的工资。
实验要求:(1)画出此系统的数据流图(2)写出需求说明(3)写出上述的工资调整程序设计时请分别采用下属两种算法,并比较二者的优缺点:a搜索工资档案数据,找出年工资少于$26,000的教师,计算新工资,校核是否超过$26,000,存储新工资,印出新旧工资对照表b把工资档案数据按工资从最低到最高的次序排列,当工资数额超过$26,000时即停止排序,计算新工资,校核是否超过$26,000,存储新工资,印出新旧工资对照表(4)你所画出的数据流图适用于哪种算法?实验二设计实验目的:熟悉结构化程序设计中“自顶向下,逐步求精“方法实验内容:设计一程序,要求用筛选法求100以内的素数,筛选法就是从2到100中去掉2,3,……9,10的倍数,剩下的就是100以内的素数,已知该程序的功能框架如下:main( ){建立2到100的数组A[],其中A[i]=i;建立2到10的素数表B[],其中存放2到10以内的素数;若A[i]=i是B[]中任一数的倍数,则剔除A[i];输出A[]中所有没有被剔除的数;实验要求:(1)将上述框架中的每一个加工语句进一步细化成一个循环语句,并直接用程序设计语言表示出来;(2)画出程序流程图;(3)说明“自顶向下,逐步求精“方法的优点实验三:编码实验目的:非结构化程序改为结构化程序;流程图;伪代码实验内容:研究下面的伪码程序:loop: set i to (start+finish)/2if table(i)=item goto foundif table(i)<item set start to (i+1)if table(i)>item set finish to (i-1)if (finish-start)>1 goto loopif table(start)=item goto foundif table(finish)=item goto foundset flag to 0goto donefound :set flag to 1done:exit实验要求:(1)画出程序流程图(2)程序是结构化的吗?说明理由(3)若程序是非结构化的,请设计一个等价的结构化程序且画出流程图(4)此程序的功能是什么?它完成预定功能需要什么隐含的前提条件吗?(5)上机实践并进行测试实验四黑盒测试实验目的:了解黑盒测试方法实验内容:输入三个正整数,判断他们是否构成三角形,如果构成进一步判断三角形的性质:等边,等腰或者一般。
《软件工程》实验教案一、实验目的1. 让学生了解软件工程的基本概念、原则和方法。
2. 培养学生运用软件工程知识分析和解决实际问题的能力。
3. 加深学生对软件开发过程的理解,提高团队协作和沟通能力。
二、实验内容1. 实验一:软件工程概述了解软件工程的定义、目的、历史和发展趋势。
掌握软件开发过程中的基本活动和相关工具。
2. 实验二:需求分析学习需求分析的基本方法,如问卷调查、访谈、观察等。
实践使用需求分析工具,如UseCase图、DFD图等。
3. 实验三:软件设计掌握软件设计的基本原则,如模块化、抽象、封装等。
学习软件设计的方法,如结构化设计、面向对象设计等。
4. 实验四:编码与实现熟悉编程语言的基本语法和编程规范。
5. 实验五:软件测试了解软件测试的目的、方法和过程。
学习使用测试工具进行单元测试、集成测试和系统测试。
三、实验步骤1. 实验一:软件工程概述讲解软件工程的定义、目的、历史和发展趋势。
介绍软件开发过程中的基本活动和相关工具。
2. 实验二:需求分析讲解需求分析的基本方法。
练习使用需求分析工具,如UseCase图、DFD图等。
3. 实验三:软件设计讲解软件设计的基本原则和方法。
练习进行结构化设计和面向对象设计。
4. 实验四:编码与实现讲解编程语言的基本语法和编程规范。
5. 实验五:软件测试讲解软件测试的目的、方法和过程。
练习使用测试工具进行单元测试、集成测试和系统测试。
四、实验要求1. 实验一:软件工程概述2. 实验二:需求分析完成一个简单的需求分析案例,绘制UseCase图和DFD图。
3. 实验三:软件设计完成一个简单的软件设计案例,包括结构化设计和面向对象设计。
4. 实验四:编码与实现5. 实验五:软件测试五、实验评价1. 实验一:软件工程概述评价学生对软件工程基本概念的理解程度。
2. 实验二:需求分析评价学生对需求分析方法的掌握程度。
3. 实验三:软件设计评价学生对软件设计原则和方法的掌握程度。
软件工程实验实验一结构化分析与设计实验实验目的1、掌握结构化分析方法2、掌握业务流程分析方法和业务流程图的绘制实验内容:任务一绘制系统业务流程图系统流程图是描绘物理系统的传统工具。
是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。
表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。
试绘制工资管理系统的系统流程图,根据系统流程图的符号说明仔细理解下图含义:图1-1工资管理系统系统流程图图1-2基本符号图1-3 系统符号操作步骤:1 .运行Microsoft Office Visio 2010图1-4 运行Microsoft Office Visio 2010 2.选择流程图中的基本流程图模板图1-5 选中基本流程图模板3.用鼠标选拉图标进行绘图任务二分析系统业务流程和绘制系统业务流程图案例一:总务办公管理系统系统简介:某单位准备开发一个购买办公用品和设备的总务办公管理系统。
办公用品的购买申请由各科室提出,由负责总务工作的办公室统一收集。
其中,购买申请的金额低丁500元(含500元)可以由总务办公室直接审批,而高丁500元的购买申请由机构主管领导审批,批准的购买申请形成采购活单由采购员负责购买,同时应记录每次实际购买活单,进行入账。
在提出购买申请时要包括下述数据:申请单位、物品名称、物品数量、预计价格、物品用途等。
每次购买完成后应记录以下数据:物品名称、物品数量、价格、总金额、购买日期、经办人等。
请对该系统进行业务流程分析后,绘制出该系统的系统流程图。
案例二:火车票预订系统系统简介:某高校后勤集团为了学生寒暑假返乡,办理代学生预订返乡火车票事务,订票必须提前三天办理,后勤订票处提前三天向火车站办理购票事务。
订票处使用一台微机处理订票后购票事务,学生订票一次称为一个事务,由订票员将其输入在微机中,系统核实订单后,将订票信息记录放在订票库中。
《软件工程》课程实验报告四、实验过程与结果性能需求1.系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学院对信息处理的需求。
并且不能重复复两个学号的信息。
2.系统的开放性和系统的可扩充性学生信息系统在开发过程中,应该充分考虑以后的可扩充性。
比如数据在某个时间段的数据输入拥堵。
或者数据多的时候,应该确保系统有足够的空间给数据的输入和存储。
3.系统的易用性和易维护性学生信息系统针对的大部分是学生,因此系统应该更见简单,便捷。
UI界面应更加的简单易懂。
同时在维护数据的时候应该更加的方便。
这样避免了因为错误的操作而到导致数据的流逝。
2.3用户平台要求网络方面:此开发出的软件要适用于Internet网及校园内的局域网。
软件方面:支持windows系统及一些常用的办公软件如office等。
硬件方面:可以被个人电脑、平板以及功能强大的移动设备所使用。
一.业务逻辑1.1业务分解1.2业务流图A)学生信息管理:B)学业信息管理:C)学分建设:D)学生奖助信息管理:E)学生活动管理:F)素质测评:五、实验总结在本次实验,熟悉了需求分析的一般步骤,进一步弄清了业务需求、用户需求、功能和非功能需求之间的区别。
对于一个系统,我知道一开始从哪几个方面对系统进行评价。
通过画用例图,能更清新的看清使用者的操作流程,并认识到了用例图在软件或系统开发过程中的重要性,本次实验学到很多。
软件工程实验讲义目录实验一可行性研究报告 (1)1.1 引言 (1)1.1.1 编写目的 (1)1.1.2 项目背景 (1)1.1.3 术语说明。
(1)1.1.4 参考文献 (2)1.2 可行性研究的前提 (2)1.2.1 功能 (2)1.2.2 性能 (2)1.2.3 系统的输入 (2)1.2.4 系统的输出 (2)1.2.5 处理流程(如图1-1) (3)1.2.6 安全和保密要求 (3)1.2.7 完成期限要求 (3)1.3 开发目标 (3)1.4 具备条件 (4)1.5 进行可行性研究的方法 (4)1.6 评价尺度 (5)1. 7对现有系统的分析 (5)1.8 所建议系统的技术可行性分析 (5)1.8.1 对所建议系统的简要描述 (5)1.8.2数据流程和处理流程(如图1.2所示) (5)1.8.3 与现有系统比较的优越性 (5)1.8.4 采用建议系统可能带来的影响 (6)1.8.5 所建议技术可行性分析 (6)1.9 所建议系统的经济可行性分析 (6)1.9.1支出 (6)1.9.2 效益 (7)1.9.3 投资回收周期 (7)1.10 社会因素方面的可行性 (7)1.10.1 法律方面的可行性 (7)1.10.2 用户使用方面的可行性 (7)1.11 结论 (7)思考题 (7)-实验二需求规格说明书 (8)2.1 引言 (8)2.1.1 编写目的 (8)2.1.2项目背景 (8)2.1.3 术语说明 (8)2.1.4 参考资料 (8)2.2 项目概述 (8)2.2.1 待开发软件的一般描述 (8)2.2.2 待开发软件的功能 (8)2.2.3 用户特征 (9)2.2.4 运行环境 (10)2.2.5 条件与限制 (10)2.3 功能需求 (10)2.3.1 功能划分 (10)2.3.2 功能描述 (11)2.4 外部接口需求 (12)2.4.1 用户界面 (12)2.4.2 硬件接口 (12)2.4.3 软件接口 (13)2.4.4 故障处理 (13)2.5 性能需求 (13)2.5.1 数据精确度 (13)2.5.2 时间特性 (13)2.5.3 适应性 (13)2.6 软件属性需求 (13)2.6.1 正确性 (13)2.6.2 可靠性 (13)2.6.3 效率 (14)2.6.4 完整性 (14)2.6.5 易实用性 (14)2.6.6 可维护性 (14)2.6.7 可测试性 (14)2.6.8 复用性 (14)2.6.9 安全保密性 (14)2.6.10 可理解性 (14)2.6.11 可移植性 (15)2.6.12互联性 (15)2.7 其他需求 (15)2.8 数据描述 (15)2.8.1 静态数据 (15)2.8.2 动态数据 (16)2.8.3 数据库描述 (16)2.8.4 数据字典 (16)2.8.5 数据采集 (17)思考题 (17)实验三概要设计说明书 (18)3.1 引言 (18)3.1.1 编写目的 (18)3.1.2 项目背景 (18)3.1.2 术语说明 (18)3.1.3 参考资料 (18)3.2 任务概要 (18)3.2.1 目的 (18)3.2.2 运行环境 (18)3.2.3 需求概要 (19)3.2.4 条件与限制 (20)3.3 总体设计 (20)3.3.1 处理流程 (20)3.3.2 总体结构和模块外部设计 (20)3.3.3 功能分配 (21)3.4 接口设计 (23)3.4.1 外部接口 (23)3.4.2 内部接口 (23)3.5 数据结构设计 (24)3.5.1 逻辑结构设计 (24)3.5.2物理结构设计 (26)3.5.3 数据结构与程序的关系 (26)3.6 运行设计 (27)3.6.1 运行模块的组合 (27)3.6.2 运行控制 (27)3.6.3 运行时间 (27)3.7 出错处理设计 (27)3.8 安全保密设计 (27)3.9 维护设计 (27)思考题 (28)实验四撰写详细说明书............................................................................... 错误!未定义书签。
图3.1 系统总体结构(2)软件接口运行与WINDOWS95及更高版本具有WIN32 API 的操作系统之上。
3.4.2 内部接口●初始化模块:系统初始化时由操作系统调用,执行完毕后进入消息循环状态;●关闭系统模块:由系统功能模块调用,执行完毕后返回操作系统;●系统功能模块:接受系统功能区的相应消息,启动浏览,查询,增加,删除,修改,打印,报表生成等模块;●浏览模块:由相应消息驱动,完成对浏览区的直接消息响应功能,可能会调用刷新浏览模块;●刷新浏览模块:依据当前数据刷新浏览区;●基本资料模块:由相应消息驱动,完成对基本资料区的直接消息的相应功能,可能会调用刷新基本资料模块;●刷新基本资料模块:依据当前数据刷新基本资料区;●详细资料模块:由相应消息驱动,显示记录的详细资料;●刷新详细资料模块:已故当前数据刷新详细资料区;●条件查询模块:完成增加功能;●增加模块:完成增加功能;●删除模块:完成删除功能;●修改模块?完成修改功能;●报表生成模块:完成报表生成功能;●打印模块:完成打印功能;●密码管理模块:完成对密码的管理功能;<12>帮助为用户的使用提供帮助. 4.2.2 软件结构本软件的顶层数据流图如图4.1所示。
顶层数据流图二层数据流图如图4.2所示。
图4.2 二层数据流图4.3 程序设计说明 4.3.1 模块描述本软件的详细功能模块如图4.3。
4.3.2 身份验证模块(M11) 功能:对用户进行身份验证,通过验证则登录系统.输入项目:输入用户名和密码. 输出项目:无. 存储分配:程序运行需要占用内存约小于1MB. 本模块的界面如图4.4所示. 图4.4 身份验证界面 4.3.3 初始化模块(M1.1)功能:初始化系统,显示欢迎界面,并使系统进入正常工作状态. 输入项目:配置文件,数据库文件.输出项目:设置全局变量,浏览区和基本资料区.存储分配:程序运行需要占用内存约1MB 左右.测试要点:配置文件或数据库文件损坏,或没有用户 身份验证处理 密码 外设打印机 反馈信息密码 密码 新密码 打开报表 记录数据图4.1 顶层数据流图打印机报表生成与用户交互 查询 密码密码管理密码 导入导出 外设新密码报表 打开打开 SQL 语句 打开 数据 数据记录数据 打开 身份验证初始化 重新验证不通过 消息循环 浏览查看详细资料查询更新密码管理导入导出非正常退出正常退出增加删除修改导入导出图4.3 详细功能模块图4.5 欢迎界面足够内存可提供使用时是否正常.本模块的欢迎界面如图4.5所示4.3.4 关闭系统模块(M1.2)功能:关闭并退出系统,保留相应状态数据.输入项目:全局变量.输出项目:更新后的数据库文件和配置文件.测试要点:若数据库文件或配置文件不能正常操作,或全局数据已经不一致,怎样处理.4.3.5 系统功能模块(M1.3)功能:选择各种系统功能.输入项目:鼠标或键盘事件.输出项目:无.本模块的界面如图4.6所示.图4.6 系统功能模块界面4.3.6 浏览模块(M2.1)功能:以列表方式将数据记录显示在浏览区,并维护窗口中浏览区中信息的更改和刷新。
软件工程实验1. 引言软件工程实验是一种通过实践来深入理解和应用软件工程原理和技术的活动。
通过实验,学生可以在真实的软件开发环境中,学习和掌握软件工程的各种工具和方法,培养解决实际软件开发问题的能力。
本文将介绍软件工程实验的主要内容和步骤。
2. 实验内容软件工程实验通常包括以下内容:2.1 需求分析在这个阶段,学生需要学习并掌握需求分析的基本方法和技巧。
通过对实际项目的需求进行分析和整理,学生可以理解需求分析在软件工程中的重要性,并且能够运用所学的知识来解决实际问题。
2.2 设计在设计阶段,学生需要学习系统设计的基本原理和方法。
通过对系统进行设计,学生可以了解和应用软件设计的各种技术和工具,在实践中理解和掌握设计方法的优缺点,并且能够根据需求和设计目标进行合理的设计。
2.3 编码和测试在编码和测试阶段,学生需要学习并掌握软件编码和测试的基本技术。
通过实际的编码和测试过程,学生可以了解和掌握软件开发的规范和流程,提高代码的质量和可靠性,并能够运用所学的技术来解决实际的软件开发问题。
2.4 项目管理在项目管理阶段,学生需要学习并掌握软件项目管理的基本理论和方法。
通过实际的项目管理活动,学生可以了解和掌握软件项目管理的流程和技术,培养解决软件开发中的团队合作和沟通问题的能力,并能够根据实际需求和资源情况进行合理的项目管理。
3. 实验步骤软件工程实验通常包括以下步骤:3.1 实验准备在这一步骤中,学生需要准备实验所需的软件和硬件环境。
根据实验的要求,学生需要安装和配置相应的开发工具和环境,并确保实验所需的硬件设备齐全和正常运行。
3.2 实验设计在这一步骤中,学生需要设计实验的具体内容和实施计划。
根据实验的目标和要求,学生需要确定实验的主要内容和步骤,并制定实验的时间安排和实施计划。
3.3 实验实施在这一步骤中,学生需要按照实验设计的要求,进行实验的实施。
学生需要运用所学的知识和技能,按照实验的步骤和要求,完成实验所需的任务和操作,并记录实验过程和结果。
实验1软件工程概念与相关工具1.1 软件工程的计算环境(实验估计时间:90 分钟)1.1.1 背景知识软件工程学主要研究如何以较少的代价获得高质量的软件,而要达到这个目的,就必须研究软件开发方法和软件开发工具。
软件开发方法就是开发软件的规范化方法。
软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件系统;软件开发环境则是面向软件整个生存周期,为支持各个阶段的需要,在基本硬件和宿主软件的基础上使用的一组软件系统。
软件工具和软件开发环境都是软件工程的重要支柱,对于提高软件生产率,改进软件质量,以及适应计算机技术的迅速发展有着越来越大的作用。
从20世纪70年代末开始,专家们就致力于软件开发自动化工具的研究,并逐步形成了应用于软件过程的集成的项目支撑环境(Integrated Project Support Environment)和计算机辅助软件工程(CASE,Computer-Aided Software Engineering)工具。
在此基础上建立集成式软件开发环境,全面支持软件开发过程,以期实现软件设计过程的自动化或半自动化。
1.1.2 实验目的1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期各阶段的定义和内容。
2)通过Internet 搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持来开展软件工程应用实践。
1.1.3 工具/准备工作在开始本实验之前,请预习教科书第一章的相关内容。
需要准备一台带有浏览器、能够访问因特网的计算机。
1.1.4 实验内容与步骤1)请查阅有关资料,给“软件”下一个权威性的定义:软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。
一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。
《软件工程》设计实验指导书实验题目:MIS系统的设计与实现课程名称:软件工程计划学时:16撰稿人:王建文一、实验目的:软件工程实验课的目标是:通过一个小型软件项目的开发,使学生理论与实践相结合,体会项目开发各阶段所面临的问题,探索相应的解决办法,从而理解软件工程的过程、方法、工具三个要素。
学生在实验中的收获将包括:1. 掌握从需求理解、概要设计、详细设计、编码、测试、到产品发布的软件开发全过程;2. 掌握规范化软件开发流程;3. 更深刻理解面向对象分析和设计的思想,培养面向对象开发的思维方式;4. 培养快速学习新的知识,并在实践中运用的能力;5. 掌握在项目中快速应用外部技术的能力。
二、实验内容以4个学生为一个团队,开发一个小型的信息系统。
选题如下表所示:三、实验要求1.软件工程综合性实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。
班级按项目小组进行分组,每组不得超过4人,每个小班中各小组的选题不得重复。
小组成员分别担任项目经理、技术经理、配置管理员、测试负责人等角色,分工合作。
2.文档及代码应按规范编写,按时提交3.最后提交的文档和代码:(1)需求规约说明书(2)设计说明书(包括数据库设计)(3)测试用例文档(4)帮助文档(含功能展示视频)(5)项目源代码(6)测试项目代码(7)项目的安装文件(Setup.exe)五、考核形式1.实验成绩评定方法(1)小组组长报告(2)组员介绍各自的工作(3)演示工作成果然后由授课教师对小组打总分,各小组组长把总分分配给组员,作为每位同学的实验课成绩。
以促进组员分工合作,提高小组工作质量。
2.实验成绩评定参考标准(1)工程文档是否符合规范;(2)图、表是否规范且重点突出、图文并茂;(3)开发过程中是否能正确使用软件工程工具;(4)项目分析、设计、测试质量高低;(5)演示效果好坏四、实验步骤根据软件工程方法,按项目启动、需求分析、概要设计、详细设计、编码实现、测试六个主要阶段实现一个系统,对每个阶段进行评审,并形成相应文档。
实验二●图书管理系统的功能需求主要包括以下几个方面:➢管理员分为图书管理员和系统管理员,图书管理员可以执行借书、还书、查阅借阅者信息、查看借阅信息以及超期处理等功能。
系统管理员是对系统进行维护,包括维护借阅者信息、维护借阅信息、维护图书信息、维护图书管理员信息等。
➢特别声明的是所有该系统的用户要进入该系统都必须首先要登陆,登陆成功者才能进行下一步的操作。
➢借书和还书的操作都要进行是否超期的检查,如果超期则应该提醒管理员对此进行处理。
➢系统管理员的维护操作就是对数据库中的相关信息进行增、删、改、查等更新操作。
➢在操作过程中用户与该系统是没有直接接触的,真正在和系统交互的是管理员,用户只是通过管理员间接地同系统打交道,所以用户借书和还书操作实际上就是图书管理员的借书和还书操作。
➢当然,用户也是可以进入该系统进行相关信息的查询的,如个人信息的查询、图书查询、查看个人的借阅史、续借等操作。
●图书管理系统的某些具体操作如下:➢借书1.图书管理员输入借书证信息2.系统确保该学生的借书证的有效性3.系统计算所借阅的图书数量是否超过了规定的数量4.检查该学生是否有超期的借阅信息5.图书管理员输入学生所借阅的图书信息6.生成新的借阅信息并保存7.系统显示该学生的所有借阅信息,以提示图书管理员借阅成功➢还书1.图书管理员输入图书信息2.系统检验图书的有效性3.系统将根据该图书的信息查找借阅信息4.系统根据借阅信息获取借阅者信息5.查找借阅者是否有超期的借阅信息6.删除与该图书对应的借阅信息7.保存更新后的借阅信息8.系统显示该学生还书后所剩余的所有借阅信息➢系统维护1.添加、删除、修改、查找管理员信息2.添加、删除、修改、查找图书3.添加、删除、修改、查找借阅者信息4.添加、删除、修改、查找借阅信息➢注意这些操作只是部分,其它请同学自己提取信息实验内容:根据给出的模板用面向对象的方法写一份图书管理系统的需求分析文档,同时要区分可行性分析与需求分析的关系及两者之间的先后顺序。