软件工程上机实验
- 格式:pptx
- 大小:92.13 KB
- 文档页数:10
上机实验报告篇1用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a可读性:有注释。
b交互性:有输入提示。
c结构化程序设计风格:分层缩进、隔行书写。
3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。
请注意:过时不候哟!四、实验报告内容0.顺序表的插入。
1.顺序表的删除。
2.带头结点的单链表的\'插入。
3.带头结点的单链表的删除。
注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。
例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。
2.实验报告中的源代码应是通过编译链接即可运行的。
3.提交到个人空间中的内容应是上机实验中的全部内容。
上机实验报告篇2一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。
2.带头结点的单链表的建立(用尾插法)、插入、删除。
二、提交到个人10m硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。
2.在这二个文件夹中,分别存放上述二个实验的相关文件。
每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。
3. 截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。
三、实验报告要求及上交时间(用a4纸打印)1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。
b 交互性:有输入提示。
软件工程上机指导书实验题目: (1)实验一Microsoft Visio 软件的使用 (1)实验二:软件需求分析 (2)实验三:软件概要设计 (3)实验四:软件详细设计 (3)附录 (5)封面要求 (5)软件需求说明书 (6)概要设计说明书 (7)详细设计说明书 (7)实验结果提交说明: (8)实验题目:每组(5人以下组成,自由结组)在以下范围内任选一道题目或自拟一个题目。
1.高校教学资料管理系统2.高校监考信息管理系统3.学生公寓信息管理系统4.高校学生个人事物管理系统5.高校辅导员事物管理系统6.高校下级院系教务管理系统7.高校教师工作量统计系统8. 数据词典管理实验报告提交说明:实验一每人提交一份实验报告实验二~四每组(5人以下组成,自由结组)提交一份实验报告实验一Microsoft Visio 软件的使用1.实验目的:1) 熟悉Visio 的工作环境及组成;2) 掌握用Visio 软件绘制图表的基本操作;3) 能熟练全用Visio 软件绘制各种较复杂的专业图表;4) 掌握各种图表文档创建方法.2.实验要求:要求能够熟练运用Visio 软件所提供的菜单、工具、模型等制作图形或图表;能用Visio 软件所提供专业图形模板,来自行绘制出专业化、高质量的图形或图表。
3.实验内容:使用Microsoft Visio2003 来设计一个数据流程图模型。
4.实验步骤:1) 通过打开模板并向图表添加形状来开始创建图表。
2) 在图表中移动形状并调整形状的大小。
3) 向图表添加文本。
4) 连接图表中的形状。
5) 设置图表中形状的格式。
6) 保存图表以示完成,并向演示图表。
5.实验学时:4 学时。
6.实验结果:上交所制作的流程图文件和实验报告。
7.实验报告(Reports)实验一Microsoft Visio 软件的使用实验项目名称:Microsoft Visio 软件的使用实验目的:1) 熟悉Visio 的工作环境及组成;2) 掌握用Visio 软件绘制图表的基本操作;3) 能熟练运用Visio 软件绘制各种较复杂的专业图表;4) 掌握各种图表文档创建方法.实验内容:使用Microsoft Visio2002 来设计一个基本流程图模型。
软件工程概论上机实习任务与指导书计算机与信息工程系教师:桂兵祥实验一“图书馆系统”结构化需求分析1、上机任务:用结构化需求分析方法完成下列任务:1)对“图书馆系统”问题进行描述;2)对该系统进行功能分析;3)建立数据流图;4)建立实体-关系图;5)建立数据字典;参考资料:图书馆系统的问题描述①一个图书馆藏有图书和期刊杂志两大类书籍,每种图书/杂志可以有多册。
②图书馆可以维护(注册、更新和删除)图书资料。
③图书馆管理员负责与借书者打交道。
④借书者可以预约目前借不到的书或杂志。
⑤所有人员都可以浏览图书馆的图书信息和各种告示。
⑥系统能在流行的技术环境下运行,有一个良好的图形交互界面。
⑦系统应具有良好的可扩展性。
图书馆系统功能分析①浏览功能:所有人员都可以浏览图书馆的图书信息。
②借还功能:借书者可以借/续借、还、预约图书。
③图书管理功能:图书管理人员可以做录入、更新和销毁等图书信息维护工作。
④借书者管理:系统管理人员可以进行注册、更改、注销借书者信息等维护工作。
建立数据流图分析图书馆系统有哪些外部用户,即角色。
图书馆系统主要有一般浏览者、借书者、一般管理员和系统管理员四类外部用户。
图3.16图书馆系统的基本逻辑模型借/还功能数据流图维护功能数据流图图3.17 借/还功能(第一步)DFD 图3.18 借/还功能(修改)DFD图3.19 维护功能(第一步)DFD 图3.20 维护功能(修改) DFD图借书功能细化的数据流图建立实体-关系图图书馆系统有“图书”和“借书者”两个实体。
在数据流图的分析中发现“图书”实体,没有真正区别借书和预约的关系。
借书者是借一本具体的书,即“书目”,而预约图书指的是此类书,而不是指具体的某册书目。
因此,要用“标题”实体区分二者,即预约的是书的“标题”,而不是“书目”。
外部实体除了“借书者”,还有“系统管理员”。
因此,必须考虑有严格授权进入的权限。
图书馆系统实体-关系图图3.22 图书馆系统的实体-关系图建立数据字典图书馆系统的图书信息分为“标题”和“书目”。
实验3 包图与序列图实验报告实验名称:包图与序列图实验课时:4 课时实验地点:知行楼306实验时间:2016年3 月26日星期日第5 周实验目的及要求:能根据前期的分析和设计绘制包图与序列图。
实验环境:硬件设备:PCPC机一台1)硬件设备:Windows 7操作系统:Windows 72)操作系统:应用工具:Rational Rose 2007Rational Rose 20073)应用工具:实验内容:(算法、程序、步骤和方法)第1题:在“远程网络教学系统”中,假设我们需要三个包,分别是Business包、DataAccess 包和Common包,其中Business包依赖DataAccess包和Common包,DataAccess包依赖Common包。
在类图中试着创建这些包,并绘制其依赖关系。
系统管理员需要登录系统才能进行系统维护工作,如添加教师信息、删除教师信息等。
根据系统管理员添加教师信息用例,创建相关序列图。
如果我们单独抽象出来一个数据访问类来进行数据访问。
那么,根据系统管理员添加教师信息用例,重新创建相关序列图。
师信息用例,重新创建相关序列图。
第2题:图书管理系统。
题:图书管理系统。
1.1.完成借阅者查找图书序列图。
完成借阅者查找图书序列图。
完成借阅者查找图书序列图。
工作流程如下:工作流程如下:(1)借阅者希望通过系统查询某本图书的信息。
)借阅者希望通过系统查询某本图书的信息。
(2)借阅者通过自助系统用户界面SearchBookWindow 录入图书的ISBN/ISSN 号请求查找图书信息。
找图书信息。
(3)用户界面SearchBookWindow 根据图书的ISBN/ISSN 号将Book 类实例化并请求图书信息。
书信息。
(4)Book 类实例化对象根据图书的ISBN/ISSN 号加载图书信息并提供给用户界面SearchBookWindow SearchBookWindow。
(5)用户界面SearchBookWindow 向读者显示图书信息。
实验名称:Java面向对象编程实验实验日期:2023年3月15日实验地点:软件学院实验室一、实验目的1. 理解Java面向对象编程的基本概念,包括类、对象、继承、多态等。
2. 掌握Java面向对象编程的基本语法和操作。
3. 能够运用面向对象编程思想设计简单的Java程序。
二、实验内容1. 创建一个名为“Student”的类,包含以下属性:姓名(name)、年龄(age)、性别(gender)。
2. 在“Student”类中定义一个构造方法,用于初始化对象的属性。
3. 定义一个名为“printInfo”的方法,用于打印学生的信息。
4. 创建两个“Student”对象,并分别设置其属性。
5. 调用“printInfo”方法,打印两个学生的信息。
三、实验步骤1. 打开IDEA软件,创建一个名为“Experiment1”的新项目。
2. 在项目中创建一个名为“Student”的Java类。
3. 在“Student”类中定义属性:name、age、gender。
4. 定义构造方法,初始化属性。
5. 定义“printInfo”方法,打印学生信息。
6. 在主类中创建“Student”对象,设置属性。
7. 调用“printInfo”方法,打印学生信息。
四、实验代码public class Student {private String name;private int age;private String gender;public Student(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public void printInfo() {System.out.println("姓名:" + name + ",年龄:" + age + ",性别:" + gender);}public static void main(String[] args) {Student student1 = new Student("张三", 20, "男");Student student2 = new Student("李四", 21, "女");student1.printInfo();student2.printInfo();}}```五、实验结果与分析1. 编译并运行程序,控制台输出如下信息:```姓名:张三,年龄:20,性别:男姓名:李四,年龄:21,性别:女```2. 通过本次实验,掌握了Java面向对象编程的基本概念和操作,能够运用面向对象编程思想设计简单的Java程序。
《程序设计(上机)》课内周数:2周本次设计的课题采用每人一个题目,五个题目,学号最后一位为1-5的,对应做1-5题,尾号为6,7,8,9,0的,对应做1,2,3,4,5题。
提交文档1.报告一份,每人提交一份2.软件运行的视频截图3. 源代码最后一节课上以文件夹的形式提交到教师指定地方文件夹命名:程序设计_班号_学号_姓名评分标准1.专业课程设计Ⅰ成绩采用五级制,其对应关系如下:百分制90-100 80-89 70-79 60-69 0-59五级制优秀良好中等及格不及格2.个人成绩由四部分组成:1)指导教师评价成绩,占30%左右;2)报告评阅成绩,占40%左右;4)平时成绩,占30%左右;内容与要求题目一:猜单词(一)课题内容要求用C或C++模拟猜单词游戏。
游戏包括:单词管理、玩家纪录、猜词过程、系统设置等必须完成的基本功能以及成绩计算、猜词时间限制、词库管理等选做的扩展功能。
通过该课题全面熟悉数组、字符串、文件的使用,掌握程序设计的基本方法。
(二)课题要求课题分基本要求和扩展要求,基本要求是必须完成的,扩展要求视能力自选一个或多个完成。
1. 基本要求(1) 单词管理:程序中用来做谜题的单词必须存放在磁盘文件中,文件中的单词数不得少于200个。
(2) 玩家纪录:程序要求记录前五名成绩。
成绩指标自行设计,必须包括时间。
记录的时候要求有排名、玩家姓名、成绩三项,并保存在文件中。
在程序开始运行的时候就必须读入,以便随时供玩家查询、及时更新成绩。
(3) 猜词过程:①先请用户输入猜的单词数量,可以有一个默认值。
②随机抽取单词,对每个单词,系统根据谜底单词长度在屏幕上显示相应个数'-',假设谜底单词为"hello",则在屏幕上输出"-----"。
③玩家输入一个字母进行猜测,如果这个字母不在单词中,系统提示玩家不对;如果猜对字母,比如玩家输入了一个'l',则在屏幕上输出"--ll-"。
实验一使用案例与角色创建订单处理系统的use case框图练习步骤:一、增加系统用例模型包、use case框图、用例和角色1、右单击浏览器中的use case视图包并选择New---Package2、将新包命名为System Use Case Model3、右单击System Use Case Model包并选择New---Use Case Diagram4、将新框图命名为Main5、双击浏览器中的Main Use Case框图打开框图6、用用例工具栏按钮将新用例加进框图中7、将新用例命名为Add Item to Shopping Cart8、重复第6步到第7步,将其余用例加进框图中,包括:i.View Shopping Cartii.View Details of Itemsiii.Purchase Items in Shopping Cartiv.Remove Item from Shopping Cartv.Browse Items for Salevi.Provide Feedbackvii.Srock Inventoryviii.Return Item to Stockix.Ship Orderx.Add New Item for Salexi.Remove Item for Salexii.Purchase Inventory9、用角色工具栏按钮将新角色加进框图中10、将新角色命名为Customer11、重复第9步和第10步,将其余角色加进框图中,包括:Credit SystemWarehose ManagerShipping ServicePurchasing Manager三、增加关联1、用单向关联(unidirectional association)工具按钮在客户角色与“Add Item to ShoppingCart”用例之间画出关联。
2、重复第1步,将其余关联加进框图中四、增加用例描述1、选择浏览器中的“Add Item to Shopping Cart”用例。
一、实验目的1. 熟悉实验环境,掌握实验操作流程。
2. 理解并应用所学知识,解决实际问题。
3. 培养团队协作能力,提高实验技能。
二、实验时间2023年11月15日三、实验地点计算机实验室四、实验内容本次实验主要围绕以下内容展开:1. 编写一个简单的C语言程序,实现两个整数的加法运算。
2. 使用Python实现一个简单的计算器,能够进行加减乘除运算。
3. 编写一个Java程序,实现学生信息管理系统,包括添加、删除、修改和查询学生信息。
五、实验步骤1. C语言程序实现整数加法(1)创建一个新的C语言项目,命名为“Addition”。
(2)编写以下代码:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```(3)编译并运行程序,测试功能。
2. Python计算器实现(1)创建一个新的Python项目,命名为“Calculator”。
(2)编写以下代码:```pythondef calculator():operation = input("请输入运算符(+,-,,/):") num1 = float(input("请输入第一个数:"))num2 = float(input("请输入第二个数:"))if operation == '+':result = num1 + num2elif operation == '-':result = num1 - num2elif operation == '':result = num1 num2elif operation == '/':if num2 != 0:result = num1 / num2else:print("除数不能为0!")returnelse:print("无效的运算符!")returnprint("结果是:", result)calculator()```(3)运行程序,进行测试。
软件工程实验指导—实验六软件工程上机实践指导参考答案实验五用例文档的撰写1. 借阅物理书刊(Borrow Book)1.1 前置条件(Pre-Conditions)在这个用例开始前,Librarian必须登录到系统中。
1.2 后置条件(Post-Conditions)如果这个用例成功,在系统中建立并存储借阅记录,如果必要还要删除预订记录。
否则,系统的状态没有变化。
1.3 扩展点(Extension Points)借阅者预定了书刊。
1.4 事件流1.4.1 基流(Basic Flow)当借阅者从图书馆借阅物理书刊时,用例启动。
(1)图书管理员提供书刊书目、借阅者信息。
(2)系统检索书刊书目(Title)(E-1)(3)系统确定所借阅的物理书刊是否可以获得(E-2),也即物理书刊是否都已借出。
(4)系统检索借阅者(E-3)(5)图书管理员将物理书刊借给借阅者(6)记录借阅信息。
(7)若该图书为预定的图书,执行用例4取消预定(Cancel Reservation)1.4.2 替代流(Alternative Flow)E-1 该种书刊不存在,系统显示提示信息,用例终止。
E-2 物理书刊都已借出,系统显示提示信息,用例终止。
E-3 系统中不存在该借阅者,系统显示提示信息,用例终止。
2. 返还物理书刊(Return Book)2.1 前置条件(Pre-Conditions)在这个用例开始前,Librarian必须登录到系统中。
2.2后置条件(Post-Conditions)在这个用例成功,系统删除借阅记录。
否则,系统的状态没有变化。
2.3 扩展点(Extension Points)没有。
2.4 事件流2.4.1 基流(Basic Flow)当借阅者返还所借的物理书刊时,用例启动。
(1)图书管理员提供所还物理书刊信息。
(2)系统检索物理书刊(E-1)。
(3)系统查询物理书刊的借阅记录(E-2)。
(4)系统删除借阅记录。
《Java语言程序设计》上机实验报告实验名称: JAVA语言基础(2)班级:软工133姓名:陈超学号: 1130299452 上机时间: 2014.9.24 指导教师:虞建东一、实验内容或题目:1.输出希腊字母表。
2.回文数。
3.猜数字游戏。
4.编程实现Fibonacci数列。
5.编程实现采用冒泡法实现对数组元素由小到大排序。
二、实验目的与要求:【目的】①掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表;②继续掌握用while循环语句解决问题;③掌握Java中的数组定义、引用。
实验要求:1.编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。
2.编写一个Java应用程序。
用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。
回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。
3.编写一个Java应用程序,实现下列功能:1)程序随机分配给客户一个1—100之间的整数2)用户在输入对话框中输入自己的猜测3)程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对了”。
4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。
4.编写一个Java应用程序,实现Fibonacci数列:Fibonacci数列的定义为:F1=1,F2=1,Fn=Fn-1+Fn-2 (n>=3)5.冒泡法排序对相邻的两个元素进行比较,并把小的元素交换到前面。
三、实验步骤与源程序:(1)实验步骤a) 编辑源文件b) 编译c) 运行(2)源代码【写出解决本次上机题目的源代码,并提供语句的注释;如程序过长则给出主要程序段并写出注释】题目1public class Xila {public static void main(String[] args) {// TODO 自动生成的方法存根int startPosition = 0, endPosition = 0;char cStart = 'α', cEnd = 'ω';startPosition = (int) cStart; // cStart做int型转换据运算,并将结果赋值给startPositionendPosition = (int) cEnd; // cEnd做int型转换运算,并将结果赋值给endPositionSystem.out.println("希腊字母\'α\'在unicode表中的顺序位置:" + (int) cStart);System.out.println("希腊字母表:");for (int i = startPosition; i <= endPosition; i++) {char c = '\0';c = (char) i; // i做char型转换运算,并将结果赋值给cSystem.out.print(" " + c);if ((i - startPosition + 1) % 10 == 0)System.out.println("");}}}题目2:import java.util.Scanner;public class Huiwen{public static void main(String[] args) {// TODO 自动生成的方法存根Scanner in = new Scanner(System.in);System.out.print("请输入一个整数(1—9999之间):");int num = 0;int count = 0, i = 0, k = 1;int a[] = new int[100];int p = 1;num = in.nextInt();while (p != 0) {count = 0;while (num != 0) {a[i] = num % 10;i++;count++;num = num / 10;}if (count < 5 && count > 0) {System.out.println("这个数是" + count + "位数");p = 0;} else {System.out.println("输入的数字不复合要求");num = in.nextInt();}}for (int j = 0; j < count / 2; j++) {if (a[j] != a[count - j - 1])k = 0;}if (k == 0)System.out.println("这个数不是回文");elseSystem.out.println("这个数是回文");}}题目3:import java.util.Scanner;public class Caishuzi {public static void main(String[] args) {// TODO 自动生成的方法存根Scanner in=new Scanner (System.in);int num = (int) (Math.random() * 100);while(1==1){System.out.print("请输入一个整数(1—100之间):");int q=in.nextInt();if (q>num)System.out.print("猜大了!");else if(q<num)System.out.print("猜小了!");else{ System.out.print("猜对了!!");break;} }}} 题目4:public class Fibonacci {public static void main(String[] args) {// TODO 自动生成的方法存根int F[]=new int[10];F[0]=F[1]=1;System.out.printf("F[0]=%d\nF[1]=%d\n",F[0],F[1]); for(int i=2;i<10;i++){F[i]=F[i-1]+F[i-2];System.out.printf("F[%d]=%d\n",i,F[i]);}}}题目5:import java.util.Scanner;public class Maopao {public static void main(String[] args) {// TODO 自动生成的方法存根Scanner in = new Scanner(System.in);int a[]=new int[100];int i;int j=0; System.out.printf("元素个数为:");i= in.nextInt();{for(j=0;j<i;j++){System.out.printf("第%d个元素为:",j+1);a[j]= in.nextInt();}for(j=0;j<i;j++){System.out.printf("%d",a[j]);}}for(int k=0;k<i-1;k++)for(int m=k+1;m<i;m++)if(a[k]>a[m]){int t=a[k];a[k]=a[m];a[m]=t;}for(int l=0;l<i;l++){System.out.printf("%d",a[l]);}}}四、测试数据与实验结果(可以抓图粘贴):题目1题目2题目3题目4题目5五、总结:这是第二次上机实验,感觉比上一次进步了不少。