最新范文 方案 计划 总结 报告 体会 事迹 讲话 倡议书 反思 制度 入党

软件工程实验心得体会范本

日期:2021-05-07  类别:最新范文  编辑:一流范文网  【下载本文Word版

软件工程实验心得体会范本 本文关键词:软件工程,心得体会,实验,范本

软件工程实验心得体会范本 本文简介:软件工程实验心得体会范本经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。需求获取可能是最困难、最

软件工程实验心得体会范本 本文内容:

软件工程实验心得体会范本

经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。

需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。

其次是对问题的理解,用户对计算机系统的能力和限制缺乏了解,任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况,他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚那些工作可以交给软件完成,他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求,他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,忽略了那些被认为是“很明显“的信息。最后是需求的确认,因为需求的不稳定性往往随着时间的推移产生变动,使之难以确认。为了克服以上的问题,必须有组织的执行需求的获取活动。

需求获取活动要完成的任务或者步骤的过程如下:

1、编写项目视图和范围文档

系统的需求包括四个不同的层次:业务需求、用户需求和功能需求、非功能性需求。业务需求说明了提供给用户新系统的最初利益,反映了组织机构或用户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

非功能性需求是用户对系统良好运作提出的期望,包括了易用性、反应速度、容错性、健壮性等等质量属性。需求获取就是根据系统业务需求去获得系统用户需求,然后通过需求分析得到系统的功能需求和非功能需求。项目视图和范围文档就是从高层次上描述系统的业务需求,应该包括高层的产品业务目标,评估问题解决方案的商业和技术可行性,所有的使用实例和功能需求都必须遵从的标准。而范围文档定义了项目产品所包括的所有工作及产生产品所用的过程。项目相关人员对项目的目标和范围能达成共识,整个项目组都应该把注意力集中在项目目标和范围上。

2、用户群分类

系统用户在很多方面存在着差异,例如:使用系统的频度和程度、应用领域和计算机系统知识、所使用的系统特性、所进行的业务过程、访问权限、地理上的布局以及个人的素质和喜好等等。根据这些差异,你可以把这些不同的用户分成不同的用户类。与ULM中Usecase的Actor概念一样,用户类不一定都指人,也可以包括其他应用系统、接口或者硬件,这样做使得与系统边界外的接口也成为系统需求。将用户群分类并归纳各自特点,并详细描述出它们的个性特点及任务状况,将有助于需求的获取和系统设计。

3、建立核心队

通常用户和开发人员不自觉的都有一种“我们和他们“的想法,产生一种对立关系,把彼此放在对立面,每一方都定义自己的“边界“,只想自己的利益而忽略对方的想法。他们通过文档、记录和对话来沟通,而不是作为一个合作的整体去识别和确定需求完成任务。实践证明这样的方法是不正确的,不会给双方带来一点益处,良好的沟通关系没有建立导致了误解和忽略重要的信息。只有当双方参与者都明白要成功自己需要什么,同时也知道要成功对方需要什么时,才能建立起一种合作关系。

为了建立合作关系通常采取一种组队的方式来获取需求,建立一个由用户代表和开发人员组成的联合小组作为需求获取的核心队伍。联合小组将负责识别需求、分析解决方案和协商分歧,小组成员可以采用会议、电子邮件、综合办公系统等方式进行交流,但交流时应注意以下原则:小组会议应该由中立方来组织和主持,用户和开发人员都要参加;交流预先要确定准备和参与的规则;议题要明确并覆盖所有关键点,但信息来源应该自由;交流目标要明确,并告知所有的成员。

4、确定使用实例

从用户代表处收集他们将使用系统完成所需任务的描述,讨论用户与系统间的交互方式和对话要求,这就是使用实例,一个单一的使用实例可能包括完成某项任务的许多逻辑相关任务和交互顺序。使用实例方法给需求获取带来的好处来自于该方法是用以任务为中心和以用户为中心的观点,比起使用以功能为中心和以开发者为中心的方法,使用实例方法可以使用户更清楚地理解和认识到新系统允许他们做什么和怎么做。描写使用实例的时候要注意使用简洁直白的表述,尽量使用主动语态,用“系统“或者“用户“作为主语,比如“用户提交用户密码,系统验证用户密码是否正确“,还有一点在描述中不要设计界面细节,比如“用户从下拉框中选择产品类型“。使用实例为以后写用例场景描述中的基本路径和扩展路径提供了素材。

5、分析用户工作流程

分析用户工作流程观察用户执行业务任务的过程,通过分析使用实例得到系统的用例图。编制用例图文档将有助于明确系统的使用实例和功能需求,统一建模语言的使用有助于与用户进一步交流。每个用例的描述应包括:编号,为每个用例分配一个唯一的编号,为需求的追溯提供了方便;参与者,与这个用例交互的

actor;前置条件,开始用例前所必须具备的系统状态;后置条件,用例完成后系统达到的状态;基本路径,用例完成的关键路径,也是用户期望的路径;扩展点,基本路径的分枝,表示意外情况;字段说明,路径中名称的进一步分解说明,对以后类属性的定义和数据库字段设计起作用;设计约束,实现用例的非功能约束。

6、检查问题报告

通过检查当前已经运行系统的问题报告来进一步完善需求客户的问题报告及补充需求为新系统或新版本提供了大量丰富的改进及增加特性的想法,负责提供用户支持及帮助的人能为收集需求过程提供极有价值的信息。

7、需求重用

如果客户要求的功能与已有的系统很相似,则可查看需求是否有足够的灵活性以允许重用一些已有的软件组件。业务建模和领域建模式需求重用的最好方法,像分析模式和设计模式一样,需求也有自己的模式。

总结

:经过一学期的软工实验,深刻感到其重要性的同时也学到了不少的东西

,将对我在今后的软件开发过程中起极大的作用。

篇2:软件工程生产实习报告

软件工程生产实习报告 本文关键词:软件工程,实习报告,生产

软件工程生产实习报告 本文简介:暑假生产实习报告书专业:软件工程班级:081111学生姓名:xx学号:xxxxxx指导教师:xx2011年8月5号目录1.需求分析71.1目标71.2用户特点71.2.1系统结构层次模块图72.概要设计82.1服务器管理模块设计82.1.1功能描述82.1.2功能界面说明82.1.3操作效果图82.

软件工程生产实习报告 本文内容:

暑假生产实习报告书

业:

软件工程

级:

081111

学生姓名:

xx

学号:

xxxxxx

指导教师:

xx

2011年8月5号

目录

1.需求分析7

1.1目标7

1.2

用户特点7

1.2.1

系统结构层次模块图7

2.概要设计8

2.1服务器管理模块设计8

2.1.1

功能描述8

2.1.2

功能界面说明8

2.1.3

操作效果图8

2.1.4

界面操作说明8

2.1.5

服务器工作原理8

2.1.6

流程图8

2.2用户登录注册管理模块设计9

2.2.1

功能描述9

2.2.2功能界面说明9

2.2.3

操作效果图9

2.2.4

流程图10

2.3

用户列表模块设计11

2.3.1

功能描述11

2.3.2

功能界面说明11

2.3.3

操作效果图11

2.3.4

流程图12

2.4网络聊天模块设计13

2.4.1

功能描述13

2.4.2

功能界面说明13

2.4.3

操作效果图13

2.4.4

流程图14

2.5对战棋盘模块设计15

2.5.1

功能描述15

2.5.2

功能界面说明15

2.5.3

操作效果图15

2.5.4

流程图17

3.详细设计18

3.1登录模块18

3.1.1模块运行流程图18

3.1.2登录模块功能分解表18

3.1.3登录模块与数据传输模块公共接口19

3.2注册模块19

3.2.1模块流程图19

3.2.2注册模块功能分解表20

3.2.3注册模块与数据传输接口21

3.3用户列表模块21

3.3.1模块运行流程图21

3.3.2用户列表模块功能分解表22

3.3.3用户列表模块与数据传输模块接口23

3.4用户对战模块23

3.4.1模块运行流程图23

3.4.2对战模块功能分解表24

3.4.3对战模块与数据传输模块接口图25

3.5数据传输模块26

3.5.1模块流程图26

3.5.2数据传输模块功能分解表26

3.5.3数据传输模块对外提供接口27

3.6服务端数据处理模块27

3.6.1模块流程图1(登录,注册,用户列表信息处理模块)27

3.6.2服务端数据模块功能分解表128

3.6.3服务端数据模块与数据传输模块接口129

3.6.4模块流程图2(对战信息处理模块)29

3.6.5服务端数据模块功能分解表230

3.6.6服务端数据模块与数据传输模块接口230

3.7数据描述表31

4

显示效果33

4.1用户登录界面33

4.2用户注册界面34

4.3用户列表界面35

4.4对战界面36

4.5

聊天界面37

4.6

服务器端界面37

5

总结37

1.需求分析

1.1目标

该系统属于游戏开发项目,其主要是实现五子棋的网络对战功能,即玩家可以通过网络的方式实现对战,其模式类似与QQ游戏,通过帐号密码登录,列出在线列表框,点击玩家进行五子棋对战。

1.2

用户特点

1.2.1

系统结构层次模块图

图表

01总体组织架构

2.概要设计

2.1服务器管理模块设计

2.1.1

功能描述

该系统主要实现网络通信下的操作,通过网络传输实现五子棋对战,判断用户落子后的输赢情况。

2.1.2

功能界面说明

启动界面:通过点击启动按钮,启动服务器。

2.1.3

操作效果图

2-1服务器启动操作效果图

2.1.4

界面操作说明

点击启动按钮即可启动服务器。

2.1.5

服务器工作原理

服务器通过TCP/IP协议的通讯,创建一个SOCKET,开启系统的一个端口用于网络传输,默认的端口号为5000。服务器首先获取本机的IP,然后开启端口,通过监听端口判断是否有连接信息传入,如果发现则与客户端进行连接,再通过操作信息的发送接收来响应并处理消息。五子棋的规则判断也是服务器的主要功能之一。

2.1.6

流程图

2-2用户服务器工作简要流程图

2.2用户登录注册管理模块设计

2.2.1

功能描述

输入正确的用户名及密码登录游戏并进入用户列表界面。点击注册进行用户注册操作。

2.2.2功能界面说明

登录:输入用户名密码点击登录进行游戏。

注册:输入用户名,昵称,2次密码,符合要求后注册完成。

2.2.3

操作效果图

2-3

登录界面效果图

2-4

注册界面效果图

2.2.4

流程图

2-5登录注册界面简要流程图

2.3

用户列表模块设计

2.3.1

功能描述

本模块用于显示用户的在线状态,以及对邀请对战、邀请聊天,查看信息等操作。

2.3.2

功能界面说明

右键:点击人物头像,弹出操作对话框,点击相应条目进行操作。

左键:双击人物头像,弹出聊天窗口进行聊天。

2.3.3

操作效果图

2-6用户列表效果图

2.3.4

流程图

2-7用户列表管理简要流程图

2.4网络聊天模块设计

2.4.1

功能描述

通过用户列表的左键双击响应,弹出聊天窗口,输入聊天内容点击发送进行聊天。

2.4.2

功能界面说明

发送:在聊天框内输入内容点击发送键进行信息发送。

回复:双击聊天内容显示框的某人的信息就可以实现与某人的对话回复。

2.4.3

操作效果图

2-8聊天窗口效果图

2.4.4

流程图

2-9聊天传输简要流程图

2.5对战棋盘模块设计

2.5.1

功能描述

五子棋对战主界面,棋盘位于本界面,实现的功能主要是玩家落子信息的记录,传入服务器端进行处理。

2.5.2

功能界面说明

准备:进入对战后的双方需要点击准备,双方都准备后,游戏开始。

信息显示:显示玩家落子的区域,以及玩家棋子的颜色。

2.5.3

操作效果图

2-10五子棋对战效果图

2.5.4

流程图

2-11五子棋对战简要流程图

3.详细设计

3.1登录模块

3.1.1模块运行流程图

3-1登录界面详细流程图

3.1.2登录模块功能分解表

逻辑处理层:

数据序号

处理方法名

类型

处理说明

判断用户名密码

是否为空

Bool

IsUserInfoNull

(long

lUserID,string

pwd)

判读登录

是否成功

Bool

IsLoginSuccess(long

lFlag)

根据传入标志lFlag,0表示登录失败,1表示登录成功

3.1.3登录模块与数据传输模块公共接口

3.2注册模块

3.2.1模块流程图

3-2注册界面详细流程图

3.2.2注册模块功能分解表

逻辑处理层:

数据序号

处理方法名

类型

处理说明

判断输入信息

是否有空

Bool

IsUserInfoNull

(long

id,string

name,string

pwd)

判读用户昵称

格式是否正确

Bool

ChecNameFormat(string

name)

判断用户名里面是否有一些禁止用户输入的特殊标志

判断两次输入的

密码是否相同

Bool

CheckUserPwd

(string

pwdfst,string

pwdsnd)

判断册

是否成功

Bool

IsRegisteSuccess(long

lFlag)

根据传入标志lFlag,0表示注册失败,1表示注册成功

3.2.3注册模块与数据传输接口

3.3用户列表模块

3.3.1模块运行流程图

3-3用户列表详细流程图

3.3.2用户列表模块功能分解表

逻辑处理层:

数据序号

处理方法名

类型

处理说明

判断用户是否空闲

私有

Bool

CheckUserState(long

id)

根据id在本地用户列表中查找对应的用户状态,判断是否空闲

初始化成员列表

私有

Bool

InitUserList(char*

nameList)

从nameList中根据间隔标志,

提取出一个个用户信息,插入用户列表

判断对方是否同意对战

私有

Bool

CheckEnemyAnswer(bool

bFlag)

3.3.3用户列表模块与数据传输模块接口

3.4用户对战模块

3.4.1模块运行流程图

3-4对战界面详细流程图

3.4.2对战模块功能分解表

逻辑处理层:

数据序号

处理方法名

类型

处理说明

初始化

棋盘信息

Bool

InitMapInfo()

将棋盘上的下子位置清0

将屏幕坐标转化成

棋盘位置

Void

ScreenToMapPos(int

//表示玩家ID

bool

m_bColor;//表示玩家颜色

bool

m_bBusy;//表示用户状态

}

Class

CGridMap

{private:

int

m_nID;

//表示棋盘编号

bool

m_bEmpty;

//表示棋盘当前有无玩家

int

m_Grid[15][15];//表示一个15x15的棋盘

int

m_nlastRow;//表示棋盘上最后一次落子的行号

int

m_nlastCol;//表示棋盘上最后一次落子的列号

}

数据项说明:

Class

CUser中

bool

m_bColor;为1时表示玩家为黑方,为0时表示玩家为白方

bool

m_bBusy;

为1时表示玩家处于对战状态,为0时表示玩家处于空闲

状态

Class

CGridMap中

m_Grid[15][15]数组中,0表示当前位置未落子,1表示当前位置为黑子,2表示当前位置为白子。

4

显示效果

4.1用户登录界面

说明:

本界面是用户登录游戏的入口。

4.2用户注册界面

说明:

本界面是用户注册帐号的入口。

4.3用户列表界面

说明:

本界面是邀请玩家对战,聊天的主界面。

4.4对战界面

说明:

本界面是五子棋游戏对战的主界面。

4.5

聊天界面

说明:

本界面是玩家与玩家之间进行通信的界面。

4.6

服务器端界面

说明:

本界面是启动服务器开启传输功能的界面。

5

总结

35

篇3:福建信息职业技术学院软件工程系实验报告

福建信息职业技术学院软件工程系实验报告 本文关键词:福建,工程系,职业技术学院,实验,报告

福建信息职业技术学院软件工程系实验报告 本文简介:福建信息职业技术学院软件工程系实验报告2011–2012学年第2学期任课老师:余先锋课程名称JavaWEB程序设计班级座号姓名实验名称JSP表单实验时间第周星期第节实验目的掌握表单的结构及设计方法;掌握表单组件的使用方法;掌握表单内容的提交与接收方法。实验环境PC/windows2000/2003/

福建信息职业技术学院软件工程系实验报告 本文内容:

福建信息职业技术学院软件工程系实验报告

2011

2012

学年第

2

学期

任课老师:

余先锋

课程名称

JavaWEB程序设计

班级

座号

姓名

实验名称

JSP表单

实验时间

周星期

实验目的

掌握表单的结构及设计方法;

掌握表单组件的使用方法;

掌握表单内容的提交与接收方法。

实验环境

PC/windows2000/2003/XP/Tomcat6/Eclipse/Jcreator

Pro/Dreamweaver

MX。

实验内容安排

必做题:

【实验3-1】建立一个用户登录表单。表单包含一个用户名文本框,一个密码框以及一个登录按钮。表单form的action属性指定Experiment3_1a.jsp来接收并显示所输入的用户名和密码的内容。程序显示如下。表单及表单接收程序分别保存为:Experiment3_1.jsp和Experiment3_1a.jsp。

【示例链接】

程序提示:

Experiment3_1.jsp:

表单:

用户名文本框:

密码文本框:

提交按钮:

程序显示:

Experiment3_1a.jsp:

接收用户名与密码的命令为:

user

=

request.getParameter(“user“);

pass

=

request.getParameter(“pass“);

程序显示

用户名:abc

码:12345

【实验3-2】建立一个学生信息资料表单,表单包含以下内容。程序保存为Experiment3_2.jsp。同时编写程序Experiment3_2a.jsp接收并显示表单所提交的全部内容。

【示例链接】

要求表单包括以下控件:

1、

文本行:学号,姓名、出生年月

2、

单选按钮:性别

3、

下拉菜单:班级

4、

复选框:可以为爱好、选修课程等

5、

文本区:个人简介

6、

按钮:重写,提交。

Experiment3_2.jsp程序运行显示:

提交后,Experiment3_2a.jsp程序显示表单所提交的内容:

学号:091111

姓名:李四

出生年月:88年8月

性别:女

班级:网络信息0912

选修:Java

SQL

个人简介:个人简介:个人简介个人简介个人简介个人简介个人简介个人简介个人简介

提示:

1、

单选按钮组:

单选按钮值的读取方式:

String

sex

=

request.getParameter(“sex“);

2、

下拉菜单:

网络信息0911

网络信息0912

网络信息1011

网络信息1012

下拉菜单内容读取方式:

String

bj

=

request.getParameter(“bj“);

3、

复选框组:

Java

C#

SQL

复选框读取方式:

String[]

xx

=

request.getParameterValues(“xx“);

//读取的内容为一个字符串数组

for(int

i=0;

i

“+bj[i]+““);

}

%>

//将数组加入复选按钮组:

“+xx[i]);

}

%>

【实验3-4】修改【实验3-1】程序Experiment3_1.jsp,添加JavaScript程序代码,当输入的用户名或密码为空时不能提交,并弹出对话框告警。程序保存为Experiment3_4.jsp。

【示例链接】

【实验3-5】修改【实验3-3】程序Experiment3_3.jsp,添加JavaScript程序代码,当输入的学号、姓名为空时不能提交,并弹出对话框告警;如果选修课少于两门时,也不能提交并弹出对话框告警。程序保存为Experiment3_5.jsp。

【示例链接】

提示(JavaScript程序):

1、

判定文本框不能为空:

修改“提交”按钮(submit)为普通按钮(button),并加入onClick事件:

JavScript方法test()的处理程序:

function

test()

{if

(document.form1.user.value.length

==

0)

{alert(“用户名不能为空!“);

return;

}

if

(document.form1.pass.value.length

==

0)

{alert(“请输入密码!“);

return;

}

document.form1.submit();

//提交

}

2、

判定复选框xx选取状态

for

(i=0;

i、等;

2、

注意表单的结构,表单控件要放在之内,一个页面中最好不要超过一个;

3、

表单内可以使用表格进行布局设计;

4、

注意form的提交对象action属性,以确定接收表单内容的程序;

5、

理解并使用上面所给出的提示方法,能够读取表单中各控件的状态、值等内容;

6、

接收程序使用request.getParameter();方法读取表单提交的数据,所提取的内容是字符串类型,如果是其他数据类型要进行类型转换;

7、

使用request.getParameter();方法读取数据以及进行数据类型转换时,应该进行异常处理;

8、

使用JavaScript可以在客户端对数据进行简单的预处理,这样减少服务器端的程序工作量。

9、

可在表单接收程序前面加入以下代码,确定汉字编码格式:

实验过程记录

(学生写出实验步骤及中间的结果与现象,在实验中做了什么,怎么做,发生的现象和中间结果)

实验结果分析与总结

1、程序运行结果(请提供你所完成的各道题页面的网络链接):

2、你在实验过程中遇到的问题与解决方法:

3、实验过程中的发现与收获,未解决或需进一步解决的问题:

总结与思考(答题内容请用蓝色字体)

1、

页面是如何提交信息数据的?

2、

如果在表单中设定接收表单数据的程序?

3、

能不能在同一个程序中,同时提交表单数据和接收表单数据?

4、

总结文本框、密码框、文本区所提交数据的读取方法。

5、

总结下拉菜单的选择项及选择内容的读取方法。

6、

总结单选按钮、复选框的选择状态判定和值的读取方法。

指导老师评阅意见

指导老师:*年*月*日

填写内容时,可把表格扩大。

附:实验源程序代码

    以上《软件工程实验心得体会范本》范文由一流范文网精心整理,如果您觉得有用,请收藏及关注我们,或向其它人分享我们。转载请注明出处 »一流范文网»最新范文»软件工程实验心得体会范本
‖大家正在看...
设为首页 - 加入收藏 - 关于范文吧 - 返回顶部 - 手机版
Copyright © 一流范文网 如对《软件工程实验心得体会范本》有疑问请及时反馈。All Rights Reserved