软件工程课程设计报告

软件工程课程设计报告
软件工程课程设计报告

软件工程实习报告书

实时通讯系统的设计与实现

学号:0705010110

姓名:李乔

指导老师:戴祖雄

完成日期:2011年3月7日

目录

第一章A可行性研究报告 (3)

1 引言 (3)

2 可行性研究的前提 (3)

3 可行性分析 (4)

4结论意见 (4)

第二章B需求分析说明书 (6)

1 引言 (6)

2 目标系统任务概述 (6)

3需求规定 (7)

第二章C概要设计说明书 (8)

1引言 (8)

2总体设计 (8)

第三章D详细设计说明书 (9)

1引言 (10)

2各个模块的具体流程 (11)

3关键代码分析 (13)

第四章E测试说明书 (16)

1测试方案 (16)

2测试用例 (16)

3测试结果 (16)

4测试结果分析 (16)

总结、致谢 (17)

参考文献 (18)

前言

近年来,各种企业内部通讯系统得到了飞速发展,它可以不用连接Internet,直接在局域网内实现信息通讯、工作交流、提交计划等业务。这种通讯系统广泛应用于中小型企业的内部通讯,可以大大提高职工的工作效率,在方便企业内部职工交流的同时,也创造了一个安静的工作环境。在现代企业内部通讯软件是不可缺少的工具。

本软件主要是针对企业内部职工的通讯与交流进行设计,目的是方便职工之间的交流,以提高工作效率。

本课程设计说明书共五章。第一章为可行性分析,主要讨论该系统技术、经济、社会方面的可行性。第二章为需求分析,主要明确该系统应具备的一些基本功能。第三章和第四章为概要设计和详细设计,主要讲述系统的设计和实现。第五章为测试,主要是对该系统进行简单的功能测试。

本系统采用Java Swing和JavaDB进行开发,主要思想是面向对象的设计策略,界面友好、操作方便,用户可以轻松的掌握各种操作。

因本人水平有限加之时间仓促,本课程设计说明书中难免有不妥之处,还望老师批评更正。

A可行性研究报告

1引言

1.1编写目的

企业实时通信系统是针对企业内部职工的通讯与交流进行设计,目的是方便职工之间的交流,以提高工作效率。

1.2项目背景

开发软件名称:企业实时通讯系统

项目任务提出者:湖南科技大学计算机科学与工程学院

项目开发者:李乔

用户:湖南科技大学计算机科学与工程学院

实现软件单位:湖南科技大学计算机科学与工程学院

项目与其他软件,系统的关系

本项目采用JA VA Swing技术和JDK1.6新增的JA V ADB数据库,程序是以JA V A为运行环境而开发的应用程序,具有跨平台的特性。

1.3 定义

[专门术语]:Java , Java Swing, JavaDB, SQL

[缩写词]:Java , Swing, JavaDB, 结构化查询语言

2可行性研究的前提

2.1要求

主要功能:根据企业内部通讯系统的特点,可以将本系统划分为信息通讯、系统升级、系统设置、用户搜索等共计6大部分。

性能要求:

1)实现员工之间的实时通信。

2)当软件拥有新版本时,使用升级功能进行升级。

3)可以对系统的用户界面、用户名称、公共路径等进行设置。

4)可以对用户按指定IP段进行搜索。

5)可以访问企业内部公共路径中的资。

2.2目标

系统实现后,提高企业内部员工在工作时进行交流的效率,以达到员工之间可以利用工作的计算机进行实时通讯、而不必离开工作位置完成交流,从而提高工作效率。

2.3条件,假定和限制

建议软件寿命:3年。

硬件条件:pc机。

运行环境:Windows或Linux、Java

数据库:JavaDB

技术可行:现有技术可完全承担开发任务。

操作可行:,软件能被原有工作人员快速接受。

3可行性分析

3.1对以往的系统的分析

在利用企业内部通讯系统之间,企业员工之间的交流必须通过员工本人当面完成或通过

电话等设备完成,员工不得不离开工作位置而完成交流,或者通过有声的方式完成通讯,这

样一来难免会对办公环境中的其他员工造成不必要的影响,也大大降低了工作的效率。

3.2开发系统简要描述

在员工的工作计算机上搭载好软件的运行环境、部署好软件后,由于软件的工作方式与

常用的通讯软件基本一致,用户可以轻松的掌握相关操作。

3.3经济可行性分析

本项目属于非盈利项目。由于Java本身属于开源的开发环境,所以所有的软件不需要

额外的花费,只需要将软件的运行环境部署到工作计算机即可。

3.4技术可行性

根据客户提出的系统功能、性能及实现系统的各项条件,根据新系统目标来衡量所需的

技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软

件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的

功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。

3.5法律可行性

研究开发此系统的过程并未涉及到合同侵权责任以及各种与法律相抵触的问题。本系统

适用于各种中小型企业。运用此系统进行员工之间的内部交流,给企业员工的通讯带来极大

的方便。

3.6用户使用的可行性

作为本产品的使用者要求有一定的计算机基础,可以熟练得使用window操作系统所提的各种功能。数据库管理要求具有专业水平的数据库管理员,用户需要简单的操作指导。

4结论意见

企业内部通讯系统必须提供网络通讯功能、在通讯过程中禁止使用聊天表情、文件传送等功能,避免资料外泄,或因发送错误而导致上级资料的丢失以及其他损失。最重要的是必须适应任何操作系统,也就是实现跨平台技术,因为企业内部的工作需要,工作环境中使用了多个操作系统来完成不同的工作。另外,系统不需要使用服务器中转和记录通讯内容,可以独立完成通讯任务,排除职工对领导监视工作进度等逆反心理。

B需求分析

1引言

信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续采用人工执行。为了适应现代社会人们高度强烈的时间观念,企业内部通讯系统为企业员工的交流提供了极大方便。该软件是以Java语言为实现语言,其功能在系统内部有源代码直接完成。操作人员只需利用一些基本的计算机操作,即可达到自己的目标。

1.1编写目的

本需求的编写目的在于提高企业员工之间通讯的便利性。本需求的预期读者是与企业内部通讯软件开发有联系的决策人,开发人员,支持本项目的领导和公司人员,软件验证者。

1.2背景及范围

项目的名称:企业内部通讯系统。

1.3定义

Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。工具包中所有的包都是以swing作为名称。

Java DB是一个纯 Java 实现、开源的数据库管理系统(DBMS),源于 Apache 软件基金会(ASF)名下的项目 Derby。它只有 3MB 大小,对比动辄上 G 的数据库来说可谓袖珍。但这并不妨碍 Derby 功能齐备,支持几乎大部分的数据库应用所需要的特性。更难能可贵的是,依托于 ASF 强大的社区力量,Derby 得到了包括 IBM 和 Sun 等大公司以及全世界优秀程序员们的支持。这也难怪 Sun 公司会选择其 10.2.2 版本纳入到 JDK 6 中,作为内嵌的数据库。这就好像为 JDK 注入了一股全新的活力:Java 程序员不再需要耗费大量精力安装和配置数据库,就能进行安全、易用、标准、并且免费的数据库编程。

2目标系统概述

2.1目标

企业内部通讯系统以提供网络通讯功能为目标,应该能适应任何操作系统,也就是实现跨平台技术,因为企业内部的工作需要,工作环境中使用了多个操作系统来完成不同的工作。另外,系统不需要使用服务器中转和记录通讯内容,可以独立完成通讯任务。

2.2.用户简介

该系统的用户是中小型企业中各种职位的员工。

2.3 组织结构和职责

本系统采用MVC模式开发,有dao、frame、userlist三个主要的包。系统的组织结构比较简单,主要是单层结构,利用单独的客户端即可完成工作。

3需求规定

3.1功能需求:

对企业通讯系统进行分析,初步分析该系统应具备以下的主要功能。

(1)信息通讯,员工可通过软件进行实时通讯;

(2)系统升级,实现软件版本更新;

(3)系统设置,用于设置系统界面、公共路径、IP段等;

(4)用户搜索,实现用户添加、删除等管理;

(5)访问公共资源,实现共享文件资源;

3.2功能需求点列表

1.用户管理:

用户管理主要负责用户信息的管理,如通讯对象的添加、删除、改名等。

2.系统设置:

系统设置主要负责用户对系统的相关设置,如用户界面、系统路径、IP范围等。

3.数据管理:

数据管理包括对用户窗体的属性、用户的相关属性、通讯方的相关记录等的存储与管理。

3.3系统性能需求

1.时间性能要求:

在实际应用中由于通讯业务的要求,需要软件的响应时间应该尽可能缩短,对于有特殊需求的业务,还要求达到实时响应。

2.储存性能要求:

根据应用中实际情况配置适当容量的存储设备,由于本系统的存储要求不高,所以只要求存储设备能够稳定工作即可。

3.稳定性安全性要求:

要求软件尽可能的稳定,对于一般的应用系统,对安全性要求不高,但是对于通讯软件来说,在安全性方面应该加以保证。

3.4系统运行需求

由于本系统使用JavaDB数据库,所以只需要供软件运行的多台PC机即可,PC机应组成相应的局域网,并搭载Java运行环境。

C概要设计说明书

1 引言

经过了需求分析阶段的工作系统必须“做什么”的问题已经清楚了,现在是决定“怎么做”的时候了。在这里要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。

2总体设计

2.1层次图:

根据本次设计需要,整个企业内部通讯系统可以分成信息通讯、系统设置、用户管理等3个模块。系统的层次图如下[图1]所示:

企业内部通讯系统

信息通讯系

[图1]企业内部通讯系统层次图

2.2各模块功能及相互关系

1.信息通讯模块:

通讯模块是企业内部通信系统的核心模块,它用于不同职工之间的通讯,这种通讯方式能够实现多个职工之间的通话,而不存在类似电话的占线问题,增加了任务分配的新方式,从而提高了企业的工作效率。该模块可以使用UDP协议和系统信使两种方式发送通讯信息。

2.系统设置模块:

系统设置模块用于管理企业内部通讯系统的相关设置,比如窗体大小,用户名、通讯对象、IP段、公共路径等,在企业内部通讯系统有新版本提示时,可以使用系统升级功能直接升级到最新版本,而不用重新安装。

3.用户管理模块:

用户管理模块类似聊天软件的好友列表,它包含了所有用户信息,具有更名、添加用户、删除用户、信使群发等功能。

D 详细设计说明书

1 引言

系统运用共享数据结构技术及多线程技术,通过I/O 端口与用户进行通讯,实现了数据转发功能。首先,程序进行初始化,利用JavaDB 数据库中存放的数据初始化用户主界面,并读取通讯对象的相关信息。当用户利用通讯窗体发送信息时,创建相关线程处理业务。当用户对通讯对象作出相关更改时,将结果保存至数据库,使得系统使用的数据与数据库中的数据保持一致,直至程序结束。

在开始进行聊天通信前,需要先初始化系统,系统的初始化过程如下[图2]所示:

开始

启动状态

启动已运行

N

结束

Y 标记系统已运行

加载系统配置

加载用户信息

加载通讯列表

就绪状态

[图2]系统初始化流程图

当系统初始化完毕之后,就可以进行具体的通讯业务了(即普通通讯和信使通讯)。

2各个模块的具体流程

当用户启动系统后会出现一个主窗体,如下[图3]所示:

[图3] 主窗体界面[图4] 通讯子窗体

主窗体中包含了各种子窗体,如用户列表窗体、系统设置窗体和用户搜索窗体,以切换卡的方式进行切换。

2.1通讯模块设计:

当用户用鼠标双击选中[图3]中用户列表中的某个用户时,会创建一个通讯子窗体,如[图4]所示,此时可以按照如下[图5]所示的流程进行通信业务:

开始

启用信使服务

发送信使

UDP 通讯?

N

Y

创建并初始化数据报对

发送数据报

End

[图5] 通讯业务流程图

2.2系统设置模块设计:

当用户使用切换卡切换到系统设置界面时,如下[图6]所示,可以进行系统相关配置的设置,具体业务流程如下[图7]所示:

系统运行

从数据库读取系统

设置

是否更改设置

保存设置至数

据库

结束

N Y

[图6] 系统设置界面

[图7] 系统设置业务流程

2.3用户管理模块设计:

操作用户可以使用多种途径对用户列表进行管理,比如在用户列表单击右键,在弹出菜单中按指定IP添加用户,或者选中删除用户。也可以在用户搜索面板中按指定的IP范围进行批量搜索添加,如下[图8]所示,用户管理业务的流程如[图9]所示:

系统运行

从数据库读取用户

列表

Y

用户列表是否更改更新数据库

N

结束

[图8] 用户搜索面板[图9] 用户管理流程

3关键代码分析

3.1通信模块关键代码:

通讯模块使用UDP进行通讯,利用Java听过的https://www.360docs.net/doc/af2618473.html,包中的相关API进行编程设计,利用MVC设计模式,将一个监听器绑定在发送按钮对象上,当用户点击发送时发送消息框中的消息。关键代码及注释如下:

class sendActionListener implements ActionListener {

public void actionPerformed(final ActionEvent e) {

String sendInfo = getSendInfo();

if (sendInfo == null) //对消息进行判断

return;

insertUserInfoToReceiveText(tree); //将操作用户的信息插入发送文本

appendReceiveText(sendInfo + "\n", null);

byte[] tmpBuf = sendInfo.getBytes();

DatagramPacket tdp = null;

try {

tdp = new DatagramPacket(tmpBuf, tmpBuf.length,

new InetSocketAddress(ip, 1111)); //初始化数据报包对象包装信息

ss.send(tdp); //发送消息

} catch (SocketException e2) {

e2.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

JOptionPane.showMessageDialog(TelFrame.this, e1

.getMessage());

}

sendText.setText(null); //清空消息框,为再次输入准备

sendText.requestFocus(); //使消息框获得焦点,减少操作

if (messageMode.isSelected())

setState(ICONIFIED);

}

}

3.2系统设置模块关键代码:

系统设置模块设计的关键在于与JavaDB数据库的交互,关键代码与注释如下:

public void updateLocation(Rectangle location) {// 更新窗体位置

String sql = "updatetb_locationsetxLocation=?,yLocation=?,width=?,height=?";

try {

PreparedStatement pst = conn.prepareStatement(sql);

pst.setInt(1, location.x); //插入窗体位置数据

pst.setInt(2, location.y);

pst.setInt(3, location.width);

pst.setInt(4, location.height);

pst.executeUpdate(); //更新数据库信息

pst.close(); //关闭连接

} catch (SQLException e) {

e.printStackTrace();

}

}

public Rectangle getLocation() { // 获取窗体位置

Rectangle rec = new Rectangle(100, 0, 240, 500);//创建rec对象并设置默认数据String sql = "select * from tb_location";

try {

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery(sql);

if (rs.next()) { //若存在,则重设rec属性

rec.x = rs.getInt(1);

rec.y = rs.getInt(2);

rec.width = rs.getInt(3);

rec.height = rs.getInt(4);

}

rs.close();

stmt.close();

} catch (SQLException e) {

e.printStackTrace();

}

return rec;

}

3.3用户管理模块关键代码:

用户管理模块使用了树的数据结构,这样一来对用户对象的搜索插入操作就和对树的插入删除操作一样了,关键代码如下:

public void delUser() { // 删除用户

TreePath path = getSelectionPath();

if (path == null)

return;

User user = (User) ((DefaultMutableTreeNode) path

.getLastPathComponent()).getUserObject(); //获取节点中的用户对象int operation = JOptionPane.showConfirmDialog(this, "确定要删除用户:" + user + "?", "删除用户", JOptionPane.YES_NO_OPTION,

JOptionPane.QUESTION_MESSAGE); //给出提示信息以确认删除if (operation == JOptionPane.YES_OPTION) {

dao.delUser(user); //调用删除方法

root.remove((DefaultMutableTreeNode)path

.getLastPathComponent()); //删除该节点

treeModel.reload();

}

}

E测试分析报告

1测试方案

在测试过程中,采用黑盒测试,即检查程序功能是否能按要求进行,是否适当的接收数据产生正确的输出,并保持外部信息的完整性。

2测试用例

在测试中使用采用在局域网中的多太计算机进行如下情况下的通讯:

(1)当网络连接正常和不正常时,即断开网络时的通讯。

(2)当输入信息正确和有误时的通讯。

(3)当通信接收方存在和不存在时的通讯

(4)对系统设置进行相关更改,测试能否保存。

(5)自定义IP段,检测用户管理模块的功能。

3测试结果

测试结果情况良好,具体表现如下:

(1)网络正常时,通讯正常工作,当网络不正常时,软件给予相应的错误提示。

(2)当输入正确时,通讯正常,当输入有误,如发送消息为空时,软件给予正确提示。

(3)当通讯接收方存在是,通讯正常,接收方正确收到信息,当通讯接收方不存在是,给予

正确提示。

(4)对系统设置进行相应更改,数据库保存正常,在重启软件后能够正常读取相应的系统设

(5)软件能够根据自定义的IP段进行自动查询和添加用户,工作情况良好。

4.测试结果分析

结果表明,经过测试每个功能都能按预先要求正常进行且速度达到了预期的标准。用户界面友好。用户能正常接收UDP信息以及信使信息。当然,作为通讯软件,在信息安全方面的考虑还有所欠缺,这也是设计中所不足的部分。

总结、致谢

通过本次设计,学到了不少东西。最重要的是对进行软件设计的整体设计流程及思维方法有了深刻的认识。在期间,发现的许多问题都源于没有认真的按步骤进行设计,不重视需求分析,总体设计部分,对各方面将会产生的问题考虑不周全。

在设计过程中,使用到基本都是书本中所讲授过的知识,也让我体会到了学以致用的重要性。

由于本人能力有限,在项目设计中考虑的方面难免有所欠缺,也谢谢指导老师的指正和提示!

参考文献

[1]张海潘.软件工程(第五版)[M].北京:人民邮电出版社,2008.

[2](美)Roger S.Pressman.软件工程-实践者的研究方法[M].北京:机械工业出版社,2002.

[3](美)Horstmann.C.S.Java核心技术,卷I:基础知识 [M].北京:机械工业出版社,2008.

[4](美)Horstmann.C.S.Java核心技术,卷II:高级特性 [M].北京:机械工业出版社,2008.

软件工程课程设计方案报告范例

西安科技大学 软件工程课程设计报告 题目:图书馆管理系统 班级:软件工程** 学号: ********** 姓名: ******* 2013年1月

目录 1绪论 (1) 2 可行性研究报告 (1) 3 需求规格说明书 (4) 4 总体设计说明书 (7) 5 数据库设计说明书 (8) 6 详细设计说明书 (9) 7 系统实现 (11) 8测试分析报告 (23) 参考文献

1.绪论 1.1 选题目的及意义 随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。 对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习Java程序设计和Oracle数据库课程,我觉得这个题目虽然没有那么难(涉及算法的内容很少),但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用Java程序设计语言编写界面,访问Oracle数据库中的数据,完成本系统。 1.2 系统概述 本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。 2.可行性研究报告 2.1 编写目的 本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。 本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱好者。 2.2 相关背景 工程名称:图书馆管理应用软件 工程产品名称:高校图书馆管理系统应用软件 工程的组织者:西安科技大学计算机学院软件工程系 产品用户:高校图书馆、中小学图书馆; 产品的生产者:西安科技大学计算机学院软件工程062班袁震; 产品设计者:西安科技大学计算机学院软件工程062班袁震; 2.3 可行性研究的前提 本图书管理系统在功能上要求完成以下基本功能: a).读者、管理员登陆;

《贪吃蛇游戏课程设计》报告资料整理

贪吃蛇游戏程序设计 一、课程设计任务 贪吃蛇小游戏程序设计 二、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (4).完成课程设计报告,并进行答辩 三、需求分析 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。

3.2、设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。

3.3、流程图

四、设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #define M 200 #include"graphics.h" #include #include #include #include #include #include #include #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int i,key; int score=0; int gamespeed=250;//游戏速度可根据实际情况自行调整 struct Food { int x;//食物的横坐标 int y;//食物的纵坐标 int yes;//判断是否要出现食物的变量 }food;//食物的结构体 struct Snake { int x[M]; int y[M]; int node;//蛇的节数 int direction;//蛇的移动方向 int life;//蛇的生命,0表示活着,1表示死亡 }snake; void Init();//图形驱动

《移动应用开发》课程设计报告书

《移动应用开发》课程设计报告 { 学院名称:计算机与信息工程学院 班级名称:计科对口14 学生:胡闻璐 学号: 19 题目:基于《个人理财通》的计算器 任课教师 # 姓名:东良 起止日期:2017年04月18日至04月30日

目录 《移动应用开发》课程设计报告 (1) * 摘要 (3) 1 项目需求分析 (3) 需求分析 (3) 功能需求 (3) 2系统总体设计 (5) 系统架构设计 (5) 系统功能体系 (5) 3系统详细设计 (6) 》 数据库设计 (6) 系统界面设计 (7) 数据存储设计 (13) 信息统计设计 (14) 地图轨迹设计 (14) 服务应用设计 (24) 4系统编码实现 (25) 框架引用 (25) ~ 交互实现 (25) 单元测试 (28) 5 系统测试发布 (29) 手机环境的实测 (29) APP的发布实测 (29) 参考文献 (30) 成绩评定 (31) <

摘要 随着移动终端的迅速普及,Android系统平台引用软件的需求随之增大。伴随着Android 智能手机与平板电脑已经出现在我们生活的大量的使用,越来越多的基于Android开发平台也随之而出,为丰富人们使用Android智能产品的用途,使其可以帮人们记录一些事情。本设计开发通过研究Android体系结构和个人理财管理方面的知识,设计并实现了个人理财通系统。能够对理财信息进行获取、汇总、整理、计算等功能,从而实现随身随时随地地进行日常的理财活动。 1 项目需求分析 需求分析 物质和科技的飞速发展,人们的生活水平也不断的在提高,往往有很多人在快节奏的生活中迷失和迷茫,很多人觉得自己没钱,但每个月的工资也不是很低,却往往不知道钱花在哪,为什么每到月底自己的钱包会空空如也,正因为这样,人们才需要一款个人理财软件,简单的界面,易懂的操作,十分便携直观的理财方式,可以让人们更好的进行个人理财。以下是本软件的一些功能: ①登录界面:初始登陆时没有密码,为了方便用户保护隐私,可以自行设置密码 ②新增支出:添加支出金额、时间、类别和地点等信息 ③新增收入:添加收入金额、时间、类别和付款方等信息 ④数据管理:支出汇总,收入汇总,便签信息 ⑤便签功能:添加便签,设置提醒或事项 ⑥计算器:对数据进行计算,方便记录,长按结果可直接复制 ⑦移动课堂:泛雅平台中的安卓课程访问 ⑧帮助:对个人理财通各个功能部件的使用介绍 ⑨退出:退出该系统 功能需求 目前国外理财软件已有上百种之多,如美国的直觉公司QUICKEN软件为美国13个州及加拿大的客户提供金融管理和预算等财务问题。国在财务管理方面做的比较突出的当属金蝶公司。然而,在手机理财软件方面做的很突出的还没有,本软件是针对个人用户的一款Android 软件,主要对个人理财收入、支出做一个记录和统计,可以对用户的收入、支出记录做添加、删除、查询和修改的管理,本软件该具备以下功能: ①功能操作要方便、易懂、,不要有多余或复杂的操作。 ②对用户收入支出信息做添加、删除、查询和修改。 ③系统的功能复合本人的实际情况。

软件设计模式(JAVA)习题答案

软件设计模式(Java版)习题 第1章软件设计模式基础 1.1 软件设计模式概述 1.2 UML中的类图 1.3 面向对象的设计原则 一、名词解释 1.一个软件实体应当对扩展开放,对修改关闭,即在不修改源代码的基础上扩展 一个系统的行为。 2.一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。 3.在软件中如果能够使用基类对象,那么一定能够使用其子类对象。 4.是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结, 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 二、单选择题 1.( A ) 2.( A ) 3. ( A ) 4. ( D ) 5. ( D ) 6.( A ) 7. ( D ) 8.( D ) 9.( D ) 10.( E ) 11.( C ) 12.( C ) 13. ( A ) 三、多选择题 1.( A、B、C、D ) 2. ( A、B ) 3.( A、D ) 4.( A、B、C、D ) 四、填空题 1.依赖倒转、迪米特法则、单一职责 2.模式名字、目的、问题、解决方案、效果、实例代码 3.超类、子类 4.开闭 5.用户 6.依赖倒转 7.组合/聚合 8.结构型、行为型 9.依赖倒转 10.开闭 11.需求收集是否正确、体系结构的构建是否合理、测试是否完全 12.人与人之间的交流 13.接口 14.名称、目的、解决方案 15.对象组合、类继承

16.对象组合 17.对象组合、类继承 18.抽象类的指针 五、简答题 1.答:设计模式按类型分为以下三类: 1)创建型设计模式:以灵活的方式创建对象集合,用于管理对象的创建。 2)结构型设计模式:将己有的代码集成到新的面向对象设计中,用于处理类或对象的组合。 3)行为型设计模式:用于描述对类或对象怎样交互和怎样分配职责。 2.答:设计模式的主要优点如下: 1)设计模式融合了众多专家的经验,并以一种标准的形式供广大开发人员所用,它提供了一套通用的设计词汇和一种通用的语言以方便开发人员之间沟通和交 流,使得设计方案更加通俗易懂。 2)设计模式使人们可以更加简单方便地复用成功的设计和体系结构,将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。设计模式使得重用成功的设计更加容易,并避免那些导致不可重用的设计方案。 3)设计模式使得设计方案更加灵活,且易于修改。 4)设计模式的使用将提高软件系统的开发效率和软件质量,且在一定程度上节约设计成本。 5)设计模式有助于初学者更深入地理解面向对象思想,一方面可以帮助初学者更加方便地阅读和学习现有类库与其他系统中的源代码,另一方面还可以提高软件的设计水平和代码质量。 3.答:设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效 果、实例代码和相关设计模式,其中的关键元素包括模式名称、问题、解决方案和效果。 4.答:正确使用设计模式具有以下优点: ⑴可以提高程序员的思维能力、编程能力和设计能力。 ⑵使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从 而缩短软件的开发周期。 ⑶使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。 5.答:根据类与类之间的耦合度从弱到强排列,UML中的类图有以下几种关系:依赖关 系、关联关系、聚合关系、组合关系、泛化关系和实现关系。其中泛化和实现的耦合度相等,它们是最强的。

软件课程设计需求分析

普通话考试报名及成绩查询系统 需求分析 项目名称:普通话考试报名及成绩查询系统撰写人: 专业: 指导老师: 2012年3月19日

摘要 网络技术的飞速发展正无时无刻影响着人们的工作、在教育体系中,网络的应用也成为现代教育发展的基础.网络教育逐渐发展起来,校园网建设逐步成熟,基于Web的也伴随着网络技术的发展应运而生.它即简化了传统的考试模式,节约人力物力,也可以有效利用校园网资源,辅助教学. 该系统采用了目前流行的B/S模式,即浏览器、应用服务器、数据库服务器三层体系结构,后台数据库采用SQL Server 2005,客户端采用IE浏览器和服务器连接,最终形成了基于 B/S模式的在线考试系统.该系统具备了以下功能:学生信息管理、成绩查询等功能. 论文以基于B/S模式的在线考试系统为研究对象,按照软件工程的开发思想,用UML来构建在线考试系统模,后台采用数据库相结合. 际需求出发,论述了开发普通话等级考试报名及成绩查询系统的背景、目的及意义,讨论了开发系统的关键技术,并通过UML分析对系统设计及实现。 设计思路和方法采用瀑布模型开发,用统一建模语言 UML进行描述,经历了文献检索,需求分析,分析模型设计,数据模型设计,构建级设计,系统部署,系统测试六个个环节。。实现了用户登录、注册功能,出题组卷功能,考试评卷功能以及用户信息查询功能。 关键词:普通话等级考试报名及成绩查询系统; SQL SERVER2005

目录 一.摘要 (2) 二.背景 (5) 三.简介 (5) 1.设计目的 (5) 2.开发环境 (5) 3.程序功能 (6) 4.系统实际需求特点 (6) 四.整体规划思路 (6) 五.整体性需求分析 (6) 六.功能需求 (9) 1.业务规则 (9) 2.普通话等级考试报名及成绩查询系统登录 (10) 七.数据库设计 (12) 1.概念模型设计 (12) 2.数据表结构 (12) 八.系统结构设计 (14) 九.对性能的规定 (15) 1.灵活性 (15)

《软件设计基础-VB》课程设计报告书

河北联合大学 2011-2012 第 2 学期
《 软 件 设 计 基 础 -VB》
课程设计报告
设计名称: 姓 名: 设计显示弹球的程序 学 号:
专业班级: 学 院:
设计时间: 设计地点:
指导教师评语:
成绩:
指导教师签字:
年 月 日

《软件设计基础-VB》课程设计报告

2
页,共
14



1.课程设计目的···································· ···································· ···································· 2.课程设计任务与要求 ································ ································ ······························· 3.课程设计说明书··································· ··································· ·································· 4.课程设计成果···································· ···································· ···································· 5.程序调试过程···································· ···································· ···································· 6.设计问题的不足和改进方案 ···························· ···························· ··························· 7.课程设计心得···································· ···································· ···································· 8.附录 ·········································· ········································· ········································· 9.参考文献······································· ······································· ······································

游戏24点课程设计报告

游戏24点课程设计报告 一.题目: 分析类: 计算24点:任意输入4位数字,利用+,-,*,/四则运算使之得到结果 24。输出所有不同算法的计算表达式,可为运算优先级而使用括号。 二.问题分析: 1.全面性: 此问题要求输出结果为24的计算表达式,并且要求输出要全面,我考虑用for循环与递归实现遍历来保证输出的全面性,考虑到递归的‘一归到底',每一次完整递归都代表一种算法(详情见算法)。 2.输出的判定和四位数字的类型: 在输出的时候对最后结果等于24的判别,因为考虑到有除法,有可能中途结果可能会出现不能整除的情况与小数,所以输出的四个数都设为float型,且输出判定的时候用近似判定法,而不直接写让最后结果等于24(详情见算法)。 3.重复性: 如果用循环与递归保证了输出24的表达式的全面性,但不可避免的会出现重复,才开始我想在遍历与递归时,加一些限定条件来消除重复但是这样做不但会出错,还不能保证它的输出全面性。于是我想在输出的时候加限定条件,使重复的只输出一遍。 但是对于输入的那4位数字中如果有重复的话,程序结果还是会出现重复的,此问题尚未解决.(详情见算法)。 4.括号问题的处理: 对于括号问题,我规定对每一步的计算表达式,除了*之外,+,-,\都加上括号,即让程序按自己规定的方向执行,输出的括号只是让人能看懂,其实在运算时不起作用(详情见算法)。 5.输出: 输出方面我以为用了遍历所以在每一层遍历都把运算表达式存到一个较大的数组中,在输出的时候如果满足输出条件(在遍历时纪录每次递归的第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符),就直接把那个数组里的内容输出,遍历会直接去寻找表达式里的表达式(详情见算法)。 三.算法描述(源代码里有更详尽解释): 1.主要方法: 遍历与递归。 2.主要思路: 把输入的四个数放在一个数组n[4]中,然后任取其中任意两个(不能取同一个--既不能出现自己和自己运算的情况),然后用一个for和一个switch语句来实现这两个数的加减乘除运算,然后把运算的结果放到另一个数组b[4]中并记录此运算的表达式(放到一个大一点的数组tm[4][25]中),同时把其他两个没用到的数也放到该数组中,然后重复以上过程(用遍历实现),最后先判定是不是最后一层运算,是的话在判定最后结果是不是等于24,等于24的话就把那个纪录运算式的数组输出。然后考虑到不能出现重复的(例如:1*2*3*4和2*4*3*1等等)我在遍历的同时记录了第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符,对输出的时候做限定(例如:对运算符全*的只输出一遍等等)。在有一次输出后我还定义了另外两个数组用来分别保存上一次输出的第一次运算的结果,第一次运算的运算符,第二次运算的结果,第二次运算的运算符和第三次运算的运算符,来解决重复输出的问题,不过此种做法有可能导致输出的时候不全。(此问题尚未解决)即还不能同时保证全面性与不重复性。 3.主要函数与数组:

软件工程课程设计报告

软件工程课程设计报告( 2015 -- 2016 学年第一学期) 课程名称:软件工程课程设计 题目:学生宿舍管理系统 院系:控制与计算机工程学院 班级: 组号: 组长: 组员: 指导教师: 设计周数:两周 小组成绩: 日期:2016 年1月8日

《软件工程》课程设计 任务书 一、目的、要求 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编 码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose,并将其运用于软件开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、主要内容 1.运用面向对象方法进行校园宿舍管理系统的需求分析与设计; 2.建模语言采用UML,以Rational Rose为建模工具,进行系统的静态建模和动态建模; 3.利用对象模型自动生成数据模型,自动建立数据库; 4.使用hibernate技术以面向对象的方式编程管理数据库,前端使用html+css结合javaScript 进行设计,后台逻辑采用java来实现,整个系统采用了ssh框架来实现,使得各个模块低耦 合,分层明确,提高了代码的重用以及二次开发; 5.撰写课程设计报告。 三、任务分配

四、进度计划 五、设计成果要求 1.建立系统分析模型与设计模型; 2.初步建立系统原型,实现关键的功能; 3.编写课程设计报告。 六、考核方式 1.系统演示及讲解 占50%。 2.设计报告 占50%。 指导教师: 日期:2015 年12 月25 日

数电课程设计报告 乒乓球游戏设计

电子线路综合设计 乒乓球比赛模拟及计分器设计 2014年6月

摘要 在信息社会高速发展的今天,数字电路芯片已经实现高度集成化,并逐步渗透到医学、计算机等各个领域,对人类的生活有着深远的影响。本设计采用基本门电路以及74LS系列芯片的搭建,以multisim 12.0软件为平台进行仿真,实现了对乒乓球游戏的模拟。主要解决的问题有: (1)模拟乒乓球的轨迹:用双向移位4位寄存器74194以及基本门电路实现;(2)球速的调节:利用555电路实现; (3)球被击中、犯规的判断; (4)计数器的使用:采用74LS90和74LS161的组合,给玩家计分; (5)关于比分的显示:通过CD4511译码芯片将计数器的输出状态显示到2位共阴极数码管上。 关键词:双向移位4位寄存器、555电路、译码电路、计数器系统

目录 1 设计任务 (1) 2 电路整体设计 (2) 2.1 译码显示电路设计 (4) 2.2 555定时器组成脉冲发生器 (5) 2.3模拟乒乓球电路的设计 (6) 3 电路整体性能的检测 (7) 3.1 译码显示电路的检测 (7) 3.2 脉冲发生器电路的检测················································································· 3.3模拟乒乓球电路的检测··················································································4实验结论····················································································································5课程设计心得体会以及建议····················································································6 Abstract ······················································································································7附录(包含元器件清单以及各元器件功能表) ······················································8参考文献····················································································································

软件体系结构与设计模式期末复习

体系结构期末复习 一、选择题 (一) 1. 设计模式的基本原理是( C ) A. 面向实现编程 B. 面向对象编程 C. 面向接口编程 D. 面向组合编程 2. 设计模式的两大主题是( D ) A. 系统的维护与开发 B. 对象组合与类的继承 C. 系统架构与系统开发 D. 系统复用与系统扩展 3. 依据设计模式思想,程序开发中应优先使用的是( A )关系实现复用。 A. 组合聚合 B. 继承 C. 创建 D. .以上都不对 4. 关于继承表述错误的是( D ) A. 继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。 B. 泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过 附加属性和方法来进行实现的扩展。 C. 破坏了封装性,因为这会将父类的实现细节暴露给子类。 D. 继承本质上是“白盒复用”,对父类的修改,不会影响到子类。 5. 常用的设计模式可分为( A ) A. 创建型、结构型和行为型 B. 对象型、结构型和行为型 C. 过程型、创建型和结构型 D. 抽象型、接口型和实现型 6. “不要和陌生人说话”是对( D )设计原则的通俗表述。 A. 接口隔离 B. 里氏代换 C. 依赖倒转 D. .迪米特法则 7. 在适配器模式中,对象适配器模式是对( A )设计原则的典型应用 A. 合成聚合 B. 里氏代换 C. 依赖倒转 D. .迪米特法则 8. 将一个类的接口转换成客户希望的另一个接口,这句话是对(C)设计模式的描述 A. 策略模式 B. 桥接模式 C. 适配器模式 D. 单例模式 9. 以下设计模式中属于结构模式的是( D ) A. 观察者模式 B. 单例模式 C. 策略模式 D. 外观模式 10. 以下不属于对象行为型模式是( D ) A. 命令模式 B. 策略模式 C. 访问者模式 D. 桥接模式 11. 下面的类图表示的是哪个设计模式( D ) A. 抽象工厂模式 B. 观察者模式 C. 策略模式 D. 桥接模式

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

《软件体系结构》大作业(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】采用的是抽象方法模式

软件工程课程设计报告

软件工程课程设计报告样式 山东建筑大学计算机科学与技术学院 课程设计说明书 题目:学校教材订购系统的分析和设计 课程:软件工程 院(部):计算机科学与技术学院 专业:软件测试 班级:软测143 学生姓名:冯岩 学号:20141113088 指导教师:王宜贵 完成日期:

目录 课程设计任务书 (36) 1. 系统概述 (39) 1.1业务流程描述 (39) 1.2 业务流程图..................................................................................... 错误!未定义书签。2.系统需求分析.......................................................................................... 错误!未定义书签。 2.1 系统用例模型.................................................................................. 错误!未定义书签。 2.2 系统类图模型............................................................................ 错误!未定义书签。 2.3 系统顺序图模型........................................................................ 错误!未定义书签。 3. 系统设计.................................................................................................. 错误!未定义书签。 3.1 系统结构设计................................................................................. 错误!未定义书签。 3.2 数据库概念模型设计..................................................................... 错误!未定义书签。 3.3 数据库物理模型设计..................................................................... 错误!未定义书签。 4. 系统详细设计.......................................................................................... 错误!未定义书签。 4.1学校教材订购系统界面设计.......................................................... 错误!未定义书签。 4.2 销售系统处理............................................................................... 错误!未定义书签。 4.3 输入设计....................................................................................... 错误!未定义书签。 4.4 采购系统处理............................................................................... 错误!未定义书签。 4.5 设计............................................................................................... 错误!未定义书签。 4.6 输出设计....................................................................................... 错误!未定义书签。总结 .. (43) 参考文献 (45) 课程设计指导教师评语 (46)

《软件设计模式》教学大纲

《软件设计模式》教学大纲 一、课程说明 1、课程编号: 2、课程名称(中/英文):软件设计模式/Software Design Patterns 3、课程类别:专业课/限选 4、学时/学分:32/2.0 5、先修课程:Java面向对象程序设计、软件工程 6、适用专业:软件工程,计算机科学与技术,信息管理与信息系统 7、教材、教学参考书: [1]刘伟.Java设计模式.北京:清华大学出版社,2018. [2]刘伟.设计模式实验及习题解析.北京:清华大学出版社,2018. [3]ErichGamma,RichardHelm,RalphJohnson,JohnVlissides.DesignPatte rns:ElementsofReusableObject-OrientedSoftware.Addison-Wesley,199 5. [4]结城浩.图解设计模式.北京:人民邮电出版社,2016. [5]秦小波.设计模式之禅(第2版).北京:机械工业出版社,2014. [6]陈臣,王斌.研磨设计模式.北京:清华大学出版社,2010. 二、课程性质和教学目的 《软件设计模式》是软件工程、计算机科学与技术、信息管理与信息系统等专业本科生的一门专业课,本课程是一门具有较强理论性和实践性的软件设计和开发类课程。 本课程主要学习软件设计模式基础知识、UML类图、面向对象设计原则、常用的创建型设计模式、结构型设计模式和行为型设计模式。本课程要求学生掌握常用软件设计模式的动机、定义、结构、实现、使用效果以及应用实例,能够将所学知识应用到实际软件项目设计与开发中,进一步培养学生的工程实践能力和专业技术水平,为今后从事相关工作奠定基础。 本课程首先学习软件设计模式的基本知识和UML类图;接着介绍常见的七个面向对象设计原则;然后重点介绍使用频率较高的软件设计模式,包括五种创建型设计模式(简单工厂模式、工厂方法模式、抽象工厂模式、原型模式、单例模式)、六种结构型设计模式(适配器模式、桥接模式、组合模式、装饰模式、外观模式、代理模式)和七种行为型设计模式(职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式、模板方法模式)。此外,为了帮助学生深入理解所学知识,提高实践动手能力并将所学知识应用于解决实际问题,本课程设置了相应的实践环节,针对具体问题合理选择设计模式,绘制相应的模式结构图并使用代码实现

软件工程课程设计报告

软件工程课程设计报告题目:校园小商品交易系统 一、实验题目 (2) 二、实验目的 (2) 三、实验要求 (3) 四、实验内容 (3) 五、系统设计文档 (4) 5.1需求分析 (4) 5.1.1对系统综合要求 (4)

5.1.2系统的数据要求 (4) 5.2总体设计 (5) 5.2.1系统总体用例图 (5) 5.2.2商品管理用例图 (5) 5.2.3用户信息用例图 (6) 5.2.4商品交易用例图 (6) 5.3详细设计 (6) 5.3.1系统类图以及类之间关系图 (6) 5.3.2由需求分析阶段以及类之间关系的设计分析可以得到系统 对应事件流 (7) 5.3.3系统数据库表 (11) 5.3.4系统组件图 (11) 5.3.5系统部署图 (12) 六、心得体会 (13) 一、实验题目 校园小商品交易系统 二、实验目的 通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。熟练掌握软件工程面向对象建模的总体方法。

三、实验要求 1.一人一组。 2.熟悉Rose开发环境。 3.掌握UML的基本模型元素(如角色、用例、类等)。 4.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Object diagram(对象图,Rose中没有)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)。 5.完成对系统的建模。 6.周五上机检查,并提交设计报告。 7.集中上机时间不能迟到、早退。 8.请自觉维护实验室清洁,爱护实验设备。 四、实验内容 运用UML统一建模语言建立一个校园小商品交易系统。开发软件为ROSE,最后转换为VB代码。该系统主要的基本要求和功能如下: 包含三类用户:管理员、商品发布者、普通用户、访客。 (1)向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改、统计。商品信息添加、修改、删除、查找、统计。 (2)向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自身信息修改。商品信息发布,自身商品信息统计。查找浏览其他商品。 (3)向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定购商品。 (4)向访客提供以下功能:商品浏览、查找、获知商家联系方式。

算24点小游戏

研究生课程论文 课程名称C++面向对象程序设计 授课学期2013 学年至2014 学年 第一学期 学院电子工程学院 专业电子与通信 学号 姓名 任课教师 专题算24点小游戏 交稿日期2014年01月10日 成绩 阅读教师签名 日期 广西师范大学研究生学院

目录 1 引言 (2) 1.1 设计任务与要求 (2) 1.2 设计目的 (2) 1.3 C++面向对象语言简介 (2) 2 C++课程设计原理及方案选择 (3) 2.1 概述 (3) 2.1.1 方案设计与论证 (3) 2.2 二十四点游戏的原理 (4) 2.2.1 主函数设计 (4) 2.2.2 子函数的设计 (4) 2.2.3 类体的设计 (5) 3 程序流程及演示 (6) 3.1 程序流程图,程序清单与调用关系 (6) 3.2 程序 (7) 3.3 运行结果 (9) 4 结论 (10)

1引言 随着网络技术的发展,小游戏在网络发展如火如荼。二十四点小游戏是一个不仅能放松认得神经而且益智的趣味小游戏。对于21世纪的今天,作为一个社会工作者来说,面对日益剧烈的竞争,工作压力都是很大的,为了释放压力就需要一个很好的减压平台,那么网络上的小游戏首当其冲,24点小游戏受到了欢迎。 1.1设计任务与要求 题目要求在输入4个数后,程序对这个4个数进行运算,若能计算出结果等于24,即输出运算过程。目标是在输入四个数之后,先进行全排列,然后进行全运算,从而最终得到结果以输出。 1.2设计目的 本次设计的目的就是在掌握c++编程语言和visual c++编译软件的基础上。完成一个算24的小游戏程序设计,在系统提示下输入4个数后,程序对这4个数进行运算,若能计算出结果等于24,即输出运算过程。程序设计目标很明确,在输入4个数之后,先进行全排列,然后进行全运算,重而得到最终结果输出。 1.3C++面向对象语言简介 C++是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。其编译器比目前其他计算机语言的编译技术更复杂。类是C++中十分重要的概念,它是实现面向对象程序设计的基础。类是所有面向对象的语言的共同特征,所有面向对象的语言都提供了这种类型。一个有一定规模的C++程序是由许多类所构成的。 C++支持面向过程的程序设计,也支持基于对象的程序设计,又支持面向对象的程序设计。以后我们将介绍基于对象的程序设计。包括类和对象的概念、类的机制和声明、类对象的定义与使用等。这是面向对象的程序设计的基础。基于对象就是基于类。与面向过程的程

软件设计模式及其使用

龙源期刊网 https://www.360docs.net/doc/af2618473.html, 软件设计模式及其使用 作者:罗兴荣 来源:《数字技术与应用》2013年第04期 摘要:在计算机软件快速发展的今天,软件设计模式在计算机程序设计的运用中越来越重要。软件设计模式按其完成工作的种类可分为了创建型的模式、结构型的模式以及行为型的模式。在实际应用中根据分析研究问题的结果选择和使用合适的软件设计模式。 关键词:软件设计设计模式模式分类模式选择模式使用 中图分类号:P631 文献标识码:A 文章编号:1007-9416(2013)04-0194-01 关于模式这个概念,最早的时候是在城市建筑领域当中出现的,而Christopher Alexander[1]所写的一本关于建筑的书中对模式这一概念有明确的定义,其大概含义是说每一个模式都是描述我们周围发生的事情,并对发生的问题进行合理的解释,使得利用这个模式就可以重复的解决类似的问题。Christopher Alexander利用他所得出的模式这个概念解决了建筑领域中的一些问题,模式这一概念发展到现在,已经逐渐成为计算机领域当中独有的概念了。 1 软件设计模式分类 对软件设计模式的分类有许多不同的方法,在这里主要是根据模式在计算机软件设计中能够完成何种种类的工作来决定的,大致可以分为创建型的模式、结构型的模式以及行为型的模式这三种类型。而当模式运用于不同因素的时候又可以分为不同的类型,运用于类的时候可以分为类模式,运用于对象的时候可以分为对象模式。所谓类模式就是处理系统中的类与子类之间关系的模式,这些关系可以通过继承的形式来建立,静态的类模式在进行编译的时候便要确定下来;所谓对象模式,就是处理对象之间关系的模式,这些关系在系统运行的时候是能够不断变化的,所以对象模式是动态的模式。 第一,创建型的软件设计模式。创建型的设计模式是和对象的创建有着十分必然的关系,也就是说,在描述创建对象的时候,要将对象创建过程的具体细节进行隐藏设计,使得系统程序代码能够不依赖具体的对象。所以当我们需要在系统中增加一个新的对象的时候,是不需要修改系统的源代码的。创建型的类模式需要将对象当中的部分在子类当中进行延迟性的创建工作,而创建型的对象模式则是将对象的部分在另一个对象中进行延迟性的创建。 第二,结构型的软件设计模式。结构型的软件设计模式是处理类的和处理对象的设计模式的组合形式,也就是能够描述类与对象之间的大的结构如何组建起来,并且在组建之后还能够拥有新的功能的一种模式。结构型的类模式是采用继承性的机制来对类进行组合。而结构型的对象模式则是能够描述对象之间的组装方式。

相关文档
最新文档