当前位置:文档之家› 软件体系结构实验报告

软件体系结构实验报告

软件体系结构实验报告
软件体系结构实验报告

学生实验报告

(理工类)

课程名称:软件体系结构专业班级:13软件工程2班学生学号: 1305104069 学生姓名:管东升

所属院部:软件工程学院指导教师:陈圣国

20 15 ——20 16 学年第 1 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印得,要遵照以下字体、字号、间距等得具体要求。纸张一律采用A4得纸张。

实验报告书写说明

实验报告中一至四项内容为必填项,包括实验目得与要求;实验仪器与设备;实验内容与过程;实验结果与分析。各院部可根据学科特点与实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定得名词与符号。

(5)应独立完成实验报告得书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告得批改要及时、认真、仔细,一律用红色笔批改。实验报告得批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程得每个实验项目得实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程得实验大纲。

实验项目名称:经典软件体系结构风格实验学时: 4学时

同组学生姓名:实验地点: 1216 实验日期: 2015、10、27-2015、11、3 实验成绩:

批改教师:批改时间:

一、实验目得与要求

(1)理解管道-过滤器软件体系结构、面向对象软件体系结构得原理

(2)掌握管道-过滤器软件体系结构、面向对象软件体系结构特点

(3)面向对象软件体系结构得编程实现

二、实验仪器与设备

奔腾以上计算机,Windows 10 、Visual Studio 2013、MySQL

三、实验过程

(1)在dos下体会管道过滤器得体系结构。

使用 dir | more 命令了解管道-过滤器风格得程序。

(2)数据抽象与面向对象软件体系结构设计实现。设计一个应用程序,在该程序定义平面图形得抽象类与其派生类圆、矩形、三角形,椭圆。该程序得功能包括:输入相应得图形参数,如矩形得长与宽,单击相应按钮,能根据输入参数创建图形类并输出该对象得面积。使用c#、c++或Java或语言进行面向对象得程序设计:(1)首先考虑数据封装性,(2)考虑继承性,(3)考虑抽象类。

应用程序代码:

Graphic、cs:

namespace WindowsFormsApplication1

{

public abstract class Graphic

{

public abstract double Area();

}

}

Rectangle、cs:

namespace WindowsFormsApplication1

{

public class Rectangle : Graphic

{

double len;

double wid;

public Rectangle(double length,double width) {

len = length;

wid = width;

}

public override double Area()

{

return len * wid;

}

}

}

Triangle、cs:

namespace WindowsFormsApplication1

{

public class Triangle : Graphic

{

double btm;

double hgt;

public Triangle(double bottom, double height) {

btm=bottom;

hgt=height;

}

public override double Area()

{

return btm * hgt/2;

}

}

}

Circle、cs:

namespace WindowsFormsApplication1

{

public class Circle:Graphic

{

double radius;

public Circle(double r)

{

radius = r;

}

public override double Area()

{

return radius * radius * 3、14;

}

}

}

Ellipse、cs:

using System;

using System、Collections、Generic;

using System、Linq;

using System、Text;

namespace WindowsFormsApplication1

{

public class Ellipse : Graphic

{

double la;

double lb;

public Ellipse(double a, double b)

{

la = a;

lb = b;

}

public override double Area()

{

return la * lb*3、14;

}

}

}

From1、cs:

using System;

using System、Collections、Generic;

using System、ComponentModel;

using System、Data;

using System、Drawing;

using System、Linq;

using System、Text;

using System、Windows、Forms;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

if (comboBox1、SelectedItem == "圆")

{

double r=Convert、ToDouble(textBox1、Text);

Circle circle=new Circle(r);

textBox4、Text = Convert、ToString(circle、Area()); }

else if (comboBox1、SelectedItem == "矩形")

{

double len = Convert、ToDouble(textBox1、Text);

double wid = Convert、ToDouble(textBox2、Text);

Rectangle rec = new Rectangle(len, wid);

textBox4、Text = Convert、ToString(rec、Area());

}

else if (comboBox1、SelectedItem == "三角形")

{

double btm = Convert、ToDouble(textBox1、Text);

double hgt = Convert、ToDouble(textBox3、Text);

Triangle tri = new Triangle(btm, hgt);

textBox4、Text = Convert、ToString(tri、Area());

}

else if (comboBox1、SelectedItem == "椭圆")

{

double a = Convert、ToDouble(textBox1、Text);

double b = Convert、ToDouble(textBox2、Text);

Ellipse elp = new Ellipse(a, b);

textBox4、Text = Convert、ToString(elp、Area());

}

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

if (comboBox1、SelectedItem == "圆")

{

label1、Text = "半径";

label2、Visible = false;

label3、Visible = false;

textBox2、Visible = false;

textBox3、Visible = false;

}

else if (comboBox1、SelectedItem == "矩形")

{

label1、Text = "长";

label2、Visible = true;

textBox2、Visible = true;

label3、Visible = false;

textBox3、Visible = false;

}

else if (comboBox1、SelectedItem == "三角形")

{

label1、Text = "底";

label3、Visible = true;

textBox3、Visible = true;

label2、Visible = false;

textBox2、Visible = false;

}

else if (comboBox1、SelectedItem == "椭圆")

{

label1、Text = "半长轴";

label2、Text = "半短轴";

label2、Visible = true;

textBox2、Visible = true;

label3、Visible = false;

textBox3、Visible = false;

}

}

}

}

四、实验结果与分析

程序初始界面:

如选择椭圆,输入半长轴与半短轴,点击计算,输出结果:

如选择三角形,输入底与高,点击计算,输出结果:

五、思考题

(1)管道-过滤器软件体系结构与批处理软件体系结构得区别与联系就是什么?

答:管道/过滤器结构通常导致进程成为批处理得结构,因为虽然过滤器可增量

式地处理数据,但它们就是独立得,所以设计者必须将每一个过滤器瞧成一个完

整得从输入到输出得转换。、限定过滤器得数据存储容量,就可以得到有界管道/

过滤器。过滤器将所有输入数据作为单个实体进行处理,这就就是批处理系统(2)面向对象软件体系结构与主程序-子程序软件体系结构得区别与联系就是什么?

答:主程序-子程序体系结构在设计上使用层次化得划分方法,通常采用自顶向

下得功能化设计方法,面向对象体系结构在设计上使用面向对象得设计方法,

可以隐藏对象得内部状态并且要求所有对象间得交互都通过该方法,即进行了

数据封装,这也就是面向对象编程得基本原则

六、实验心得与体会

在管道/过滤器风格得软件体系结构中,每个构件都有一组输入与输出,构件读输入得数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流得变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。因此,这里得构件被称为过滤器,这种风格得连接件就象就是数据流传输得管道,将一个过滤器得输出传到另一过滤器得输入。通过实验,我对这种软件体系结构有了进一步了解。

实验项目名称:多层C/S结构应用设计实验学时: 4学时

同组学生姓名:实验地点: 1216 实验日期: 2015、11、10-2015、11、24 实验成绩:

批改教师:批改时间:

一、实验目得与要求

设计并实现一个基于多层C/S结构得数据库应用,熟悉多层C/S体系结构及其基本处理流程,了解多层结构表现层、业务逻辑层(功能层)、数据访问层所完成得功能,掌握多层C/S结构得数据库应用设计方法,对这三层进行明确分割,并在逻辑上使其独立。学生通过本实验得训练能够熟练掌握对小型数据库应用系统三层结构层次划分方法及系统实现技术。

二、实验仪器与设备

奔腾以上计算机,Windows 10 、Visual Studio 2013、MySQL

三、实验过程

分别采用二层C/S结构与多层C/S结构实现个人通讯录系统。该系统得设计目标就是能够轻松地管理个人得联系人信息,包括添加、修改与删除操作。联系人信息包括姓名、住址、电话。整个系统得功能图如下图所示:

应用程序代码:

using System;

using System、Windows、Forms;

using MySql、Data、MySqlClient;

namespace WindowsFormsApplication2

{

public partial class Form1 : Form

{

public int action = 0;//0:添加;1:修改

public Form1()

{

InitializeComponent();

}

private void groupBox3_Enter(object sender, EventArgs e) {

}

private void button3_Click(object sender, EventArgs e) {

frm1、Enabled = true;

frm2、Enabled = false;

action = 0;

}

private void add()

{

long id=0;

int count=list1、Items、Count;

if (count == 0)

{

id = 1001;

}

else

id = long、Parse(list1、Items[count - 1]、Text)+1;

}

Dbcon connector = new Dbcon();

MySqlConnection con = connector、dbcon();

con、Open();

MySqlCommand cmd = new MySqlCommand("insert into person

(id,name,phoneno,location) values(@id,@name,@phoneno,@location)", con); cmd、Parameters、AddWithValue("@name", name、Text);

cmd、Parameters、AddWithValue("@phoneno", phoneno、Text);

cmd、Parameters、AddWithValue("@location", location、Text);

cmd、Parameters、AddWithValue("@id", Convert、ToString(id));

cmd、ExecuteNonQuery();

con、Close();

build();

}

private void modify()

{

foreach (ListViewItem item in list1、SelectedItems)

{

Dbcon connector = new Dbcon();

MySqlConnection con = connector、dbcon();

con、Open();

MySqlCommand cmd = con、CreateCommand();

cmd、CommandText="update person set

name=@name,phoneno=@phoneno,location=@location where id=@id";

cmd、Parameters、AddWithValue("@name", name、Text);

cmd、Parameters、AddWithValue("@phoneno", phoneno、Text); cmd、Parameters、AddWithValue("@location", location、Text); cmd、Parameters、AddWithValue("@id", item、Text);

cmd、ExecuteNonQuery();

con、Close();

}

build();

}

private void button1_Click(object sender, EventArgs e)

{

if (action == 0)

{

add();

}

else if (action == 1)

{

modify();

name、Clear();

phoneno、Clear();

location、Clear();

frm2、Enabled = true;

frm1、Enabled = false;

}

private void button4_Click(object sender, EventArgs e)

{

foreach (ListViewItem item in list1、SelectedItems)

{

frm1、Enabled = true;

frm2、Enabled = false;

name、Text = item、SubItems[1]、Text;

phoneno、Text = item、SubItems[2]、Text;

location、Text = item、SubItems[3]、Text;

action = 1;

}

}

private void Form1_Load(object sender, EventArgs e)

{

build();

}

public void build()

{

list1、BeginUpdate();

list1、Items、Clear();

Dbcon connector = new Dbcon();

MySqlConnection con = connector、dbcon();

con、Open();

MySqlCommand cmd = new MySqlCommand("select * from person", con); MySqlDataReader dr = cmd、ExecuteReader();

while (dr、Read())

{

ListViewItem item = new ListViewItem();

item、Text = Convert、ToString(dr["id"]);

item、SubItems、Add(Convert、ToString(dr["name"]));

item、SubItems、Add(Convert、ToString(dr["phoneno"]));

item、SubItems、Add(Convert、ToString(dr["location"]));

list1、Items、Add(item);

}

dr、Close();

con、Close();

list1、EndUpdate();

}

private void button5_Click(object sender, EventArgs e)

{

foreach (ListViewItem item in list1、SelectedItems)

{

Dbcon connector = new Dbcon();

MySqlConnection con = connector、dbcon();

con、Open();

MySqlCommand cmd = new MySqlCommand("delete from person where id="+item、Text, con);

cmd、ExecuteNonQuery();

}

build();

}

private void button2_Click(object sender, EventArgs e)

{

frm2、Enabled = true;

frm1、Enabled = false;

name、Clear();

phoneno、Clear();

location、Clear();

}

private void textBox2_TextChanged(object sender, EventArgs e)

{

}

private void list1_SelectedIndexChanged(object sender, EventArgs e) {

//MessageBox、Show();

}

private void button6_Click(object sender, EventArgs e)

{

MessageBox、Show("developed by altair");

}

}

public class Dbcon

{

public MySqlConnection dbcon()

{

String constr = "server=localhost;User

Id=root;password=root;Database=contact";

MySqlConnection con = new MySqlConnection(constr);

return con;

}

}

}

四、实验结果与分析

程序主界面:

点击“添加联系人信息”:

点击“确定”:

选中列表上得某项内容,点击“修改联系人信息”:

修改信息并点击“确定”:

五、思考题

与二层C/S体系结构比较,三层(多层)体系结构有什么优点?采用三层体系结构在系统设计时应该注意哪些问题?

答:三层体系结构得优点:

①允许合理地划分三层结构得功能,使之在逻辑上保持相对独立性②允许更灵活有效地选用相应得平台与硬件系统

③三层C/S结构中,应用得各层可以并行开发,各层也可以选择各自最合适得开发语言。

④允许充分利用功能层有效地隔离层表示层与数据层。

⑤三层C/S结构各层间得通信效率若不高,即使分配给各层得硬件能力很强,其作为整体来说也达不到所要求得性能。

在设计三层结构时,首先要考虑得问题在于数据层与业务层得连接就是否畅通,数据得吞吐量就是否过大。在用户对于程序相应速度要求一般或者数据吞吐量较小得情况下,可以采用三层结构进行设计

六、实验心得与体会

实验涉及到c#技术对于JDBC得操作,遇到一定困难,但都完美解决了。收获了很多经验与知识。同时我对多层c/s结构也有了更加深刻得认知与了解,掌握了这种软件体系结构想必十分有用。

实验项目名称:B/S结构应用设计实验学时: 4学时

同组学生姓名:实验地点: 1216

实验日期:2015、12、01-2015、12、15 实验成绩:

批改教师:批改时间:

一、实验目得与要求

设计并实现一个基于B/S结构得数据库应用,熟悉B/S体系结构及其基本处理流程,了解B/S结构系统各部分所完成得功能,掌握B/S结构得数据库应用设计方法。学生通过本实验得训练能够熟练掌握对小型数据库应用系统B/S结构设计及系统实现技术。

二、实验仪器与设备

奔腾以上计算机,Windows 10、MyEclipse2014、Sencha CMD、MySQL

三、实验过程

采用B/S结构实现个人通讯录系统。该系统得设计目标就是能够轻松地管理个人得联系人信息,包括添加、修改与删除操作。联系人信息包括姓名、住址、电话。整个系统得功能图如下图所示:

2、三层B/S结构得个人通讯录

、项目结构截图

public void AddFriend(ContactEntry friend)

{

SqlConnection conn = new SqlConnection();

conn、ConnectionString = ConfigurationManager、AppSettings["ConnectionString"];

SqlCommand cmd = new SqlCommand();

cmd、CommandText = "Select * from contact "; cmd、Connection = conn;

conn、Open();

SqlDataReader reader = cmd、ExecuteReader();

int[] temp = new int[2];

temp[0] = 0;

while (reader、Read())

{

temp[1] = reader、GetInt32(0);

if (temp[0] < temp[1])

{

temp[0] = temp[1];

}

}

int cID = temp[0] + 1;

reader、Close();

conn、Close();

conn = new SqlConnection();

conn、ConnectionString = ConfigurationManager、

AppSettings["ConnectionString"];

cmd = new SqlCommand();

cmd、CommandText = "insert into contact(ID,cName,cAddress,cPhone,cEmail) "; cmd、CommandText += "values(" + cID + ",'";

cmd、CommandText += friend、CName + "','";

cmd、CommandText += friend、CAddress + "','";

cmd、CommandText += friend、CPhone + "','";

cmd、CommandText += friend、CEmail + "')";

cmd、Connection = conn;

conn、Open();

cmd、ExecuteNonQuery();

conn、Close();

}

调用Bean中得属性:

调用配置文件中得信息:

、“修改联系人信息”功能:

“修改”功能得代码:

public void UpdateFriendByID(ContactEntry friend)

{

SqlConnection conn = new SqlConnection();

conn、ConnectionString = ConfigurationManager、

AppSettings["ConnectionString"];

SqlCommand cmd = new SqlCommand();

cmd、CommandText = "update contact set cName ='" + friend、CName;

cmd、CommandText += "' , cAddress = '" + friend、CAddress;

cmd、CommandText += "' , cEmail = '" + friend、CEmail;

cmd、CommandText += "' , cPhone = '" + friend、CPhone + "'";

cmd、CommandText += " where ID = " + friend、ID;

cmd、Connection = conn;

conn、Open();

cmd、ExecuteNonQuery();

conn、Close();

}

“删除”联系人功能:

【精品实验报告】软件体系结构设计模式实验报告

【精品实验报告】软件体系结构设计模式实验报告软件体系结构 设计模式实验报告 学生姓名: 所在学院: 学生学号: 学生班级: 指导老师: 完成日期: 一、实验目的 熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括组合模式、外观模式、代理模式、观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式,并学会分析这些模式的使用效果。 二、实验内容 使用PowerDesigner和任意一种面向对象编程语言实现组合模式、外观模式、代理模式、观察者模式和策略模式,包括根据实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。 (1) 组合模式 使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、视频文件VideoFile。绘制类图并编程模拟实现。 (2) 组合模式 某教育机构组织结构如下图所示: 北京总部 教务办公室湖南分校行政办公室 教务办公室长沙教学点湘潭教学点行政办公室

教务办公室行政办公室教务办公室行政办公室 在该教育机构的OA系统中可以给各级办公室下发公文,现采用 组合模式设计该机构的组织结构,绘制相应的类图并编程模拟实现,在客户端代码中模拟下发公文。(注:可以定义一个办公室类为抽象叶子构件类,再将教务办公室和行政办公室作为其子类;可以定义一个教学机构类为抽象容器构件类,将总部、分校和教学点作为其子类。) (3) 外观模式 某系统需要提供一个文件加密模块,加密流程包括三个操作,分别是读取源文件、加密、保存加密之后的文件。读取文件和保存文件使用流来实现,这三个操作相对独立,其业务代码封装在三个不同的类中。现在需要提供一个统一的加密外观类,用户可以直接使用该加密外观类完成文件的读取、加密和保存三个操作,而不需要与每一个类进行交互,使用外观模式设计该加密模块,要求编程模拟实现。参考类图如下: reader = new FileReader();EncryptFacadecipher = new CipherMachine();writer = new FileWriter();-reader: FileReader-cipher: CipherMachine-writer: FileWriter +EncryptFacade () +fileEncrypt (String fileNameSrc,: voidString plainStr=reader.read(fileNameSrc); String fileNameDes)String

乐龙仿真软件实验报告2

计信学院上机报告 课程名称:配送与配送中心姓名:夏冰山学号:0892110220 指导教师:陈达强班级:物流08乙日期:2010-04-17 一、上机内容及要求: 根据实验三仓储型物流中心模型,在乐龙软件种完成模型的建立; 1.根据模型仿真的结果分析瓶颈的所在; 2.改进模型,再次进行模拟; 二、完成报告(预备知识、步骤、程序框图、程序、思考等): 建立模型:根据实验三的要求建立模型,如图1所示。 模拟条件:时间模式为1:1,其他设备的速度为默认状态。 模型瓶颈: 在模拟运行6分钟后产生瓶颈。由于装货平台出的机械手臂速度过慢,导致货物在传送带上堵塞,影响入库速度。为此我们依次加快了机械手臂的速度,AS/RS水平和垂直方向的速度,瓶颈随着相应设备速度的调整随之转移。但是由于AS/RS堆垛机的最大速度受限,所以加快速度只能够缓解情况,而不能从根本上解除瓶颈。 为此提出解决方案如下: ①如果AS/RS的装货平台和卸货平台在同一侧,将入库申请和出库申请分别排序,第一个出 库作业和第一个入库作业组合为一个联合作业任务,从而缩短存取周期、提高存取效率; ②将AS/RS的装货平台和出货平台分设在仓库的两端,合理考虑入库货位和出货货位的位置, 使得堆垛机在巷道中的运行路径不重复或者重复线路最短; ③增加AS/RS的入库/出库平台数量。 实验感想: 模拟后根据直接观察或者通过日志文件的分析得到瓶颈,眼睛直接看到的瓶颈有时未必是真正的问题所在。例如本次实验,瓶颈直接产生在机械手臂,但是进过分析我们知道真正的瓶颈是AS/RS的堆垛机的速度。所以在寻找瓶颈时不要被假象所误导,随之做出无效的改进方案。

软件设计过程实验报告

软件开发过程 实验一软件需求分析 一、目的和意义 对本书第二和三章的内容做进一步的掌握,写出软件需求规格说明书。为下面的实习奠定基础。 二、实习内容 xx、确定软件题目(学生可自己拟定,也可在本书附录2中选择); 2、分析软件需求以及人工模式下的工作流程; 3、编写需求规格说明书(需求规格说明书的编写要求参见本节模板参考); 4、完成形式:以文档的形式完成软件的需求规格说明书。纸张型号为A4。 三、实习指导 xx、在磁盘上建立一个软件工程实习文件夹,以自己的姓名命名。 2、提交文档的格式如下: 第一页的格式为: 软件名称:文档编号 版本号 文档名称: 项目名称: 项目负责人: 编写时间 审核时间 批准时间 开发单位 第二页之后的内容为: ●编写目的:阐明编写该文档的目的,指出读者对象 ●项目背景:项目的委托单位、开发单位、该软件系统与其他系统的关系。

●参考资料 软件需求规格说明的书写原则 ①任务概述:软硬件环境、条件和限制(软件的使用条件和限制)。 ②数据描述:输入数据、输出数据、数据库设计和建立数据词典。 ③功能需求:功能划分和功能描述 ④性能需求:数据精度、时间特性、适应性(操作方式、与其他软件的接口、开 发计划变化时,软件应具有的适应能力。)。 ⑤运行要求:用户界面、硬件接口(如:连接打印机)、软件接口(如:是否为 其他项目的子项目)、故障处理。 ⑥其他需求:可使用性、安全保密性、可维护性、可移植性等。 ●模板参考 第一页: 软件名称:教务管理软件文档编号 xxxxxx 版本号 Ver xx.xx 文档名称:需求规格说明书 项目名称:课表编排系统 项目负责人:屈艳 编写: 组 第二页之后的内容: 编写目的:编写该文档是为了分析人工状态下课表编排的工作流程,把人工模式抽象为可在计算机上处理的自动模式。便于开发小组成员对系统整体功能的认识。 项目背景:高校的课表编排一直是一个烦琐的工作,为了解决这个问题,某某高校教务处委托我们开发该软件。该软件是高校教务软件的一个子系统。该子系统与专业规划子系统和教师管理软件有一定的关系。 参 实用软件工程(第二版)北京:清华大学出版社,xxxxxx7 任务概述: 硬件环境:CPU的型号为PentiumIII以上,内存25xxM ,及其兼容机

体系结构实验报告

中南大学软件学院 软件体系结构 设计模式实验报告 学生姓名:宋昂 所在学院:软件学院 学生学号: 3901080115 学生班级:软件0801 指导老师:刘伟 完成日期: 2010-12-7

一、实验目的 熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式,并学会分析这些模式的使用效果。 二、实验内容 使用PowerDesigner和任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式和适配器模式,包括根据实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。 (1) 简单工厂模式 使用简单工厂模式设计一个可以创建不同几何形状(Shape)的绘图工具类,如可创建圆形(Circle)、方形(Rectangle)和三角形(Triangle) 对象,每个几何图形都要有绘制draw()和擦除erase()两个方法,要求在绘制不支持的几何图形时,提示一个UnsupportedShapeException,绘制类图并编程实现。 (2) 简单工厂模式 使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数“M”,则返回一个Man 对象,如果传入参数“W”,则返回一个Woman对象,使用任意一种面向对象编程语言实现该场景。现需要增加一个新的Robot类,如果传入参数“R”,则返回一个Robot对象,对代码进行修改并注意女娲的变化。 (3) 工厂方法模式 某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式,现使用工厂方法模式设计该系统。用代码实现日志记录器实例,如果在系统中增加一个中的日志记录方式——控制台日志记录(ConsoleLog),绘制类图并修改代码,注意增加新日志记录方式过程中原有代码的变化。

计算机仿真实训实验报告实验1-4

实验一 熟悉MATLAB 工作环境 16电气5班 周树楠 20160500529 一、实验目的 1.熟悉启动和退出MATLAB 软件的方法。 2.熟悉MATLAB 软件的运行环境。 3.熟悉MATLAB 的基本操作。 二、实验设备及条件 计算机一台(带有MATLAB6.0以上的软件境)。 三、实验内容 1.练习下面指令: cd,clear,dir,path,help,who,whos,save,load 。 2.建立自己的工作目录MYBIN 和MYDATA ,并将它们分别加到搜索路径的前面或者后面。 3.求23)]47(*212[÷-+的算术运算结果。 4.M 文件的建立,建立M 文件,求出下列表达式的值: ?? ????-+=++=+= 545.0212),1ln(21 185sin 2222 1i x x x z e z o 其中

5.利用MATLAB的帮助功能分别查询inv、plot、max、round函数的功能和用法。 四、运行环境介绍及注意事项 1.运行环境介绍 打开Matlab软件运行环境有图1-1所示的界面

图1-1 MATLAB的用户界面 操作界面主要的介绍如下: 指令窗( Command Window ),在该窗可键入各种送给 MATLAB 运作的指令、函数、表达式,并显示除图形外的所以运算结果。 历史指令窗( Command History ),该窗记录已经运行过的指令、函数、表达式;允许用户对它们进行选择复制、重运行,以及产生 M 文件。 工作空间浏览器( Workspace Browser ),该窗口罗列出 MATLAB 工作空间中所有的变量名、大小、字节数;并且在该窗中,可对变量进行观察、编辑、提取和保存。 其它还有当前目录浏览器( Current Directory Browser )、 M 文件编辑 / 调试器(Editor/Debugger )以及帮助导航/ 浏览器(Help Navigator/Browser )等,但通常不随操作界面的出现而启动。 利用 File 菜单可方便对文件或窗口进行管理。其中 File | New 的各子菜单, M-file ( M 文件)、 Figure (图形窗口)、或 Model ( Simulink 编辑界面)分别可创建对应文件或模块。 Edit 菜单允许用户和 Windows 的剪切板交互信息。 2.在指令窗操作时应特别注意以下几点 1)所有输入的指令、公式或数值必须按下回车键以后才能执行。例如: >>(10*19+2/4-34)/2*3 (回车) ans= 234.7500 2)所有的指令、变量名称都要区分字母的大小写。 3)%作为MATLAB注释的开始标志,以后的文字不影响计算的过程。 4)应该指定输出变量名称,否则MATLAB会将运算结果直接存入默认的输出变量名ans。 5)MATLAB可以将计算结果以不同的精确度的数字格式显示,可以直接在指令视窗键入不同的数字显示格式指令。例如:>>format short (这是默认的) 6)MATLAB利用了↑↓二个游标键可以将所输过的指令叫回来重复使用。按下↑则前一次输入的指令重新出现,之后再按Enter键,即再执行前一次的指令。

软件项目管理课程设计实验报告精

软件项目管理课程设计报告 学院: 专业: 班级: 学号: 姓名: 指导教师: 时间:2013年 1月 目录 1、项目概述 (1) 2、工作任务 (Statement Of Work,SOW书 (1) (一整体要求 (1) (二系统逻辑模型 (2) (三系统功能描述 (3) (四应达到的技术指标和参数 .................................... 3 3、项目进度计划 .. (4) (一分解项目工作 (4) (二项目工作关系表 (5) (三项目甘特图 (6) (四网络进度计划图 (7) (五里程碑计划 ................................................ 9 4、项目规模成本估算 . (9)

(一分解项目工作 (9) (二项目规模估算表 (11) (三计算开发成本 (12) (四计算管理、质量成本 (12) (五直接成本 (12) (六计算间接成本 (12) (七计算总估算成本 (12) (八项目报价 ................................................. 13 5. 项目质量计划 .. (13) (一项目质量保证组织 (13) (二质量目标 (14) (三质量策略 (15) (四质量保证活动 (15) (五质量控制活动 (17) (六质量保证的报告途径 (17) (七记录的收集、维护和保存 ................................... 17 6、软件项目团队 . (17) (一团队组织及职责 (18) (二项目的沟通计划 ........................................... 19 7、软件项目配置管理计划 .. (19) 学校内部职工工资系统项目管理书 1、项目概述 假设学校共有教职工约 1000人, 10个行政部门和 8个系部。每个月 20日前各部门(包括系、部要将出勤情况上报人事处, 23日前人事处将出勤工资、奖金及扣款清单送财务处。财务处于每月月底将教职工的工资表做好并将数据送银行。每月初(3日前将工

软件设计模式与软件体系结构实验报告

《软件体系结构》大作业(1) 学院:软件学院 课程名称:软件体系结构 专业班级: 学生姓名:学号: 学生姓名:学号: 指导教师: 完成时间:年月日 评分表 1、叙述各小组成员完成本题目的分工协作情况。 小组中的每个成员都先理解题目要求及涉及的设计模式,并一起完成代码编写。另外,组长负责文档制作。 2、评分表 序号姓名评分是否组长 1 2 作业正文需要包括以下内容: 1、作业题目内容的详细描述。 2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的 软件体系结构名称及画出相应的体系结构图。

3、画出完成本题目所设计程序的设计类图;如还有其他图,也一并画出。 4、完成本题目所设计的程序代码。 5、程序运行的典型界面截图

1、作业题目内容的详细描述。 【作业2.1-1】例2.3为使用工厂方法模式设计的汽车保险管理应用程序实例。现在需要 扩展例2.3的设计图,添加一个名为LuxuryCarInsurance的类,并且需要编写此类和其他需要添加的类的代码,详细要求参见光盘的相应作业部分。 【作业2.1-1】在例2.4中,设计并且实现了豪华(Super)和中等(Medium)别墅(House)与公寓(Condo)的查询。要求在该设计的基础上,增加一个新的类SemiDetacher(半独立式楼宇),并且编写代码,实现相应的查询功能,详细要求参见光盘的相应作业部分。 2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的软件体系结构名称及画出相应的体系结构图。 【作业2.1-1】采用的是工厂方法模式 【作业2.1-2】采用的是抽象方法模式

南京邮电大学软件设计实验报告

软件设计报告 ( 2014 / 2015 学年第二学期) 课程名称软件设计 指导老师赵江实习时间第十八周学生姓名学号 ____学院______专业

软件设计 课程编号:B0465011C 适用专业: 班级: 一、所涉及的课程及知识点 涉及的课程:第6学期之前的专业基础课程。 知识点:专业基础课程中所学的知识点。 二、目的与任务 目的:通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。 任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及应用。

软件设计的内容 题目1:如果给出两个矩阵?? ??? ?????=136782078451220124A ,????? ?????=087654321B ,执行下面的矩阵运算命令。 (1)B A *5+和I B A +-分别是多少(其中I 为单位矩阵) (2)B A *?和B A *将分别给出什么结果,它们是否相同为什么 逻辑功能程序: function [ ] = EXP1() A=[4,12,20;12,45,78;20,78,136]; B=[1,2,3;4,5,6;7,8,0]; I=eye(3); disp('A+5*B='); disp(A+5*B); disp('A-B+I=') disp(A-B+I); disp('A.*B='); disp(A.*B) disp('A*B='); disp(A*B); End 实验过程与结果 打开matlab ,在命令窗口“Command Window ”中键入edit,启动程序编辑器。输入完整程序后利用save as 储存为M 文件,文件名为EXP1。返回主界面,

软件设计与体系结构实验报告

福建农林大学计算机与信息学院 实验报告 课程名称:软件设计与体系结构 姓名:陈宇翔 系:软件工程系 专业:软件工程 年级:2007 学号:070481024 指导教师:王李进 职称:讲师 2009年12月16日

实验项目列表

福建农林大学计算机与信息学院实验报告 学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔 学号:070481024 课程名称:软件设计与体系结构实验时间:2009-10-28 实验室田实验室312、313计算机号024 指导教师签字:成绩: 实验1:ACME软件体系结构描述语言应用 一、实验目的 1)掌握软件体系结构描述的概念 2)掌握应用ACMESTUDIO工具描述软件体系结构的基本操作 二、实验学时 2学时。 三、实验方法 由老师提供软件体系结构图形样板供学生参考,学生在样板的指导下修改图形,在老师的指导下进行软件体系结构描述。 四、实验环境 计算机及ACMESTUDIO。 五、实验内容 利用ACME语言定义软件体系结构风格,修改ACME代码,并进行风格测试。 六、实验操作步骤 一、导入Zip文档 建立的一个Acme Project,并且命名为AcmeLab2。如下图:

接着导入ZIP文档,导入完ZIP文档后显示的如下图: 二、修改风格 在AcmeLab2项目中,打开families下的TieredFam.acme.如下图: 修改组件外观 1. 在组件类型中,双击DataNodeT; 在其右边的编辑器中,将产生预览;选择Modify 按钮,将打开外观编辑器对话框。 2. 首先改变图形:找到Basic shape section,在Stock image dropdown menu中选 择Repository类型. 3. 在Color/Line Properties section修改填充颜色为深蓝色。 4. 在颜色对话框中选择深蓝色,并单击 [OK]. 5. 修改图形的边框颜色为绿色 7. 单击Label tab,在Font Settings section, 设置字体颜色为白色,单击[OK] 产生的图形如下图:

模电仿真实验报告。

模拟电路仿真实验报告 张斌杰生物医学工程141班学号6103414032 Multisim软件使用 一、实验目的 1、掌握Multisim软件的基本操作和分析方法。 二、实验内容 1、场效应管放大电路设计与仿真 2、仪器放大器设计与仿真 3、逻辑电平信号检测电路设计与仿真 4、三极管Beta值分选电路设计与仿真 5、宽带放大电路设计与仿真 三、Multisim软件介绍 Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。工程师们可以使用Multisim交互式地搭建电路原理图,并对电路进行仿真。Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合设计流程。 一、实验名称: 仪器放大器设计与仿真 二、实验目的 1、掌握仪器放大器的设计方法 2、理解仪器放大器对共模信号的抑制能力 3、熟悉仪器放大器的调试功能 4、掌握虚拟仪器库中关于测试模拟电路仪器的使用方法,如示波器,毫伏表信 号发生器等虚拟仪器的使用 三、设计实验电路图:

四、测量实验结果: 差模分别输入信号1mv第二条线与第三条线:第一条线输出为差模放大为399mv。 共模输入2mv的的电压,输出为2mv的电压。 五、实验心得: 应用Multisim首先要准备好器件的pspice模型,这是最重要的,没有这个东西免谈,当然Spice高手除外。下面就可以利用Multisim的元件向导功能制作自己的仿真元件模型了。将刚刚做好的元件保存,你可能注意到了,保存的路径里面没有出现Master Database,即主数据库,这就是Multisim做的较好的其中一方面,你无论是新建元件还是修改主数据库里面的元件,都不会影响主数据库里面的元件,选好路径以后点击Finish即可,一个新元件就被创建了。在应用电子仿真软件 Multisim进行虚拟仿真时,有许多传感器或新器件,只要知道了它们的电特性或在电路中的作用,完全可以灵活采用变通的办法代替进行仿真,本来软件就是进行虚拟实验的,并不一定非要用真实元件不可,这样可以大大地拓宽电子仿真软件 Multisim的应用范围。再说用软件仿真时不存在损坏和烧毁元件、仪器的问题,只要设计好了电路都可以试一试,仿真成功了就可以进行实际电路的组装和调试,不

计算机体系结构实验报告二

实验二结构相关 一、实验目的: 通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。 二、实验内容: 1. 用WinDLX模拟器运行程序structure_d.s 。 2. 通过模拟,找出存在结构相关的指令对以及导致结构相关的部件。 3. 记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行 周期数的百分比。 4. 论述结构相关对CPU性能的影响,讨论解决结构相关的方法。 三、实验程序structure_d.s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关 ADDD F2, F0, F2 ; <- A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit <- this is a comment !! A: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

四、实验过程 打开软件,load structure_d.s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(R-stall 数据相关Stall- 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面的数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关的部件:译码部件。 2)第二个结构相关:ADDI R2, R2, #8,与第一个结构相关类似。由于数据相关, 上一条指令暂停在ID阶段,所以导致下一条指令发生结构相关。

软件体系结构实验报告

实验指导书 实验一 1、实验项目:软件体系结构设计(一) 某系统C/S风格客户端软件体系结构设计 2、实验目的:熟悉C/S风格的工作机制 3、实验内容:针对某个应用系统,选用C/S风格作为这个系统的软件体系结构 风格。熟悉C/S风格的工作机制,对所考察的系统进行C/S风格客户端软件体系结构设计。(针对不同的特定应用系统具体表述) 实验二 1、实验项目:软件体系结构设计(二) 某系统C/S风格服务器软件体系结构设计 2、实验目的:熟悉C/S风格的工作机制 3、实验内容:针对某个应用系统,选用C/S风格作为这个系统的软件体系结构 风格。熟悉C/S风格的工作机制,对所考察的系统进行C/S风格服务器软件体系结构设计。(针对不同的特定应用系统具体表述) 实验三 1、实验项目:UML建模 某系统UML建模 2、实验目的:深入理解UML建模的思想,熟悉UML建模方法 3、实验内容:作为实际应用前的一种演练,深入理解UML建模的思想,熟悉 UML建模方法,锻炼和培养分析问题、解决问题的能力。针对某个选定的应用系统,对其进行用例建模、对象类建模和状态图建模。 实验四 1、实验项目:某系统详细设计 2、实验目的:细化前期设计的有关结果,做出软件的详细规格说明 3、实验内容:详细设计(也叫过程设计)是软件设计的具体模块设计阶段,是 在作为软件开发前期设计的体系结构设计和总体设计的基础上进行的。目的是要细化前期设计的有关结果,做出软件的详细规格说明。要求具体地设计目标系统给个模块的实现过程。 实验五 1、实验项目:系统集成 2、实验目的:系统集成与总结 3、实验内容:综合考察前八次实验的内容,通盘考虑软件设计的整个过程,深 入理解软件体系结构的构建过程

《软件课程设计》实验报告

编号:()字号 《软件课程设计》报告 班姓学级:名:号: 指导老师: 职称: 计算机科学与技术学院 二〇〇八年月

专业年级: 学生姓名: 任务下达日期: 课程设计日期: 课程设计题目:面向过程 一.需求分析 设计任务:软件课程设计任务书 题目七: 1.将输入的罗马数据化为10进制数。假设罗马数据中只使用如下7 个“基值”字母:M、D、C、L、X、V、I,分别用来表示 1000、500、100、50、10、5、1。如,罗马数据LXXXVII 表示10 进 制的87。 2.将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用 “基值”字母:M、D、C、L、X、V、I,分别用来表示 1000、500、100、50、10、5、1。 主要界面为:

输入1或2可以选择功能。 输出的形式 如上所示:当输入大写或小写的阿拉伯字母时。 程序能计算出十进制。 程序所能达到的功能 测试的数据:当输入mvii罗马数字时输出十进制 1007 当输入十进制数4535 时相应输出MMMMDXXXV。 二.概要设计 程序中主要在开头用了一个死循环来实现功能的不断循环。通过exit函数退出程序。 主程序的流程以及各程序模块之间的层次(调用)关系。

Convert1() Break; >switch(n) Default; 三.详细设计 实现概要设计中定义的数据类型和操作。以增加程序的可读性,关键算法部分 画出程序流程图。 主函数的流程图如右图示: Switch() Cin>>n Convert1() Break; Case1: Case2:; Convert2(); Break; Default; Exit(1); While(1) Main() Return 0; Main->jiemina->while(1)- Convert2() Break; Exit()

单片机实验报告含仿真设计

单片机原理及应用课程 实验报告 专业: 班级: : 学号:

实验一、keilC51及proteus软件的使用 一、实验目的: 1、掌握keil和proteus软件的基本操作 2、通过具体实例掌握keil和proteus软件的使用。 二、实验原理: keil使用步骤,proteus使用步骤 三、程序: 四、实验结果分析: 五、总结:学会了使用keil和proteus软件,掌握了利用keil和proteus 软件进行仿真的步骤。

实验二、并行输入/输出接口实验 一、实验目的: 1、进一步熟悉keil仿真软件、proteus仿真软件的使用。 2、了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。 3、掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。 二、实验原理: MCS 51单片机的串行口在实际使用中通常用于三种情况:利用方式 0 扩展并行 i/0 接口:利用方式 1 实现点对点的双机通信;利用方式 2 或方式 3 实现多机通信。利用方式 0 扩展并行 i/0 接口 MCS 5 1 单片机的串行口在方式 0 时,若外接一个串入并出的移位寄存器,就可以扩展并行输出口;若外接一个并入串出的移位寄存器,就可以扩展并行输入口。 三、程序: #include sbit P1_0=P1^0; void main() { unsigned char i; unsigned int j; SCON=0x00; i=0x01; for(;;) {

P1_0=0; SBUF=I; while(!TI) {i} P1_0=1;TI=0; for(j=0;j<=254;j++){;} i=i*2; if(i==0x00) i=0x01; } } 四、实验结果分析: 五、总结:进一步熟悉了keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会了构建简单的流水灯电路。掌握了C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

体系结构windlx流水线实验报告

实验一基本实验----by 王琳PB07210432 1. 实验目的: 1)熟悉计算机流水线基本概念 2)了解DLX基本流水线的各段的功能 3)了解各种不同指令在流水线中的实际流动情况 4)对流水线做性能分析 5)了解影响流水线效率的因素——数据相关、结构相关、控制相关,了解相关的种类 6)了解解决数据相关的方法 2. 实验平台:WinDLX仿真器 WinDLX简介: ●是一个图形化、交互式的DLX流水线仿真器。 ●可以装入DLX汇编语言程序,然后单步,设断点或是连续执行该程序. ●CPU的寄存器,流水线,I/O和存储器都可以用图形表示出来 ●提供了对流水线操作的统计功能. ●可以装载文件名为*.s的文件. ●要求的硬件平台是IBM-PC兼容机. ●WinDLX是一个Windows应用程序,运行DOS3.3以上和Windows3.0以上的操作系统. ●WinDLX软件包中带有说明文件及教程,可以供使用者进一步了解仿真器的使用方法和 DLX处理器的原理.大家再进行实验前应该仔细阅读这些文档. 3. 实验内容: 1)在仿真器上分别运行单条指令:Load指令、Store指令、分支指令、寄存器ALU指令、立即数ALU指令,记录它们在流水线中的执行情况 ●Lw: 观察此流水线时空图,可以发现:转移指令引起的延迟仅为1 clocks,另2 stalls 是trap指令引起的,这个执行结果似与不采用forwarding技术的前提相违,只能理解为对于无条件的转移指令,新的PC值在EX阶段即已被写入。 ●Sw:

●Beqz: 由此图可见,对于分支指令,总是用 not-taken的策略来处理,并且也认为新的 PC值也在EX阶段即已被写入,且cond 条件也在EX段被算出(这显然是一个极 不合理的假设,究竟为何分支指令的延迟 为1 stall有待进一步探究) ●寄存器ALU指令 ●立即数ALU指令 2)仿真器运行一段无相关的程序,记录它的执行情况,计算流水线的加速比、吞吐率与效率。下面是一段不相关的程序,一共6条指令 ADDI R5, R5, 1 SUBI R4, R4, 1 AND R3, R3, R3 XOR R7, R7, R7 ADDI R8, R8, 1 ADDI R9, R9, 1 在WinDLX中执行的结果如下:

物流仿真实验报告

《物流仿真实验》 实验报告书 实验报告题目:物流仿真实验 学院名称:管理学院 专业:物流管理 班级:物流1303 姓名:孟颖颖 学号:0325

成绩: 2016年7月 实验报告 一、实验名称 物流仿真实验 二、实验要求 ⑴根据模型描述和模型数据对配送中心进行建模; ⑵分析仿真实验结果,进行利润分析,找出利润最大化的策略。 三、实验目的 1、掌握仿真软件Flexsim的操作和应用,熟悉通过软件进行物流仿真建模。 2、记录Flexsim软件仿真模拟的过程,得出仿真的结果。 3、总结Flexsim仿真软件学习过程中的感受和收获。

三、实验设备 (1)硬件及其网络环境 服务器一台:PII400/128M以上配置、客户机100台、局域网或广域网。 (2)软件及其运行环境 Flexsim,Windows 2000 Server、SQL Server 以上版本、IIS 、SQL Server 数据库自动配置、IIS 虚拟目录自动配置 四、实验步骤 1 概念模型 2 建立Flexsim 模型 第一步:在模型中加入实体 从模型中拖入3个source、6个processor、3个Rack、3个Queue和1个Sink 到操作区,如图:

第二步:连接端口 根据配送流程,对模型进行适宜的连接,所有端口连接均用A连接,如图: 第三步:Source的参数设置 为使Source产生实体不影响后面Processor的生产,尽可能的将时间间隔设置尽可能的小,并对三个Source做出同样的设定。 打开Source参数设置窗口,将时间到达间隔设置为常数1,同时为对三个实体进行区别,进行设置产品颜色,点击触发器,打开离开触发的下拉菜单,点击设置临时实体类型,设置不同实体类型,颜色自然发生变化。并对另外两个Source 进行同样的设置,如图:

软件设计实验报告

通达学院 2017/2018 学年第 1 学期 课程设计实验报告 模块名称综合软件设计 专业通信工程 学生班级141301 学生学号14130118 学生姓名陈启朋 指导教师王诚

目录 第一章在线考试系统 (1) 1.1 实验目的 (1) 1.2 实验内容 (1) 1.3.1考试登录模块设计 (1) 1.3.2管理员模块设计 (7) 1.4 实验结果 (12) 第二章学生成绩管理系统 (13) 2.1 实验目的 (13) 2.2 实验内容 (13) 2.3 实验过程 (13) 2.3.1学生成绩管理模块设计 (13) 2.3.2 公共模块设计 (18) 2.4 实验结果 (20) 总结 (21) 参考文献 (21)

第一章在线考试系统 1.1 实验目的 通过本次软件设计,使学生掌握并能熟练运用Java和mysql语言编写程序,掌握面向对象的概念,采用C/S结构,设计数据库模型,能够了解和数据库连接的方法。 1.2 实验内容 本次实验的内容是编辑生成试题库,随机生成本次考试试题,提供在先评分并保存结果;同时,管理员可以添加、修改、删除考题和考生用户。 1.3 实验过程 1.3.1考试登录模块设计 主要程序如下: package com.Exam.Index; import java.awt.Insets; import javax.swing.*; import javax.swing.GroupLayout; import https://www.doczj.com/doc/ca16380482.html,youtStyle; import com.Exam.bean.*;

import com.Exam.controller.ControllerFrame; import com.Exam.dao.*; public class MyLand extends javax.swing.JFrame { initComponents(); }@SuppressWarnings("unchecked") private void initComponents() { jTextField3 = new javax.swing.JTextField(); jTextField1 = new javax.swing.JTextField(); jpanel = new MyJPanel(); choicejLabel = new javax.swing.JLabel(); userChoicejComboBox = new javax.swing.JComboBox(); choicejLabel1 = new javax.swing.JLabel(); UserNameTextField = new javax.swing.JTextField(); choicejLabel2 = new javax.swing.JLabel(); PassWordjTextField = new javax.swing.JPasswordField(); enterButton = new javax.swing.JButton(); enterButton.setMargin(new Insets(2, 2, 2, 2)); resButtonjButton = new javax.swing.JButton(); resButtonjButton.setMargin(new Insets(2, 2, 2, 2)); jTextField3.setText("jTextField3"); jTextField1.setText("jTextField1"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); choicejLabel.setText("选择用户:"); userChoicejComboBox.setModel(newjavax.swing.DefaultComboBoxModel(new String[] { "","考生", "管理员" })); setTitle("考试系统"); choicejLabel1.setText("用户名:"); UserNameTextField.setText(""); choicejLabel2.setText(" 密码:"); PassWordjTextField.setText(""); enterButton.setText("登录"); enterButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { enterButtonActionPerformed(evt); } }); resButtonjButton.setText("重置"); resButtonjButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

相关主题
文本预览
相关文档 最新文档