太原理工软件工程实验报告全套
太原理工大学软件工程课程设计实验
文本文件单词的检索与计数专业:软件工程班级: 1227 班姓名:王晓春学号:74同组人:王晓春闫瑞娟张泽磊组长:王晓春完成日期:一.【问题描述】串是非数值处理中的主要对象,如在信息检索、文本编辑、符号处理等许多领域,得到越来越广泛的应用。
在高级语言中也引入了串数据类型概念,并且串变量与其他变量〔如整型、实型等〕一样,可以进行各种运算。
然而,在各种不同类型的应用中,所处理的串有不同的特点,要想有效地实现串的处理,就必须熟悉串的存储结构及其根本运算。
本课程设计的目的就是熟悉串类型的实现方法和文本模式匹配方法,熟悉如何利用模式匹配算法实现一般的文本处理技术。
本课程设计分两步:首先,设计出串定位算法〔即模式匹配算法〕及其实现;然后,再利用串定位算法设计文本文件的检索及单词的计数等操作。
二.【设计需求及分析】1.设计要求串模式匹配算法的设计要求在串的根本操作中,在主串中查找模式串的模式匹配算法——即求子串位置的函数 Index(S,T),是文本处理中最常用、最重要的操作之一。
所谓子串的定位就是求子串在主串中首次出现的位置,又称为模式匹配或串匹配。
模式匹配的算法很多,在这里只要求用最简单的朴素模式匹配算法。
该算法的根本思路是将给定子串与主串从第一个字符开始比拟,找到首次与子串完全匹配的子串为止,并记住该位置。
但为了实现统计子串出现的个数,不仅需要从主串的第一个字符位置开始比拟,而且需要从主串的任一给定位置检索匹配字符串,所以,首先要给出两个算法:1.标准的朴素模式匹配算法2.给定位置的匹配算法文本文件单词的检索与计数的设计要求要求编程建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写;统计给定单词在文本文件中出现的总次数;检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。
该设计要求可分为三个局部实现:其一,建立文本文件,文件名由用户用键盘输入;其二,给定单词的计数,输入一个不含空格的单词,统计输出该单词在文本中的出现次数;其三,检索给定单词,输入一个单词,检索并输出该单词所在的行号、该行中出现的次数以及在该行中的相应位置。
太原理工大学软件开发环境与工具实验报告
本科实验报告课程名称:软件开发环境与工具实验项目:实验一CASE工具PowerDesigner的使用实验二利用Axure制作网页原型实验三搭建Visual Studio开发环境,设计Windows控制台应用程序实验四掌握在Visual Studio 2010中进行Windows Form应用程序的设计方法实验五掌握在Visual Studio 2010中进行Web应用程序的设计方法实验地点:明向校区软件实验楼208专业班级:软件1333班学号:2013006142学生姓名:赵建伟指导教师:秦智2015年12 月17 日遇到的问题和解决方法(2)在axure元件库中选择相应的部件(4)置入框选择窗体中的文本框(单行)和提交按钮(5)整体修改后的效果(2)设计完成教务处登陆界面(2)Default.apsx文件<%@Page Title="主页"Language="C#"MasterPageFile="~/Site.master"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="WebApplication3._Default" %><asp:Content ID="HeaderContent"runat="server"ContentPlaceHolderID="HeadContent"> <style type="text/css">.style1{width: 100%;。
太原理工大学软件工程《软件代码开发技术》实验报告
实验报告 实践报告□课程名称:软件代码开发技术实验、实践名称:实验一软件代码基础实验实验、实践地点:致远楼B303专业班级:软件XXXX 学号:XXXXXXXX 学生姓名:XXX指导教师:孙静宇2017年4 月17 日一、实验目的和要求(必填)熟悉JSP、Servlet、JDBC、MySQL、MVC等相关技术,培养良好的代码风格,为其他实验做好准备。
参照课本及参考程序,快速熟悉相关内容,编写带有自己标识信息的留言板程序(如sjyNote),熟悉Java等编程语言或技术的基本编程技巧,注重良好的代码风格(如变量命名、代码注释、Servlet与类中代码的结构等),初步掌握编写Web应用程序的能力。
二、实验内容和原理(必填)在熟悉MySQL、MyEclipse开发环境基础上,基于MVC模式,使用Jsp+Servlet 编写一个留言版程序,前台用Jsp,后台用Servlet,并培养良好的代码风格。
三、主要仪器设备(必填)软件环境:Windows 7/2008-x86,MySQL5.5,MyEclipse3.6;硬件环境:P4 2.4G/80G/1G/64M及较高配置的PC机。
四、操作方法与实验步骤1.安装和配置MySQL、MyEclipse集成开发环境;2.通过查阅课本、网络资料,了解相关知识;3.按照代码风格要求,编写自己的留言板程序;4. 调试程序,输出结果,并进行记录。
五、实验数据记录和处理(可选)AddMessage.javaprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {byte b1[]=request.getParameter("name").getBytes("ISO-8859-1");String na=new String(b1,"gb2312");byte b2[]=request.getParameter("email").getBytes("ISO-8859-1");String em=new String(b2,"gb2312");byte b3[]=request.getParameter("title").getBytes("ISO-8859-1");String ti=new String(b3,"gb2312");byte b4[]=request.getParameter("content").getBytes("ISO-8859-1");String co=new String(b4,"gb2312");if(na==null)na="";if(em==null)em="";if(ti==null)ti="";if(co==null)co="";try{PreparedStatement stm=con.prepareStatement("insert into messagevalues(?,?,?,?)");stm.setString(1, ti);stm.setString(2, na);if(em.length()==0)stm.setString(3, null);else stm.setString(3, em);stm.setString(4, co);try{stm.execute();}catch (Exception e) { }RequestDispatcherrequestDispatcher=request.getRequestDispatcher("ViewMessageServlet");requestDispatcher.forward(request, response);}catch (Exception e) {e.printStackTrace();}}ShowMessage.javaprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Collection<MessageDataBean> ret=new ArrayList<MessageDataBean>();try{Statement stm=null;stm=con.createStatement();ResultSet result=stm.executeQuery("select count(*) from message");int message_count=0;if (result.next()) {message_count=result.getInt(1);result.close();}if (message_count>0) {result=stm.executeQuery("select * from message");while(result.next()){String name=result.getString("name");String title=result.getString("title");String email=result.getString("email");String content=result.getString("content");MessageDataBean msdBean=new MessageDataBean();msdBean.setTitle(title);msdBean.setName(name);msdBean.setEmail(email);msdBean.setContent(content);ret.add(msdBean);}result.close();stm.close();}request.setAttribute("messages", ret);RequestDispatcherrequestDispatcher=request.getRequestDispatcher("ViewMessages.jsp");requestDispatcher.forward(request, response);}catch (Exception e) {e.printStackTrace();}}Messages.jsp<form action="AddMessage"><table align="center"border="0"><tr><td>姓名</td><td><input type="text"name="name"size="25"/></td></tr><tr><td>email</td><td><input type="text"name="email"size="25"/></td></tr><tr><td>主题</td><td><input type="text"name="title"size="25"/></td></tr><tr><td>内容</td><td><textarea name="content"rows="7"clos="25"></textarea></td></tr><tr><td colspan="3"><table width="100%"cellspacing="0"cellpadding="0"><tr><td><input type="submit"value="提交留言"></td><td><a href="ViewMessageServlet">查看留言</a></td><td><input type="reset"value="重新填写"></td></table></td></tr></table></form>ViewMessage.jsp<body><h2align="center">全部留言</h2><table width="80%"border="1"align="center"><%int message_count=0;Collection<MessageDataBean>messages1=(Collection<MessageDataBean>)request.getAttribute("messages"); Iterator<MessageDataBean> it=messages1.iterator();while(it.hasNext()){ MessageDataBean mg=(MessageDataBean)it.next();%><tr><td>留言人</td><td><%=mg.getName() %></td><td>email</td><td colspan="2"><% out.println("<ahref=mailto:"+mg.getEmail()+">"+mg.getEmail()+"</a>");%></td> <tr><td>主题</td><td colspan="4"><%=mg.getTitle() %></td></tr><tr><td>内容</td><td colspan="4"><textarea rows="4"cols="70"><%=mg.getContent() %></textarea></td></tr><tr><td colspan="5"bgcolor="pink"> </td></tr><%message_count++; %><% }%><p align="center"><a href="Messages.jsp">我要留言</a></p></table></body>六、实验结果与分析(必填)填写留言信息:点击提交留言:数据库中数据:点击我要留言:六、实验结果与分析(必填)七、讨论、心得(可选)六、思考题:1.为什么要保持良好的代码风格?保持好的代码风格可以避免一些不必要的错误,可以提高程序的可读性,提高开发效率。
太原理工大学软件工程软件需求实验报告
本科实验报告课程名称:软件需求工程实验项目:软件需求课程实验实验地点:行勉楼A304 专业班级:学号:学生姓名:指导教师:2016年5月18日实验一需求分析实验一、实验目的1、要求学生根据实际项目的要求,应用传统的结构化方法或者面向对象方法进行需求分析;2、通过实验了解和掌握UML和Rataional等工具的使用方法。
二、实验设备:PC机、Windows操作系统、UML和Rational等工具软件。
三、实验内容:1、熟悉和掌握UML和Rational Rose工具的使用。
在rose中创建新的模型,分别画出如下的图:用例图、类图、包图、活动图、顺序图、状态图等。
2、根据如下项目,对系统进行需求分析。
具体要求,绘制系统的用例对用例进行规格说明,绘制类图、活动图、顺序图和状态图等。
四、实验步骤1、安装Rational Rose。
2、根据问题目标、业务背景、问题陈述(描述)等(此信息可以根据项目名称从网上搜索),确定系统的参与者Actor(用户),从用户角度确定系统相关功能用例Usecase,做出用例图。
3、针对每个功能用例使用《用例描述模板》,进行描述。
4、分别使用活动图、顺序图描述用例执行过程。
五、实验结果1、安装Rational Rose。
成功安装了UML软件。
2、根据问题目标、业务背景、问题陈述(描述)等(此信息可以根据项目名称从网上搜索),确定系统的参与者Actor(用户),从用户角度确定系统相关功能用例Usecase,做出用例图。
(一)选题1:学生选课系统项目背景:本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。
用例图:用户:学生:管理者:类图:时序图:管理者:学生:协作图:老师:学生:(二)选题2:图书管理系统项目背景:本系统实现图书管理的基本功能,包括学生借书退书,查看自己的借书信息;管理员添加学生、管理学生和管理书籍等。
太原理工大学软件工程《系统分析与设计》实验报告
本科实验报告课程名称:系统分析与设计实验项目:《企业人事管理系统》实验实验地点:逸夫楼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:选择其中一个用例(如下订单)给出其用例描述。
太原理工大学软件工程实验报告
2 数据描述
2.1 输入输出:
输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计 划和学院制定的有关授课限制条件,输出项至少包括:教务处最终下达全院教师的教学任务 书和学院各个班级下各学期的课程表(可以不含上课地点)。
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。 第三个大模块: 3.1 是否满足条件 测试用例:Z≤2 300≤A≤600 C=0
Z>2 300≤A≤600 C=0 Z≤2 A<300 或 A>600 C=0 Z≤2 300≤A≤600 C≠0 Z>2 A<300 或 A>600 C=0 Z≤2 A<300 或 A>600 C≠0 Z>2 300≤A≤600 C≠0 Z>2 A<300 或 A>600 C≠0 3.2 更新信息 测试用例:教工号+课程名称+课程代码+课时+班级类别+班号 依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。 第四个大模块: 4.1 检查 测试用例:教工号+密码 教工号(是否存在) 密码(是否正确) 4.2 查询 测试用例:教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+
加工名:审核 编号:5.1 输入:教务号 输出:有效值 加工逻辑:检查输入的教务号是否有密码对应
加工名:审计 编号:5.2 输入:有效值,课程信息 输出:通过名单 加工逻辑:判断课程是否可以通过,给出通过名单
加工名:更新信息 编号:5.3 输入:通过名单 输出:课程信息、教学任务书 加工逻辑:修改课程信息是否通过并给出教学任务书
软件测试实验报告
本科实验报告课程名称:软件测试技术实验项目:软件测试技术试验实验地点:实验楼211专业班级:软件工程学号:学生姓名:戴超指导教师:兰方鹏2015年10月7日太原理工大学学生实验报告(用户名:Aaron密码:mercury)(2)添加QTP自带示例程序(3)在弹出的“FlightReservation”窗口中选择订票日期、出发地和目的地,然后选择“Flight”图标选择航班。
(4)在弹出的“flighttable”表中选择一趟航班,点击“ok”按钮返回,在Name中填写订票人姓名,选择订票数目“tickets”和仓位“class”然后点击“installorder”按钮,生成订单。
(5)点击QTP主界面工具栏中的“Stop”按钮,停止脚本录制。
保存脚本并对脚本进行回放。
(6)插入检查点验证订单是否生成。
在actionscreen视图中的orderno 标签对应的文本框中点鼠标右键,在弹出的快捷菜单中选择“insertstandardcheckpoint”,在弹出的对话框中,单击ok,选中text(11)参照以上实验,再添加一个验证login界面中“agentname”的检查点。
(12)设计能够通过校验的正则表达式^\w{4,16}$,并回放成功。
(13)设计不能通过校验的正则表达式^\w{1,4}$并回放失败如下五、实验结果与分析1.第一个检查点的添加中最后传真订单回放失败原因分析:提交订单并发送传真的时候,该系统会自动生成一个订单号,而进行回放的时候又会生成另一个订单号,然后后续回放失败,因为和之前录制时的订单号不匹配,找不到从而中端回放。
修改:停止回放之后右键列表中的FaxOrderNo.xx的ObjectProperties,在弹出的窗口中点击text的value值中的图标“<#>”,弹出的对话框中把constant中的值改成如下,即FaxOrderNo\.[0-9]+,然后保存关闭。
太原理工软件工程实习报告
太原理工软件工程实习报告一、实习背景与目的随着信息技术的快速发展,软件工程成为现代科技领域中的重要研究方向。
为了提高自身的实践能力和专业素养,我选择了太原理工大学的软件工程实习项目。
本次实习旨在通过实际操作,深入了解软件开发流程,掌握软件工程的核心技术,并培养团队合作和解决问题的能力。
二、实习内容与过程在实习期间,我参与了太原理工大学软件实验室的一个实际项目开发。
以下是实习的主要内容与过程:1. 项目启动:在实习的开始阶段,导师为我们介绍了项目的背景和需求。
我们通过讨论和分析,明确了项目的目标、功能要求和性能要求。
2. 需求分析:我们小组成员共同参与需求分析工作,通过与导师和客户的沟通,明确了用户需求和系统功能。
我们使用UML图和用例图工具,对系统的功能进行详细的描述和文档化。
3. 设计阶段:在需求分析的基础上,我们开始进行系统设计。
我负责设计和实现系统的数据库部分,包括数据库表的创建、关系的建立和SQL语句的编写。
4. 编码阶段:根据设计文档,我开始编写代码。
我使用了Java语言和MySQL数据库,实现了系统的核心功能。
在编码过程中,我注重代码的可读性和可维护性,遵循了软件工程的最佳实践。
5. 测试阶段:在编码完成后,我们进行了系统的测试。
我负责编写测试用例,并与其他成员一起进行测试。
我们发现了一些问题,并通过调试和优化,解决了这些问题。
6. 项目总结与汇报:在项目完成后,我们进行了项目总结和汇报。
我向导师和同学们展示了自己的工作成果,并分享了在实习过程中的收获和体会。
三、实习收获与反思通过本次实习,我对软件工程的核心技术和开发流程有了更深入的了解。
我掌握了UML图和用例图的使用,熟悉了Java语言和MySQL数据库的操作。
同时,我也学会了团队合作和解决问题的能力。
在实习过程中,我也意识到了自己在一些方面的不足之处。
例如,我在需求分析阶段的沟通能力和表达能力有待提高。
此外,我在代码编写和调试过程中,还需要更加注重细节和规范,以提高代码的质量和稳定性。
太原理工,web实验报告
实验报告学院:软件学院系:软件工程专业:软件工程班级:软件1111班学号:20110000姓名:史珍香指导教师:田玉玲时间:2013年12月24日学院名称软件学院专业班级1111 学号20110000 实验成绩学生姓名史珍香同组人姓名实验日期12.13 课程名称Web程序设计基础实验题目HTML语言一、实验目的1.掌握常用的HTML语言标记。
2.利用文本编辑器建立HTML文档,制作简单网页。
二、实验要求1.独立完成实验。
2.书写实验报告书。
三、实验内容1.在文本编辑器“记事本”中输入如下的HTML代码程序,以文件名sy1.html保存,并在浏览器中运行。
(请仔细阅读下列程序语句,理解每条语句的作用)源程序清单如下:<html><head><title>Example</title></head><body bgcolor="#00DDFF"><h1><B><I><FONT COLOR="#FF00FF"><MARQUEE BGCOLOR="#FFFF00" direction=left behavior=alternate>welcome to you</MARQUEE></FONT></I></B></h1><hr><h2 align=center><FONT COLOR="#0000FF">A simple HTML document</FONT></h2><EM>Welcome to the world of HTML</EM><p>This is a simple HTML document.It is to give you an outline of how to write HTML fileand how the <b>markup tags</b>work in the<I>HTML</I>file</p><p>Following is a three chapters<ul><li>This is the chapter one</li><li><A HREF="#item">This is the chapter two</A></li><li>This is the chapter three</li></ul><hr><p><A NAME="item">Following is items of the chapter two</A></p><table border=2 bgcolor=gray width="40%"><tr><th>item</th><th>content</th></tr><tr><td>item 1</td><td>font</td></tr><tr><td>item 2</td><td>table</td></tr><tr><td>item 3</td><td>form</td></tr></table><hr><p>1<p>2<p>3<p>4<p>5<p>6<p>7<p><B><I><FONT COLOR=BLUE SIZE=4>End of the example document</FONT></I></B></p></body></html>2.编写一个能输出如图所示界面的HTML文件。
太原理工大学软件工程程序设计实验报告
《程序设计》课程设计姓名:学号:班级:软件工程1334班指导教师:杨永强成绩:2015年6月实验一:谁拿了最多奖学金1.【问题描述】(1)问题描述某校的惯例是在每学期的期末考试之后发放奖学金。
发放的奖学金共有五种,获取的条件各自不同:1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。
例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。
2.【设计需求及分析】(1)设计思路先定义了一个Student的结构体,它里面定义了关于学生的各个属性。
比如期末平均成绩,班级评议成绩,班干部等等。
然后设计了一个判断函数,判断他得到奖学金的多少。
接下来就是主函数了,在主函数里,有着输出输入变量,和赋值函数,最重要的是比较函数,比较出哪一位学生的奖学金多及所有金额的总计。
最后输出。
下面是关键步骤:(2)输出输入格式输入数据格式格式:输入的第一行是一个整数N(1 <= N <= 100),表示学生的总数。
接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。
姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。
数据结构实验报告_太原理工大学软件学院
}
int InserOrderList(SqList *L,int e){
int i;
if((L->length)>=(L->listsize)){
int *newbase;
newbase=(int *)realloc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(int));
《数据结构》实验报告
专业:软件工程
班级:13XX班
姓名:X X X
2014年12月
太原理工大学学生实验报告
学院名称
软件学院
专业班级
软件13XX班
学号
201300XXXX
实验成绩
学生姓名
XXX
同组人姓名
实验日期
11.12
课程名称
数据结构
实验题目
实验一线性表
实验记录:
1.设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。
if(!newbase) exit(OVERFLOW);
L->elem=newbase;
L->listsize+=LISTINCREMENT;
}
q=&(L->elem[i-1]);
for(p=&(L->elem[L->length-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++L->length;
L->length++;
return OK;
}
void main(){
太原理工大学软件测试方法和技术实验报告
太原理工大学学生实验报告
学院名称计算机科学与技术专业班级软件工程实验成绩
学生姓名学号实验日期
课程名称软件测试方法和技术实验题目使用白盒测试方法测试程序段
一、实验目的
通过实验主要掌握用白盒法中的逻辑覆盖测试技术设计测试用例以及测试流程图的绘制。
二、实验内容
测试以下程序段
Void DoWork(int x,int y,int z)
{
1 int k=0,j=0;
2 if((x>0)&&(z<10))
3 {
4 k=x*y-1;
5 j=sqrt(k);
6 }
7 if((x==4)||(y>5))
8 j=x*y+10;
9 j=j%3;
10 }
三、实验要求
说明:程序段中每行开头的数字(1-10)是对每条语句的编号。
a 画出程序的控制流图(用题中给出的语句编号表示)。
b分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
1)语句覆盖
从流程图看出,程序具有4条路径:
L1:(a-b-d)。
软件工程实验报告格式1
软件工程实验报告专业:计算机科学与技术班级:计科0803姓名:储晶凯指导教师:强彦2010年10月太原理工大学学生实验报告学院名称计算机科学与技术专业班级计科0803 学号2008001440 实验成绩学生姓名储晶凯组名实验日期11-1课程名称软件工程实验题目软件开发绘图工具Visio实验记录:一实验目的:1)了解Visio工具软件的功能特色、安装、工作环境和基本操作等各方面的基本知识。
2)掌握应用Visio工具绘制软件开发图形的基本操作。
3)了解开发Visio解决方案的基本概念。
4)学习应用Visio工具绘制UML模型图、网络图、机架图和网站图等图形,熟练Visio绘图操作。
二、工具/准备工作:在开始实验之前,请回顾教科书的相关内容。
需要准备一台安装有Microsoft Visio Professional 2003软件的计算机。
三、实验内容与步骤:一、—Visio的工作环境Visio的工作环境包括工作窗口、菜单、工具栏、定位工具以及帮助等内容。
1.工作窗口图1—1工作窗口2.视窗的调整主要依靠菜单中的“视图”、“窗口”命令和“视图”工具栏来实现。
视窗调整中常见的操作包括:缩放操作、显示方式调整、3.任务窗口这项功能提供了一些常用的命令选项。
Visio的任务窗口功能只要有开始工作、帮助、剪贴画、信息检索、新建绘图、模版帮助、共享工作区、文档更新和审阅等。
4.小视窗Visio有四个小视窗,堪称其“显微镜”,分别是:扫视和缩放窗口、自定义属性窗口、大小和位置窗口和绘图资源管理窗口。
可以通过“视图”菜单中的相应命令来打开它们,还可以使小窗口始终处于绘图窗口的最上层。
二、—菜单Visio的菜单栏提供了各种绘图命令,包括文件、编辑、视图、插入、格式、工具、形状、窗口和帮助等九个菜单项。
通过菜单操作,可以完成几乎所有的图形编辑功能。
三、—工具栏Visio提供了12个工具栏,利用它们可以完成对绝大多数对象的操作,而且使用效果同菜单命令是一样的,还可以使用“自定义”选项来定制包含特殊要求的额工具栏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:软件工程
实验项目:传统软件工程的需求分析建模实验地点:
专业班级:软件工程学号:2
学生姓名:
指导教师:
2015年 4 月日
太原理工大学学生实验报告
用户
接受
预定
用户出示去票通知和帐单
打印机
核对
安排
打印去票通知和帐单
客户端
客户端
航班数据库
订票数据库
服务器终端
系统逻辑图:
本科实验报告
课程名称:软件工程
实验项目:传统软件工程的结构设计实验地点:
专业班级:软件工程学号:2
学生姓名:
指导教师:
2015年 4 月11 日
2.1.2 服务器程序流程
打印帐单
输出确定
预定信息
输出错误
原因 打印机票
输出确定
预定信息
服务器经网络送来
9
11=
18
16
15
12
13
14
17
19
20
10
14
2 1
5 3 4
6
7
8
旅客资料
定票/取票
帐单号
经网络送服务器程序
数据转储。
(9)专门的注释。
(10)附录。
五思考题
1.系统设计和需求分析的关系是什么?两者必须先后关联吗?
答:需求分析是一个项目的开端,也是项目建设的基石。
是对用户需求的定义,对软件系统的描述。
在以往建设失败的项目中,80%是由于需求分析的不明确而造成的。
因此一个项目成功的关键因素之一,就是对需求分析的把握程度。
而项目的整体风险往往表现在需求分析不明确、业务流程不合理,用户不习惯或不愿意去用承建方的软件。
作为第三方的监理公司,必须提醒承建方、客户方重视需求分析的重要性。
系统分析的任务:将用户的业务逻辑转化为程序逻辑,计算时间和成本。
根据开发人员的理论知识和实际的经验,人们会采用各种满足实际情况的系统分析、开发方法、步骤以及文档等等。
2.怎样描绘系统的体系结构?
答:系统体系结构是由许多结构要素及各种视图(或观点)共11页第6页(View)所组成的,而各种视图主要是基于各组成要素之间的联系与互操作而形成的。
所以,系统体系结构是一个综合各种观点的模型,用来完整描述整个系统。
体系结构框架(Architecture Framework)用于规定具体体系结构的定义及其文档所表达的意义。
体系结构框架不需要包罗万象,通常只是针对特定的领域,可能更注重战略方面的问题,并为体系结构的发展演变提供指导。
,“体系结构”指系统的组成结构及其相互关系,是指导系统设计和发展的原则。
“体系结构框架”是用于规范体系结构设计的指南。
3.怎样绘制符合规范的流程图。
答:了解流程图的各个符号以及流程图的形式,根据需要来选择框,线等绘制出系统所要求的流程图。
4.怎样组织对设计阶段工作的评审?
答:最高管理者应把管理评审的重点放在影响产品质量的关键问题;管理评审是标准对组织最高管理者提出的重要活动之一。
本科实验报告课程名称:软件工程
实验项目:测试
实验地点:
专业班级:软件工学号:
指导教师:
2015年 4 月日
一,目的与任务
1.目的:在实验四基础上选择一个模块进行编码,完成相关的测试。
1、了解软件测试方法分类,其中包括1)白盒测试2)黑盒测试3)静态测试4)动态测试2、了解测试类型1)单元测试2)集成测试3)确认测试4)黑盒测试5)白盒测试6)功能测试7)α 测试8)β 测试
2.任务:正确运用软件测试技术和方法,完成系统的单元测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计方法,并给出测试报告。
二、内容、要求
1.测试用例:黑盒法测试售票点查看航班,让用户确认选定的航班;安排预定的航班
2. 测试环境:SQLserver 2008;
数据库表结构:
测试分析:
三.测试结果:
测试成功。
四.思考题:
1.怎样看待测试的重要性。
答:试想一下如果一个系统开发完毕后不能正常运行可能造成的后果,损失钱财,损失时间,损失客户,等等
2.怎样选择测试的技术和方案。
答:一个测试方法,就是设定输入数据,运行被测试函数,然后判断实际疏忽是否符合预期输入数据时测试用例的核心,输入数据的定义是:被测试函数所读取的外部数据及这些数据的初始值。
3.比较逻辑测试和基本路径测试的不同和联系。
答:逻辑测试指的是编程,也就是逻辑循环语言。
是需要一定的逻辑性基础的。
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。
4.怎样组织对测试阶段工作的评审?
答:最高管理者应把管理评审的重点放在影响产品质量的关键问题;管理评审是标准对组织最高管理者提出的重要活动之一。
课程名称:软件工程
实验项目:面向对象的分析与设计实验地点:
专业班级:软件工程1学号:2
学生姓名:
指导教师:
2015年 4 月11 日
一目的与任务
1.目的:掌握面向对象的分析、设计方法,建立对象模型、功能模型和动态模型,并掌握UML中常用的模型符号的使用方法。
2.任务:用一个简单项目(可以考虑仍然选择前面面向过程软件工程所选定的项目),通过分析,建立系统用例图,抽取出类,建立顺序图及类的状态图等。
二实验内容
用例模型图说明:机票预订系统主要使用的对象是旅行社管理员。
管理员根据顾客填写的目的地和时间信息,将其输入系统,系统根据相关信息进行处理,则系统其中的一个功能即用例就是接收顾客信息。
顾客需要用取票单去航空公司取票,系统由管理员输入的信息来识别,则系统的另一个功能即用例就是预定管理员输入信息符合的票。
类图说明:为此系统定义了4个类,分别是顾客类,管理员类,航空公司类,机票类。
各个类对应的属性和操作方法在图中已表示出,目前应该还是有很多不完善的地方,在后期再加以修改。
对象图说明:对象图是根据设置的类图而设置的。
一个对象就是类的一个具体实例,本例中设置了一个custom的取票操作,详细信息在图中已经设置,根据顾客的相关信息和操作,系统会调用相应的类的对象来处理,在本例中不一定会全部都涉及。
顺序图说明:顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。
由于在顾客,旅行社,航空公司之间也有先后顺序,所以在顺序图中会有两个生命周期,分别是订票和取票操作。
旅行社根据顾客填写的信息,就操作系统的订票功能。
系统在对管理进行处理时,会先记录顾客的相关信息,最后再打印取票单给顾客。
系统对取票进行处理时,会先收取款,最后会把票给顾客。
1-5、状态图
状态图说明:在订票系统中,主要会有两个对象的状态:顾客和管理员。
顾客的状态最开始是填写信息,再管理员将信息输入系统,此时系统查询合适的航班,顾客收到系统打印出的相应单据,最后顾客将取票单和款返回给系统得到票。
2.动态模型
动态模型说明:动态模型主要是描述系统的动态行为和控制结构。
动态行为包括系统中对象生存期内可能的状态以及事件发生时状态的迁移,还包括对象之问动态合作关系,显示对象之间的交互过程以及交互顺序,同时描述了为满足用例要求所进行的活动以及活动问的约束关系。
动态模型主要包括的状态图、顺序图和活动图已经在1-4、1-5、1-6中画出。
建立动态模型的第一步是编写交互行为的脚本;第二步从脚本中提取出事件,确定后触发每个事件的动作对象及接收事件的目标对象;第三步排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。
最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。
3、功能模型
功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成,此功能模型的分析与设计依照对象模型和动态模型而来。
DFD图(数据流图)描绘信息流和数据从输入移动到输出的过程中所经受的变换。
数据流中没有任何具体的物理部件,它知识描绘数据在软件中流动和被处理的逻辑过程,流程如图。
4对象模型
对象模型说明: 对象模型描述了现实世界中的类与对象以及它们之间的关系,表示了目标系统动静态数据结构。
首先确定对象类和关联,对于大型复杂问题还要进一步划分出若干个主题;然后给类和关联增添属性,以进一步描述它们;接下来利用适当的继承关系进一步合并和组织类。
而对类中操作的最后确定,则需要等到建立了动态模型和功能模型之后,以为这两个子模型更准确地描述了对类中提供的服务的需求。
三思考题
1.面向对象的系统分析和设计之间的关系是什么?两者必须先后关联吗?
答:要有良好的系统分析才能做出合理的设计设计不好的话开发及维护都很麻烦成本也会增加,两者不必先后关联。
2.要用面向对象的方法描绘系统的体系结构,该如何进行?
答:系统的体系结构可以用结构图描述!。