太原理工大学软件工程软件需求实验报告
太原理工大学软件工程课程设计实验
文本文件单词的检索与计数专业:软件工程班级: 1227 班姓名:王晓春学号:74同组人:王晓春闫瑞娟张泽磊组长:王晓春完成日期:一.【问题描述】串是非数值处理中的主要对象,如在信息检索、文本编辑、符号处理等许多领域,得到越来越广泛的应用。
在高级语言中也引入了串数据类型概念,并且串变量与其他变量〔如整型、实型等〕一样,可以进行各种运算。
然而,在各种不同类型的应用中,所处理的串有不同的特点,要想有效地实现串的处理,就必须熟悉串的存储结构及其根本运算。
本课程设计的目的就是熟悉串类型的实现方法和文本模式匹配方法,熟悉如何利用模式匹配算法实现一般的文本处理技术。
本课程设计分两步:首先,设计出串定位算法〔即模式匹配算法〕及其实现;然后,再利用串定位算法设计文本文件的检索及单词的计数等操作。
二.【设计需求及分析】1.设计要求串模式匹配算法的设计要求在串的根本操作中,在主串中查找模式串的模式匹配算法——即求子串位置的函数 Index(S,T),是文本处理中最常用、最重要的操作之一。
所谓子串的定位就是求子串在主串中首次出现的位置,又称为模式匹配或串匹配。
模式匹配的算法很多,在这里只要求用最简单的朴素模式匹配算法。
该算法的根本思路是将给定子串与主串从第一个字符开始比拟,找到首次与子串完全匹配的子串为止,并记住该位置。
但为了实现统计子串出现的个数,不仅需要从主串的第一个字符位置开始比拟,而且需要从主串的任一给定位置检索匹配字符串,所以,首先要给出两个算法:1.标准的朴素模式匹配算法2.给定位置的匹配算法文本文件单词的检索与计数的设计要求要求编程建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写;统计给定单词在文本文件中出现的总次数;检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。
该设计要求可分为三个局部实现:其一,建立文本文件,文件名由用户用键盘输入;其二,给定单词的计数,输入一个不含空格的单词,统计输出该单词在文本中的出现次数;其三,检索给定单词,输入一个单词,检索并输出该单词所在的行号、该行中出现的次数以及在该行中的相应位置。
太原理工大学毕业实习报告
太原理工大学毕业实习报告太原理工大学毕业实习报告摘要:太原理工大学毕业实习是为了让学生在学业结束前能够更好地融入社会工作,在实践中学习和提高自己的能力。
通过实习,我进一步了解了本专业的实际工作情况,学习了实践操作技能,提高了自己的综合实践能力。
这篇报告主要介绍了我在实习期间所做的工作,以及我从中获得的经验和收获。
第一章:实习单位及实习任务1.1 实习单位我本次实习的单位是某软件开发公司,公司规模较大,有着丰富的项目经验和优秀的开发团队。
公司致力于开发高品质的软件产品,并与多家知名企业合作。
1.2 实习任务在实习期间,我主要参与了公司的软件开发项目。
具体任务包括需求分析、系统设计、编码开发、测试等。
在导师的指导下,我独立完成了一项小型软件开发任务,并参与了公司其他项目的开发。
第二章:实习工作与成果2.1 需求分析和系统设计首先,我参与了一个新项目的需求分析工作。
在与客户沟通后,我了解到客户对软件功能和性能有着明确的要求。
我与团队成员一起进行了需求分析,确定了软件的基本功能和模块划分,并编写了相应的需求文档。
接下来,我参与了系统设计工作。
通过对需求文档的分析和团队讨论,我负责了系统的部分模块设计。
我使用了UML工具绘制了系统的类图、时序图和活动图,并编写了相应的设计文档。
2.2 编码开发在需求分析和系统设计完成后,我开始了软件的编码开发工作。
根据系统设计文档,我使用Java语言和Spring框架进行了编码开发。
我参与了系统的多个模块开发,并与其他团队成员进行了协作。
在编码过程中,我遇到了一些问题,但通过查阅资料和请教导师,我能够及时解决,并保证了代码的质量。
2.3 测试与优化在编码开发完成后,我参与了软件的测试工作。
通过测试,我发现了一些潜在的问题,并针对这些问题进行了优化。
同时,我还参与了系统的部署和发布工作,确保了软件能够正常运行。
第三章:实习经验与收获3.1 实践操作技能通过实习,我获得了宝贵的实践操作技能。
软件需求工程实验报告
软件需求工程实验报告软件需求工程实验报告1. 引言软件需求工程是软件开发过程中至关重要的一环,它涉及到对用户需求的分析、定义和管理。
本实验旨在通过一个实际案例,探讨软件需求工程的重要性和具体工作流程。
2. 案例背景我们选择了一个在线购物平台作为案例,该平台旨在为用户提供便捷的购物体验。
用户可以在平台上浏览商品、下订单并进行支付。
为了实现这一目标,我们需要进行软件需求工程的分析和设计。
3. 需求分析需求分析是软件需求工程的第一步,它旨在理解用户的需求和期望。
我们首先进行了市场调研,了解用户对在线购物平台的期望和痛点。
然后,我们与潜在用户进行了面对面的访谈,深入了解他们的需求。
通过这些调研和访谈,我们得出了以下几个主要需求:3.1 用户注册和登录用户需要能够注册新账号并登录到平台上。
为了确保账号安全,我们还需要实现密码加密和账号验证的功能。
3.2 商品浏览和搜索用户需要能够浏览平台上的商品,并根据关键词进行搜索。
我们需要设计一个用户友好的界面,方便用户浏览和筛选商品。
3.3 下订单和支付用户需要能够将心仪的商品加入购物车,并下订单进行支付。
我们需要实现购物车和订单管理的功能,确保用户可以方便地管理自己的订单。
4. 需求定义在需求分析的基础上,我们将用户需求转化为具体的需求定义。
需求定义包括功能需求和非功能需求。
4.1 功能需求功能需求描述了系统应该具备的功能和行为。
对于我们的在线购物平台,主要的功能需求包括:- 用户注册和登录功能- 商品浏览和搜索功能- 购物车和订单管理功能- 支付功能4.2 非功能需求非功能需求描述了系统的性能、可靠性、安全性等方面的要求。
对于我们的在线购物平台,主要的非功能需求包括:- 系统响应时间应在3秒以内- 数据库备份和恢复功能- 用户信息加密和安全传输5. 需求验证需求验证是确保需求定义的正确性和完整性的过程。
我们采用了以下几种方法来验证我们的需求定义:5.1 面对面讨论我们与团队成员和潜在用户进行了面对面的讨论,以确保需求定义的准确性和可行性。
太原理工大学软件开发环境与工具实验报告
本科实验报告课程名称:软件开发环境与工具实验项目:实验一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.为什么要保持良好的代码风格?保持好的代码风格可以避免一些不必要的错误,可以提高程序的可读性,提高开发效率。
太原理工大学软件工程《系统分析与设计》实验报告
本科实验报告课程名称:系统分析与设计实验项目:《企业人事管理系统》实验实验地点:逸夫楼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 输入:通过名单 输出:课程信息、教学任务书 加工逻辑:修改课程信息是否通过并给出教学任务书
软件需求工程实验报告
软件需求工程实验报告软件需求工程实验报告摘要:本篇实验报告旨在介绍软件需求工程的基本概念、方法和实践过程。
通过对需求工程实验的设计和执行,我们深入了解了需求工程的重要性和应用价值。
本实验以一个虚拟的在线购物平台为例,通过需求分析、需求建模、需求验证等环节,详细描述了软件需求工程的实践过程,并总结了实验中遇到的问题和解决方案。
1. 引言软件需求工程是软件开发过程中至关重要的一环。
它旨在明确用户和系统之间的需求,为软件开发提供明确的目标和方向。
本实验以一个在线购物平台为例,通过需求工程的实践过程,展示了如何从用户需求到系统需求的转化过程。
2. 需求分析需求分析是软件需求工程的第一步。
通过与用户的沟通和交流,我们了解到用户对于在线购物平台的期望和需求。
在需求分析阶段,我们采用了面谈、问卷调查等方法,收集了用户的意见和建议。
通过分析用户需求,我们确定了在线购物平台的基本功能和特性。
3. 需求建模需求建模是将用户需求转化为系统需求的过程。
在本实验中,我们采用了用例图、活动图和类图等建模工具,对在线购物平台的功能和流程进行了详细描述。
通过用例图,我们清晰地展示了用户和系统之间的交互关系。
通过活动图,我们详细描述了用户在购物平台上的操作流程。
通过类图,我们定义了系统中各个对象的属性和行为。
4. 需求验证需求验证是确保需求的正确性和完整性的过程。
在本实验中,我们通过模拟用户操作和系统响应,验证了在线购物平台的功能和性能。
我们对系统进行了功能测试、性能测试和用户体验测试等,确保系统能够满足用户的需求和期望。
通过需求验证,我们发现了一些问题和不足,并及时进行了修正和改进。
5. 实验总结通过本次实验,我们深入了解了软件需求工程的实践过程和方法。
通过需求分析、需求建模和需求验证等环节,我们成功地将用户需求转化为系统需求,并验证了系统的功能和性能。
在实验过程中,我们也遇到了一些问题和挑战,但通过团队合作和不断努力,我们最终解决了这些问题,并取得了令人满意的结果。
太原理工大学软件java实验报告
本科实验报告课程名称:Java语言程序设计实验项目:Java实验实验地点:致远楼401专业班级:软件1 学号:20110 学生姓名:指导教师:2013年11月实验1 Java语言基础1.实验目的(1)通过实验,掌握Java语言程序设计的基本方法。
(2)学会Java语言中标示符的命名、运算符和表达式的应用。
(3)熟练地掌握Java程序流程控制语句的应用。
2.实验内容(1)编写应用程序,计算100(含100)以内所有偶数的和。
package com.zhangqian.exercise1;public class SumEvenNumber {public static void main(String[] args) {int sum = 0;int n = 100;for (int i = 0; i <= n; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("1--100内偶数和为:" + sum);}}(2)“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。
编写程序,求所有的水仙花数。
package com.zhangqian.exercise1;public class Flower {public static void main(String[] args) {// TODO Auto-generated method stubint n = 1000;int m;for (int i = 100; i < n; i++) {m = (i / 100) * (i / 100) * (i / 100) + ((i / 10) % 10)* ((i / 10) % 10) * ((i / 10) % 10) + (i % 100 % 10)* (i % 100 % 10) * (i % 100 % 10);if (m == i) {System.out.println("水仙花数为:" + i);}}}}(3)编写一个程序,求1-100间的素数。
太原理工软件工程实习报告
太原理工软件工程实习报告一、实习背景与目的随着信息技术的快速发展,软件工程成为现代科技领域中的重要研究方向。
为了提高自身的实践能力和专业素养,我选择了太原理工大学的软件工程实习项目。
本次实习旨在通过实际操作,深入了解软件开发流程,掌握软件工程的核心技术,并培养团队合作和解决问题的能力。
二、实习内容与过程在实习期间,我参与了太原理工大学软件实验室的一个实际项目开发。
以下是实习的主要内容与过程:1. 项目启动:在实习的开始阶段,导师为我们介绍了项目的背景和需求。
我们通过讨论和分析,明确了项目的目标、功能要求和性能要求。
2. 需求分析:我们小组成员共同参与需求分析工作,通过与导师和客户的沟通,明确了用户需求和系统功能。
我们使用UML图和用例图工具,对系统的功能进行详细的描述和文档化。
3. 设计阶段:在需求分析的基础上,我们开始进行系统设计。
我负责设计和实现系统的数据库部分,包括数据库表的创建、关系的建立和SQL语句的编写。
4. 编码阶段:根据设计文档,我开始编写代码。
我使用了Java语言和MySQL数据库,实现了系统的核心功能。
在编码过程中,我注重代码的可读性和可维护性,遵循了软件工程的最佳实践。
5. 测试阶段:在编码完成后,我们进行了系统的测试。
我负责编写测试用例,并与其他成员一起进行测试。
我们发现了一些问题,并通过调试和优化,解决了这些问题。
6. 项目总结与汇报:在项目完成后,我们进行了项目总结和汇报。
我向导师和同学们展示了自己的工作成果,并分享了在实习过程中的收获和体会。
三、实习收获与反思通过本次实习,我对软件工程的核心技术和开发流程有了更深入的了解。
我掌握了UML图和用例图的使用,熟悉了Java语言和MySQL数据库的操作。
同时,我也学会了团队合作和解决问题的能力。
在实习过程中,我也意识到了自己在一些方面的不足之处。
例如,我在需求分析阶段的沟通能力和表达能力有待提高。
此外,我在代码编写和调试过程中,还需要更加注重细节和规范,以提高代码的质量和稳定性。
太原理工大学软件工程程序设计实验报告
《程序设计》课程设计姓名:学号:班级:软件工程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)。
太原理工大学软件测试方法和技术实验报告
太原理工大学学生实验报告
学院名称计算机科学与技术专业班级软件工程实验成绩
学生姓名学号实验日期
课程名称软件测试方法和技术实验题目使用白盒测试方法测试程序段
一、实验目的
通过实验主要掌握用白盒法中的逻辑覆盖测试技术设计测试用例以及测试流程图的绘制。
二、实验内容
测试以下程序段
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)。
太原理工硬件本科实验报告3
(3)然后输入C:(进入虚拟的C盘,其实就是E:\masm5)
(4)输入dir
(5)输入命令:edit,打开编辑窗口,输入如下原程序后保存文件,例如exp1.asm
(6)输入下列指令进行编译:d:\ masm exp1.asm回车
本科实验报告
课程名称:计算机硬件技术基础
实验项目:汇编语言程序设计:综合程序设计实验
实验地点:行知楼C227
专业班级:软件工程1303班学号:2013005953学Leabharlann 姓名:闫瑾指导教师:高劲松
2015年5月12日
太原理工大学学生实验报告
学院名称
软件学院
专业班级
软件工程1303班
学号
2013005953
4.掌握通过DOS中断调用使用键盘和显示器的方法。
二、实验内容和原理
1.编写一个汇编程序,要求对键盘输入的大写字母用小写字母显示出来,键盘输入的小写字母用大写字母显示出来。
三、主要仪器设备
笔记本、DOSBOX
四、操作方法与实验步骤
64位机运行过程:
DOS虚拟机,即DOSBox。
(1)假设编译器在E:\masm5,就是那个有masm.exe,debug.exe,link.exe的那个文件夹
输入下列指令进行调试:d:\masm\debug exp1.exe回车,
输入指令可以得到相应的调试结果:-D显示储存器内容-T执行和显示跟踪
五、实验数据记录和处理
1、
六、实验结果与分析
七、讨论、心得
根据调试结果可以知道是正确的。
其中由于编码的问题导致了一些错误,根据在生成文件的时候有相关的提示。最后得以解决了。
(完整版),太原理工大学软件需求工程需求总结,推荐文档
1.优秀需求的特性:完备性、正确性、可行性、必要性、无歧义、(可验证)2.场景:描述了产品的作用以及最终的功能,它将所有涉众都统一到了一个方向上3.范围:范围指出当前项目是要解决产品长远规划中的哪一部分,范围声明它为项目规定了需求的界限.4.需求IEEE 定义:①用户为了解决问题或达到某些目标所需要的条件或能力;②系统或系统部件为了要满足合同、标准、规范或其他正式规定文档所规定的要求而需要具备的条件或能力;对①或②中的一个条件或一种能力的一种文档化表述.5.需求分析的定义及根本任务:需求分析是利用建模与分析技术对获取笔录的内容进行明确、整理、汇总,建立一个综合考虑问题特性和需求的系统模型,然后根据系统模型将用户需求转化为系统需求的需求工程活动。
需求分析的根本任务:建立分析模型、创建解决方案6.UML 是什么,举例5个建模图模型工具:用例图,交互图,状态图,类图,活动图 1.作为系统分析项目的一部分,需要为大学一卡通的管理系统更新自动化会计功能。
你将要对首席会计牛建国进行访谈。
1)写出 4 到 6 个涉及他所使用的信息资源、信息格式、决策频度、需求的信息性质和决策样式的访谈目标。
2)说明你将如何联系牛建国以安排一次访谈。
3)说明在这场面谈中你会使用哪种访谈结构?为什么? 4)牛建国有 3 个下属也使用这个系统。
你和他们面谈吗?为什么? 5)写出 3 个开放式问题,在访谈前通过电子邮件寄给牛建国。
用一句话解释为什么应当由人而不是由电子邮件来指导访谈? 答:①面谈过程的准备阶段:打电话或者email 给牛建国,因为要进行深入面谈,可以先将一些问题通过 email 发给他②采用菱形面谈结构,因为目的是要更新自动化会计功能.也可以考虑使用漏斗结构③应当面谈,因为下属和领导应该具有不同的目标,而这些目标是领导不能提供的.采用漏斗型.以一般的开放式的问题开始,有助于分析人员取得总体认识,然后再逐步就某些问题展开深入面谈. 面谈是复杂的过程,可以实现很多的目标,只有依靠人的灵活和主观能动性才能使面谈达到最优效果.7.软件模拟特性具体指:目的性、正确性、现实可理解性.8.需求处理中的核心活动:需求建模与分析. 9. 需求工程需要获取的内容主要有3种:需求(需求是获取的主要对象)、问题域描述、环境与约束.10.问题和期望粒度不同的现象被称为需求的不同抽象层次,需求最为常见的抽象层次有3层:目标→业务需求(起点)任务→用户需求(问题域知识)系统行为→系统级需求(需求分析模型).11.需求分析根本任务:建立分析模型、给出系统解决方案.12.问题分析的前提是获取问题,可以通过收集背景资料或与涉众沟通来实现.13非功能需求中最重要的是质量需求.功能需求是软件系统需求中最常见和最重要的需求,同时也是最为复杂的需求.14.需求获取过程需要进行交流,交流中最大的问题是理解偏差.15.获取、分析规格说明与验证这些需求开发活动并不是以线性、顺序方式进行的,这些活动之间是互相交织的,整个开发活动也是不断迭代和递增的. 16.描述场景所使用的表示法要符合正规性的要求,一般使用形式化、非形式化、半形式化语言,实践当中描述场景的方式主要的是非形式化自然语言.17.结构化分析方法的核心技术是:数据流图.18.建模最为常用的手段:抽象、分解.19.领域模型领域的含义主要指:问题集合业务范围.20.原型按照开发方法进行分类:演化式模型与抛弃式模型.抛弃分为探索实验型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:软件需求工程实验项目:软件需求课程实验实验地点:行勉楼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:图书管理系统
项目背景:
本系统实现图书管理的基本功能,包括学生借书退书,查看自己的借书信息;管理员添加学生、管理学生和管理书籍等。
实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。
用例图:
图书馆管理员处理借书、还书等的用例图:
类图:
时序图:系统管理员添加借阅者帐户的时序图:
图书管理员处理书籍借阅的时序图:
协作图
系统管理员添加书籍的协作图
系统管理员删除书籍的协作图:
状态图
书的状态图
活动图
借阅者的活动图
配置图
(三)选题3:学生平时成绩管理系统用例图:
学生用例图:
系统管理员用例:
类图:
参与者类图:
关系类图:
序列图:教师查看录入成绩序列图
管理员删除信息序列图:
状态图:
教师状态图:
部署图:
活动图
学生活动图:
构件图:
六、实验总结
通过这次实验,使得我掌握了一个系统的分析与设计,学会用UML软件工具来设计系统的用例图、类图、顺序图、通信图、活动图、状态图、构件图部署图。
因为英语看着不方便,所以都用了中文来写,以后要提高英语能力。
通过实验我发现自己对UML使用还不是很熟悉,以后好注重实践。
再做设计的过程中遇到不懂得问题在及时的咨询老师和同学之后得到了及时的解决。
实验二需求管理实验
一、实验目的:
1、通过采用项目管理或者需求管理的方法对实际项目的需求项进行管理,理解需求管理的过程,掌握需求管理的方法、工具和技能;
2、通过实验了解和掌握UML和Rataional等工具的使用方法。
二、预习要求:
1、复习所学需求管理的方法和过程;
2、预习实验步骤,了解实验中要求的注意事项。
三、实验设备:
PC机、Windows操作系统、UML和Rational等工具软件。
四、实验内容:
1、熟悉和掌握Project的使用。
2、熟悉和掌握Rational RequsitePro工具的使用。
3、根据实验一的项目,分别在Project和RequsitePro中创建出相关的需求项列表,定义优先级别及其关联关系,并根据需求项列表进行系统规模、工作量、成本和进度的估算。
4、对于需求变更进行管理。
五、实验步骤:
1、安装RequsitePro和Project工具。
2、打开RequsitePro自带示例工程,Learning Proejct Usecase,观察、学
习其结构和内容。
3、在RequsitePro中根据Usecase Template创建工程。
4、在Use cases包下,创建用例项目(可以根据实验一的结果,也可以直接将Rose下面的用例模型直接导入到RequsitePro)。
具体方法:鼠标选择Usecases包,右键-new-Requirement,选择type为Use case,输入用例名称(Name)、描述(Text)、版本描述(Revision)、属性(attributes):Priority(优先级)、type(类型)、status状态(proposed建议,Approved(批准),Incorporated (),Validated())、难度、稳定性等,Traceability可跟踪性,Hierarchy(层次结构),Discussions(讨论)。
5、创建用例规格描述文档,鼠标选择Usecases包,右键-new-document
6、将模型中的用例全部导入到Project中,分配每个用例的工期、开始时间和完成时间、前置任务、资源。
打印甘特图和任务分配状态图。
六、实验结果:
安装RequsitePro和Project工具如下图:
学生信息管理系统:
甘特图:
任务分配状态图:
七、思考与分析:
该实验不仅让我又了解了一个office软件的使用,很多操作都可以实现,方便我们对其运用以及管理。