软件工程实验报告

软件工程实验报告
软件工程实验报告

订单E-R图收货E-R图

1.3 数据字典

字典名称字典范围内容描述备注

用户类型 1

2

会员非会员

鲜花类型1

2

3

4

5

6

经典佳人系列

经典情动系列

经典朱砂系列

恒久初心系列

恒久佳人系列

恒久朱砂系列

经典系列适合节

日、礼篮。

恒久系列适合情

侣、装饰。(可根据

个人喜好选择)

订单状态 1

2 未付款已付款

支付方式1

2

3

支付宝支付

财付通支付

银行卡网银支付

2. 功能需求

2.1

网上花店需求:

a)鲜花展示

用户进入首页,会显示一些制定好的鲜花,具体鲜花详细信息点击鲜花进行查看。

b)购物车功能

用户选中鲜花后,点击该鲜花能把鲜花放入购物车,不影响用户继续浏览并购买鲜花,等选择完毕,再进入购物车,选择的鲜花不会丢失。

c)下单结算

用户选择完鲜花,在购物车页面中,改写购买的数量,计算出总金额,并且能够进行结算。

d)收货地址

用户可以管理添加自己常用的收货地址,方便进行购买鲜花,收货地址可以有多个,方便用户迁移购买。

e)后台管理

管理员以管理者的身份登陆后台,能进行鲜花信息的增删改查,订单、会员信息、地址的查看。

2.2功能划分以及功能描述

模块分类功能类别划分的子功能功能描述

前台会员中心

1、非会员注册非会员成为会员

2、会员登录会员进行交易的前提条件

3、个人资料管理会员查看并修改自己的资料

4、个人密码修改会员修改自己的登陆密码

鲜花查看详情介绍显示详细信息

购物车管理

1、添加鲜花添加鲜花到购物车

2、删除鲜花从购物车中删除鲜花

3、修改购买数量购买时修改购买鲜花数量

后台

管理员中心

1、管理员登陆验证身份,进入系统

2、修改密码管理员修改登陆密码

3、注销管理员安全退出

鲜花管理

1、鲜花查看查看鲜花信息

2、鲜花添加增加新的鲜花

3、鲜花修改修改鲜花信息

4、鲜花删除删除鲜花

订单管理1、查看订单查看全部订单信息

2、处理订单删除已处理过的订单

会员信息管理1、查看会员信息查看会员详细信息

2、删除会员符合一定条件删除会员信息

[注:以上功能是我们本系统预想制定需要实现的功能,由于技术问题,只实现了部分简单功能,

在后面会详细描述]

部分界面设计

1)我主要在界面这一块实现了注册与登录页面

2)使用的编码工具是Visual Studio 2012(使用div+css)

3)界面的风格:简约、艺术风格(让浏览者能一目了然)

4)包括使用控件实现的注册页面的简单提示功能

◆注册界面展示(即下图所示)登录界面

◆代码详解(布局定义类包含关系如下)

top

center_left center_right_top

center

center_right crenter_right_cente

center_right_bottom_left

center_right_bottom center_right_bottom_right

bottom

注:采用链接式的css样式实现布局

使用类选择符

◆实现界面用到的主要标签

标签实现部分及说明

<title>用户注册 页面的标题

RoseOnly首页 跳转到index.html页面

  • 例如:
  • 姓 名:
  • 创建列表
  • 表示列表中的项

    img src="images/left.jpg"显示页面左边图片

    允许用户向服务器提交信息的输入格式

    ◆实现界面用到的服务器控件

    控件

    TextBox

    显示一个文本框

    RequiredFieldValidator

    设置相关属性能出现错误提示

    ValidationSummary 设置相关属性能出现错误提示

    Button

    添加按钮 OnClick="Button1_Click"为按钮绑定事件

    注: 能实现错误提示以警告框的形式出现

    演示如下:

    后台代码设计

    1)本学期我们预想系统能实现的功能是上面需求分析中写到的,由于学期时间短以及技术的问题

    导致了项目系统只实现了部分简单的功能。

    2)使用https://www.360docs.net/doc/e04731872.html,访问数据库

    3)实现了的功能有:用户注册时,验证用户名是否已经被使用

    为提交按钮添加单击事件处理程序,使用户注册的信息插入到数据库

    4)首先打开SQL Server 2008数据库,创建的数据库名称WeiBo,在数据库中建立需求分析中的

    5个表

    说明:利用Connection对象创建数据连接,利用Command对象数据源执行SQL命令,利用DataSet对象与DataAdapter对象配合,完成数据的查询以及更新操作。

    部分代码以及其说明如下

    Using System.Data.SqlClient; //访问数据库,在后台代码register.aspx.cs中引入命名Using System.Data; 空间

    //因为要使用验证控件,所以在Web.config中设置不使用UnobtrusiveValidationMode

    private bool doCheck(string conValue,string type="LOGIN") //添加一个私有方法,验证用户名是否已经被使用,第一个参数是要验证的字段值,第二个是验证类别

    WebConfigurationManager.ConnectionString["WeiboConnectionString"].ConnectionStrin g; //获取数据

    Con.Open(); //打开数据库

    SqlCommand cmd=new SqlCommand("SELECT * FROM Login WHERE username=@cond_value",con) //直接用数据库语言查询字段名是否相同

    while(reader.Read()) //如果有结果表明记录存在

    接下来为按钮添加单击事件处理程序主要代码以及其说明如下:protected void ButtonSubmit_Click(object sender,EventArgs e) //按钮的单击事件Page.Client.RegisterClientScriptBlock(this.GetType(),"success","alert(\"该用户名已经存在\");",ture); //存在此用户名,弹出警告框并结束

    SqlConnection con=new SqlConnection(strConn); //创建数据库连接字符串

    SqlCommand cmd=new SqlCommand("INSERT INTO Login(username, "+…)") //在数据库中插入信息

    cmd.Parameters,AddWithValue("@userName",TextBox1.Text); //将 textBox1.Text的值赋

    给查询语句中user这个占位符("@userName")

    int count=cmd.ExecuteNonQuery();

    if(count==1) //判断,如果为1,表示插入一条记录Response.Redirect("response.aspx"); //跳转到注册成功页面

    演示如下:

    1)先在数据库中的Login表(用户信息表)中添加一条记录如下:

    2)在注册页面进行注册

    会出现警告框提示该用户名已经被注册

    3)注册一个新用户

    4)此时在数据库Login表中查看添加了新注册的信息

    信息添加成功!

    重庆邮电大学-软件技术基础--实验报告(耿道渠)

    《软件技术基础》实验报告 实验名称:顺序表的操作 班级学号姓名 第9 周星期 2 、5,6 节成绩 一、实验目的: 1、掌握顺序表结构的实现方式; 2、掌握顺序表常用算法的实现; 3、熟悉利用顺序表解决问题的一般思路; 4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。 二、实验内容: 1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。 (2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。 (3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。 2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。要求实现菜单、初始化、添加、删除和显示等功能。 三、实验结果:

    四、实验中遇到的问题及解决方法: 第一次编写C++,感觉力不从心,回去多看看PPT。

    五、实验心得体会: 对顺序表的一些常用语句不熟悉,对顺序表的整体思路理解不深刻以后要加强练习 附:源程序(自行编写或修改的程序。若为修改程序请注明修改部分的功能,若为书上实例则可不附。) #include #include #include #include #define MAXSIZE 20 using namespace std; int num; typedef struct { string student_number; string name; string tel; string home_phone; int id; } TEL; void shuaxin(TEL *); void delet(TEL *);

    软件工程实验报告

    软件工程实验报告 姓名:冯巧 学号 实验题目:实验室设备管理系统 1、系统简介: 每天对实验室设备使用情况进行统计,对于已彻底损坏的作报废处理,同时详细记录有关信息。对于有严重问题(故障)的要即时修理,并记录修理日期、设备名、修理厂家、修理费用、责任人等。对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后立即对新设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。 2、技术要求及限定条件: 采用C#语言设计桌面应用程序,同时与数据库MySql进行交互。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案实施相对容易,成本低,工期短。 一:可行性分析 1、技术可行性分析 计算机硬件设备,数据库,实验室设备管理软件与实验室设备管理系统的操作人员组成,能够实现实验室设备管理的信息化,提高工作效率,实现现代化的实验室设备管理。系统需要满足实验室设备管理(包括对实验设备的报废、维修和新设备的购买)、实验室设备信息查询(包括按类别进行查询和按时间进行查询)、实验室设备信息统计报表(包括对已报废设备的统计、申请新设备购买的统计和现有设备的统计)。这些功能框图如下图所示: 2、经济可行性分析 依据用户的现实需求、技术现状、经济条件、工期以及其他局限性因素等等因素,考虑到工期的长短、技术的成熟可靠、操作方便等因素,本方案具备经济可行性。

    3、系统可选择的开发方案 ①方案A用C#开发系统的特点是:开发工具与数据库集成一体,可视化,开发速度较快,但数据库能够管理的数据规模相对较小。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案的实施相对容易,成本低,工期短。 ②方案B:以小型数据库管理系统为后台数据库,该前台操作与数据库分离,也能够实现多层应用系统。系统对硬件的要求居中,特别适合在网络环境下使用,操作方便。但系统得实现最复杂,成本最高,工期也较长。 二:软件需求分析 1.软件系统需求基本描述: 实验室设备管理系统是现代企业资源管理中的一个重要内容,也是资源开发利用的基础性工作。实验室设备在信息化之前,在用户系统管理、设备维修管理、设备的增删改查管理等方面存在诸多不利于管理的地方,不适应现代的企业管理形势和资源的开发利用。 2.软件系统数据流图(由加工、数据流、文件、源点和终点四种元素组成): 1)顶层数据流图 2)二层流程图 3)总数据流图

    软件工程综合实践报告

    专业资料 软件工程综合实践 报告 企业用电管理系统设计 专业 学生姓名 班 级 学号 指导教师 完成日期 信息工程学院

    目录 1.项目名称:企业用电管理系统......................................... 错误!未定义书签。 1.1编写目的..................................................................... 错误!未定义书签。 1.2背景说明..................................................................... 错误!未定义书签。 1.3开发环境..................................................................... 错误!未定义书签。 2. 软件介绍.......................................................................... 错误!未定义书签。 2.1目标 ............................................................................ 错误!未定义书签。 2.2用户的特点 ................................................................. 错误!未定义书签。 2.3假定与约束 ................................................................. 错误!未定义书签。 3. 需求分析.......................................................................... 错误!未定义书签。 3.1对功能的规定.............................................................. 错误!未定义书签。 3.2对性能的规定.............................................................. 错误!未定义书签。 3.2.1精度 ......................................................................... 错误!未定义书签。 3.2.2时间特性要求........................................................... 错误!未定义书签。 3.2.3灵活性...................................................................... 错误!未定义书签。 4. 软件的基本结构............................................................... 错误!未定义书签。 4.1数据管理能力要求....................................................... 错误!未定义书签。5.详细设计......................................................................... 错误!未定义书签。 6.部分编码 ........................................................................... 错误!未定义书签。 6.1企业信息查询代码 ....................................................... 错误!未定义书签。 6.2企业用电信息查询代码: ............................................ 错误!未定义书签。 6.3删除企业用电信息代码: ............................................ 错误!未定义书签。 6.4删除用电企业信息代码: ............................................ 错误!未定义书签。 7. 软件核心技术,存在问题等 ............................................. 错误!未定义书签。

    软件工程实验报告

    实验一 一、实验室名称 综合实验楼 二、试验项目名称 图书管理系统 三、实验目的 1.了解和使用甘特图,系统流程图,线性时间图来描绘系统开发流程和进度 2.学会使用visio绘制常用的流程图。 四、实验内容 图书管管理系统更便于对图书进行分类和管理,对借阅者进行时间限定,使得借书的效益更高更安全。提高工作效益,便于操作,能有效地对数据进行更新、查询,并能在一定程度上实现了自动化。图书管管理系统的主要功能为:书目管理、借阅证管理、借还图书、查询、缴费。书目管理主要是针对管理员身份而言的(比如新增书目,删除书目等等);借阅证管理分为五部分:注册、补发、挂失、暂停、注销;借还图书:借书、还书;查询:图书查询、借阅时间缴费主要是计算超期罚款并交纳费用。 五、试验方案分析与设计 整理分析图书管理流程以及每个用户的权限。对功能进行整合。 六、实验器材(设备,元器件) 台式电脑 七、实验步骤 1.对图书管理系统进行分析,整合用户权限和操作 2.根据用户操作流程画出系统流程图 3.对系统做出概要分析,拟定开发流程 4.绘制出甘特图 5.绘制线性时间图 八、实验数据记结果分析

    系统流程图: 甘特图: 线性时间图: 九、实验结论 成功绘制出图书管理系统的系统流程图,甘特图,线性时间图。 十、实验总结 对系统流程的理解直接决定业务逻辑的正确与否,错误的系统流程将导致系统开发逻辑设计不合理。甘特图和线性时间图能直观的展示出系统开发的进度,有利于监督项目开发,调整开发进度。

    实验二 一、实验室名称 电子楼512 二、试验项目名称 需求分析 三、实验目的 1.学会如何根据客户的需求整合需求分析报告 2.了解和使用IDEF1X图和UML类图对系统做出概要设计 3.学会使用visio绘制IDEF1X图和UML类图 四、实验内容 1、请从下面的描述中找出绘制数据流图的四种成分并用Visio绘制数据流图。 某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。 (1) 如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 (2) 如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 (3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 2、有一简单选课系统,用文字描述如下,试用IDEF1X图和UML类图描述该系统的信息模型,并用Visio绘制该IDEF1X图和UML类图。 1)基本描述:在该系统中,有学院、教师、课程、学生等实体,他们的属性分别是:学院:学院编号、学院名称、地址、联系电话、院长等基本属性; 教师:教师编号、姓名、性别、年龄、职称、所在学院等属性; 课程:课程编号、课程名称、课程性质(必修/选修)、学分、开课学院等属性; 学生:学号、姓名、性别、年龄、入学时间、学院等属性。

    软件工程实验报告(总)

    信息工程学院 软件工程实验报告 专业: 班级: 学号: 姓名: 指导老师:

    实验一:软件开发的过程计划 实验课时:2课时 一、实验目的 项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。 ⑴估计项目的总体规模、工作量和成本。 ⑵制定项目计划,重点放在产品生命周期中的主要关键任务。 ⑶制定项目时间表和预算。 二、实验环境 1.硬件环境 P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。 2.软件环境 操作系统:Windows XP 数据库:Sql Server 2000以上或Access 2003以上 3.通用工具软件 通用绘图工具:MicroSoft V isio 2003以上 文本编辑工具:MicroSoft Word 2003以上 4.CASE工具 UML建模工具:Rational Rose 2000 三、实验要求、实验内容 1、实验要求: 在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。 2、实验内容 熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。 学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

    四、思考题 1、项目开发首先要做的事是什么? 答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。 2、你认为该软件应具备的最重要的特性是什么。 答:安全性、实用性、灵活性。 3、你认为怎样分工是最合理的? 答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们 的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取 主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工 作员有问题的话,内部自己解决,只要按时汇报工作就可以了。 五、实验内容: 项目背景 项目名称:银行计算机储蓄系统 随着社会经济的发展,XX银行的业务不断增长,传统的依靠手工的存取款业务办理方式已经不能满足不断增长的业务需求。其一,业务需求的增加需要消耗大量人力物力资源;其二,业务复杂化导致人工处理方式出错率增加,从而引起储户不满。一方面可以减轻银行业务员的工作量,另一方面可以减少工作的出错率,从而提高工作效率。现在计算机网络的告诉发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。为解决此问题,拟为其开发计算机储蓄系统。 项目进度: 项目在项目经理的制度下,在整个开发过程中,树立“里程碑”,而且严格按照计划进行,各阶段任务必须完成,现把任务进度历程绘制如下:

    软件工程实验报告最终版

    合肥师范学院实验报告册 2012 / 2013 学年第一学期 系别计算机科学与技术系 实验课程软件工程 专业计算机科学与技术 班级2010级计算机应用 姓名马军福董国运李思贤 学号1010411024 1010411008 1010411076 指导教师范庆春

    实验一:结构化方法建模的基本应用 1.实验目的 (1)了解Visio工具软件的功能特色、安装、工作环境和基本操作等基本知识; (2)掌握应用Visio工具的基本使用方法和基本绘图操作; (3)熟悉结构化分析建模的基本应用。 2.实验内容 (1)使用Visio 建立期刊管理系统的实体-关系图; (2)使用Visio 建立期刊管理系统的数据流图。 3. 实验要求 使用Visio 建立期刊管理系统的实体-关系图、数据流图。数据流图要绘 制三层。 4.实验结果和体会 (1)需求陈述 在图书管理系统中,管理员要为每个读者建立借阅账户,,账户内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员借阅、归还期刊,读者可通过互联网或图书馆内查询终端查询期刊信息和个人借阅情况,以及续借期刊。 借阅期刊时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还期刊时,输入读者借阅卡号和期刊号,系统显示读者和期刊的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或期刊淘汰处理。然后提交还书请求,系统接受后删除借阅纪录,并登记修改可借阅期刊的数量。 期刊管理系统包括:1.读者信息管理a:借阅请求b归还请求c:查询请求d:修改自身信息2.期刊管理a:修改书目、出版日期、编辑b:增加书目数据、删除书目数据。3.期刊借阅a:增加所借读者信息b:删除所借读者信息4.期刊查询a:已借出图书列表b:未借出图书列表5.期刊的征订6.期刊内容登记题目、作者姓名、作者单位7.期刊内容查询

    软件工程 实验报告

    v1.0 可编辑可修改 院系:计算机科学学院 专业:计算机科学与技术 年级: 2013级 课程名称:软件工程 组员:司少武(1135) 兰少雄(1136) 张宇(1133) 纳洪泽(1132) 指导教师:刘卫平 2015年 12月 26 日

    聊天室 1 前言 即时消息系统的研究现状 即时消息系统[1](Instant Messenger,IM)是一种在后 PC 时代兴起的,以Internet 网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。即时消息系统产生有着深刻的社会原因:人们都有渴望社交,获得社会尊重、实现自我的需求,这正是即时消息软件风行的原动力,而物质文明的日益发达所带来副作用,又使得人们习惯与周围的人保持距离,以致人们更愿意对陌生人敞开心扉,在网络中可以跨越年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。从这点上讲,即时消息系统的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。 本工程的主要内容 随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的网络聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,且具有脱离数据库技术方法,易于维护和更新的特点。 2 需求分析 本系统所要实现的主要功能是当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加

    电子科技大学软件技术基础实验报告4

    电子科技大学通信与信息工程学院标准实验报告 (实验)课程名称软件技术基础实验 电子科技大学教务处制表

    电子科技大学 实验报告 一、实验室名称:校公共机房 二、实验项目名称:二叉树和哈夫曼树 三、实验学时:4学时 四、实验原理: 使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。通过上机练习掌握二叉树的建立、插入删除,遍历等方法和过程,掌握递归函数在二叉树建立,遍历中的应用,掌握哈夫曼树的最小路径和建立过程。 五、实验目的: 1.熟练二叉树和哈夫曼树的概念和基本操作方法。 2.掌握课程平台使用方法。 六、实验内容: 上机完成所有函数,编程实验,调试运行程序并完成报告。 七、实验器材(设备、元器件): 硬件要求:普通pc机,1G内存,100G硬盘空间即可。 软件要求:Windows 7,包括C编译器的IDE。 八、实验步骤、实验编程与运行结果: 下面建立该二叉树并展示输出结果: #include #include typedef struct bnode

    { int data; struct bnode *lc,*rc; }; struct bnode* create() { struct bnode *tree=NULL; char ch; ch=getchar(); if(ch=='_') tree=NULL; else { tree=(struct bnode *)malloc(sizeof(struct bnode)); tree->data=ch; tree->lc=create(); tree->rc=create(); } return tree; } //先序遍历(根左右)--递归 int preorder(struct bnode *root) { putchar(root->data); if(root->lc!=NULL) preorder(root->lc); if(root->rc!=NULL) preorder(root->rc); } //中序遍历--递归 int inorder(struct bnode *root) { if(root->lc!=NULL) inorder(root->lc); putchar(root->data); if(root->rc!=NULL) inorder(root->rc); } //后序遍历--递归 int postorder(struct bnode *root) { if(root->lc!=NULL) postorder(root->lc); if(root->rc!=NULL)

    安徽工业大学软件工程实验报告

    《软件工程》实验报告 姓名:江文杰 学号:139074333 班级:网133 指导老师:周兵

    一.实验目的 1.能按照软件工程的思想,采用面向过程的方法开发出一个小型软件系统。 2.在软件系统开发过程中,能综合利用一门编程语言和软件工程等多门课程的知识。 3.培养良好的软件开发习惯,了解软件企业文化。 4.掌握结构化数据流分析技术。 5.掌握结构化程序设计的基本概念与技术,并且养成良好的编码风格。 6.掌握单元测试的一般步骤及技术。 7.掌握集成测试的一般步骤和技术。 二.实验内容 1.软件需求分析 ①、功能需求分析 ·输入一个年份(1-3000),然后显示12个月的月历 ·能解决闰年和平年问题 ·能输出显示结果 ②、运行需求分析 ·操作系统:Windows9x, Windows2000, Windows XP及更高版本 ③、数据流图

    软件结构图: 2.软件设计与编码 #include #include #include #include #define firstdayof1 1 /* 定义第一年的第一天,星期日=7 */ #define gap " " /* set gap between numbers of dates */ #define dent " " /* set right margin. */ struct info { int month; int firstdayofmonth; int daysofmonth; int leap; }monthinfo;

    软件工程标准实验报告

    南昌航空大学科技学院实验报告 年月日 课程名称:软件工程A 实验名称visio完成可行性研究的图形文档(数据流图) 班级:姓名:同组人: 指导教师评定:签名: 一、实验目的和要求 1.熟悉visio的工作环境; 2.明确软件工程中数据流图的基本结构,掌握数据流图的常见模式; 3.理解数据流图的控制结构。 二、实验内容和步骤(及流程图) 1、完成图3.10,3.27,4.9。 2、为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期,利息等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。 三、实验结果(及调试过程) 四、实验体会

    南昌航空大学科技学院实验报告 年月日 课程名称:软件工程A 实验名称:visio完成需求分析中的图形文档 班级:姓名:同组人: 指导教师评定:签名: 一、实验目的和要求 1、熟悉visio的各种工具 2、模拟完成需求分析中所要使用的各种图形工具 3、能用visio完成不同行为的状态转换图 二、实验内容和步骤 1、复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印 命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。用状态转换图描述复印机的行为。 2、请用状态转换图描述自己在A TM机上取款的行为过程。 三、实验结果 四、实验体会

    计算机软件技术基础实验报告Word版

    计算机软件基础实验报告 姓名学号实验目的 1. 掌握C语言程序设计方法,并学会上机调试。 2. 熟悉Huffman编码源程序,并构造Huffman树。 实验内容 1.试设计一算法,从包括n个元素的数组中,求最大和最小元素,并使得当n 个元素为有序排列时,元素之间的比较次数仅为n-1次。 2.在给出的Huffman编码源程序基础上,要求画出Huffman树,求出与等长编 码相比时的压缩比。 实验要求 1.根据实验内容编写算法,并用 C 语言进行程序设计。 2. 将所编程序在计算机上调试通过,并全面测试。 实验结果 1.以一个含有8个元素的一维数组{1,2,3,5,7,8,9,12}为例,设计程序如下: #include int maxArray(int x ,int y); int minArray(int x ,int y); int main(void) { int i = 0 ; int array[8]={ 1,2,3,5,7,8,9,12} ; printf; do { scanf("%d",&array[i]); i++; } while(i < 8); int maxTemp = array[0]; int minTemp = array[0]; int maxIndex = 0; int minIndex = 0; for(i=1;i<8;i++)

    maxTemp = maxArray(array[i] , maxTemp); minTemp = minArray(array[i] , minTemp); } for(i=0;i<8;i++) { if (maxTemp == array[i]) { maxIndex = i; } if (minTemp == array[i]) { minIndex = i; } } printf; return 0; } 运行结果如下: 2.Huffman编码源程序 #include #include #include #include #include typedef struct {unsigned int weight; //结点权值 unsigned int parent,lchild,rchild; //结点的父指针,左右孩子指针 }HTNode,*HuffmanTree; //动态分配数组存储哈夫曼树 typedef char **HuffmanCode; //动态分配数组存储哈夫曼编码表 void CreateHuffmanTree(HuffmanTree &,unsigned int*,int ); //生成哈夫曼树 void HuffmanCoding(HuffmanTree,HuffmanCode &,int ); //对哈夫曼树

    软件工程实验报告(总)

    信息工程学院软件工程实验报告 专业: 班级: 学号: 姓名: 指导老师:

    实验一:软件开发的过程计划 实验课时:2课时 一、实验目的 项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。 ⑴估计项目的总体规模、工作量和成本。 ⑵制定项目计划,重点放在产品生命周期中的主要关键任务。 ⑶制定项目时间表和预算。 二、实验环境 1.硬件环境 P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。 2.软件环境 操作系统:Windows XP 数据库:Sql Server 2000以上或Access 2003以上 3.通用工具软件 通用绘图工具:MicroSoft Visio 2003以上 文本编辑工具:MicroSoft Word 2003以上 4.CASE工具 UML建模工具:Rational Rose 2000 三、实验要求、实验内容 1、实验要求: 在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。 2、实验内容 熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。 学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

    四、思考题 1、项目开发首先要做的事是什么? 答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。 2、你认为该软件应具备的最重要的特性是什么。 答:安全性、实用性、灵活性。 3、你认为怎样分工是最合理的? 答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们 的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取 主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工 作员有问题的话,内部自己解决,只要按时汇报工作就可以了。 五、实验内容: 项目背景 项目名称:银行计算机储蓄系统 随着社会经济的发展,XX银行的业务不断增长,传统的依靠手工的存取款业务办理方式已经不能满足不断增长的业务需求。其一,业务需求的增加需要消耗大量人力物力资源;其二,业务复杂化导致人工处理方式出错率增加,从而引起储户不满。一方面可以减轻银行业务员的工作量,另一方面可以减少工作的出错率,从而提高工作效率。现在计算机网络的告诉发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。为解决此问题,拟为其开发计算机储蓄系统。 项目进度: 项目在项目经理的制度下,在整个开发过程中,树立“里程碑”,而且严格按照计划进行,各阶段任务必须完成,现把任务进度历程绘制如下:

    软件工程综合实践报告

    软件工程综合实践 报告 企业用电管理系统设计 专业 学生姓名 班级 学 号 指导教师 完成日期 信息工程学院

    目录 1.项目名称:企业用电管理系统 ........................................... 错误!未定义书签。 1.1编写目的..................................... 错误!未定义书签。 1.2背景说明..................................... 错误!未定义书签。 1.3开发环境..................................... 错误!未定义书签。 2. 软件介绍 ............................................................................... 错误!未定义书签。 2.1目标......................................... 错误!未定义书签。 2.2用户的特点................................... 错误!未定义书签。 2.3假定与约束................................... 错误!未定义书签。 3. 需求分析 ............................................................................... 错误!未定义书签。 3.1对功能的规定................................. 错误!未定义书签。 3.2对性能的规定................................. 错误!未定义书签。 3.2.1精度....................................... 错误!未定义书签。 3.2.2时间特性要求............................... 错误!未定义书签。 3.2.3灵活性..................................... 错误!未定义书签。 4. 软件的基本结构 ................................................................... 错误!未定义书签。 4.1数据管理能力要求............................. 错误!未定义书签。5.详细设计 ............................................................................... 错误!未定义书签。 6.部分编码 ................................................................................. 错误!未定义书签。 6.1企业信息查询代码............................. 错误!未定义书签。 6.2企业用电信息查询代码:....................... 错误!未定义书签。 6.3删除企业用电信息代码:....................... 错误!未定义书签。 6.4删除用电企业信息代码:....................... 错误!未定义书签。 7. 软件核心技术,存在问题等 ............................................... 错误!未定义书签。 8. 实验心得 ............................................................................... 错误!未定义书签。

    软件工程实验报告_学生成绩管理系统

    软件工程实验报告 学生成绩管理系统的设计与实现 学生姓名 学号 班级 成绩 指导教师 年月日

    目录 1 课题描述 (3) 2 可行性研究 (4) 2.1 编写目的 (4) 2.2 项目背景 (4) 2.3 定义(术语) (4) 2.4 数据流程和处理流程 (4) 2.5 可行性分析的前提 (5) 2.6 可行性分析 (5) 3 需求分析 (7) 3.1 学生成绩管理系统功能需求 (7) 3.2 学生成绩管理系统性能要求 (8) 3.3 数据流图 (8) 3.4 数据字典 (9) 3.5 学生信息管理系统逻辑结构图 (12) 3.6 用户信息实体关系图 (12) 4 概要设计 (13) 4.1 编写目的 (13) 4.2 项目背景 (13) 4.3 任务概述 (13) 4.4 总体设计 (13) 4.5接口设计 (17) 4.6数据结构设计 (17) 5 详细设计 (19) 5.1 系统程序流程图 (19) 5.2 界面设计 (21) 5.3 程序界面截图 (22) 5.4 程序源代码 (27) 6 软件测试 (58) 7 总结 (62)

    1 课题描述 随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。服务教学、提高教学水平和效果是校园网建设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高高校的现代化管理水平,实现信息资源的共享。该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面‘软件’质量。可以说它适用于每一所高校,因此很有开发价值。我们不敢说该产品是所有该系列产品中最好的,但是我们这里要强调的是它具有使用范围广,实用性强,使用简单,所花经费少等优点。我们可以肯定的说它将在高校的使用过程中其优点将得到最充分的体现。 主要功能有三方面: 管理员,登陆,进入系统,可以进行管理员操作,进行学生信息、教师信息、课程信息的编辑、查询、删除、修改、添加、打印等操作。 学生,登陆,进入系统,可以进行查询、修改、打印等操作。 教师,登陆,进入系统,可以进行查询、学生成绩录入、修改、打印等操作。 软件系统目标: (1)本系统具有很强的可靠行,可以对录入的学生信息进行效验,对数据进行修改、删除,规定各种权限。 (2)本系统中的模块具有很强的可续性,可以方便管理人员的修改与维护。 (3)本系统操作方便、灵活、简单。 (4)本系统可高效、快速的查询到学生的基本信息。

    软件技术基础实验报告

    《计算机软件技术基础》实验报告 专业_____________ 年级_____________ 学号_____________ 学生姓名_____________ 指导老师_____________ 南华大学计算机学院编

    【实验报告】

    I 实验要求 1.每次实验中有若干习题,每个学生至少应该完成其中的两道习题。 2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率。 3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。 4.上机结束后,应整理出实验报告。书写实验报告时,重点放在调试过程和小节部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力的目的。 实验一线性表 【实验目的】 1.熟悉VC环境,学习如何使用C语言实现线性表的两种存储结构。 2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用C语言实现线性表基本操作。 3.熟练掌握线性表的综合应用问题。 【实验内容】 必做: 1.一个线性表有n个元素(n

    软件工程 实验报告

    院系:计算机科学学院专业:计算机科学与技术年级: 2013级 课程名称:软件工程 组员:司少武(1135) 兰少雄(1136) 张宇(1133) 纳洪泽(1132) 指导教师:刘卫平 2015年 12月 26 日

    聊天室 1 前言 即时消息系统的研究现状 即时消息系统[1](Instant Messenger,IM)是一种在后 PC 时代兴起的,以Internet 网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。即时消息系统产生有着深刻的社会原因:人们都有渴望社交,获得社会尊重、实现自我的需求,这正是即时消息软件风行的原动力,而物质文明的日益发达所带来副作用,又使得人们习惯与周围的人保持距离,以致人们更愿意对陌生人敞开心扉,在网络中可以跨越年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。从这点上讲,即时消息系统的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。 本工程的主要内容 随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的网络聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,且具有脱离数据库技术方法,易于维护和更新的特点。 2 需求分析 本系统所要实现的主要功能是当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加到聊天对象集Message中,以供所有聊天用户访问。 接收用户的聊天信息是由多线程技术实现的,因为客户端必须时时关注更新服务器上是否有最新消息,在本程序中设定的是3秒刷新服务器一次,如果间隔时间太短将会增加客户端与服务器端的通信负担,而间隔时间长就会让人感觉没有时效性,所以经过权衡后认为3秒最佳,因为每个用户都不可能在3秒内连续发送信息。 当每次用户接收到聊天信息后将会开始分析聊天信息然后将适合自己的信息人性化地显示在聊天信息界面上。