软件设计--软件工程课程设计.doc
文本预览下载声明
软件设计
--软件工程课程设计
一、课程设计题目
Android手机用户可以通过手机浏览自己所需要查看的饭店信息。当用户注册成为本
软件的注册用户后,除了对饭店进行搜索以外还可以对饭店进行评价和利用本软件内嵌的Google Map查询饭店的具体位置和行车路线。
一.课程设计的目的
为解决基于Android美食搜索软件开发过程中出现的实际问题,特别是非数值计算类型的应用问题。本课程设计完成了一个较为完整的应用需求分析,在完成设计和编程大型作业的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;综合运用所学知识处理实际问题,强化面向对象的程序设计理念;提高程序设计与调试水平。
二.课程设计的功能
本项目采用面向对象的方法,运用Android、J2EE、数据库等现有技术,设计开发一个基于Android手机应用软件,实现传统的基于Web数据搜索系统的基本功能:
用户管理: (用户删除、密码修改)用户登录后可对现有注册用户进行管理
饭店管理: (饭店添加、查询、修改、删除)主要实现饭店的信息管理
注册用户查询:(饭菜查询、地址查询、饭店评论)主要用于用户对饭店饭菜、地址查询和饭店评论
游客查询: (饭菜查询、用户登录)主要用于游客查询
为了更加清晰地表达系统的业务功能模块,画出用例图,对于不同的角色,所承担的任务各自不同,功能不一样:
客户端游客用例图
客户端用户用例图
管理端用例图
三. 课程设计的分析步骤
应用软件的定位是一个“北京美食搜索”,是一个通过网络的搜索引擎。据以上分析,该系统的架构图如下:
根据软件功能要求,通过多种查询方式我们将数据库分为手机端数据库(SQLite)和服务器数据库(MySQL)。
手机端(SQLite)
地铁沿线 --- Subway
所有商区 --- AllCityProper
地标建筑 --- LandMark
热点地区 --- hotSpace
所有菜系 --- AllDish
热 门 菜 --- HotDish
用餐目的 --- DinnerTarget
服务器端(MySQL)
用户信息 --- User
饭店信息 --- Restaurant
饭店设施 --- RestaurantInstallation
饭店评论 --- RestaurantComment
服务项目 --- ServerItem
菜 价 --- DishPrice
由于传输的信息主要是文本信息,图片在服务器数据库中存放的是该图片的网路地址,用户在发送图片请求时服务器返回一个图片地址的网络地址然后通过网络下载图片。
在本系统中有些实体只是单独的存在,没有与其他实体的关系。但是有些实体之间存在着相互关系的,E-R图如图2-4-1所示。
数据库E-R图
四 开发环境与技术介绍
JAVA语言
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口,它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI机制也是开发分布式应用的重要手段。
Android是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆层的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。应用程序框架 支持组件的重用与替换
Dalvik虚拟机 专门为移动设备做了优化
内部集成浏览器 该浏览器基于开源的WebKit 引擎
优化的图形库 包括2D和3D图形库,3D图形库基于OpenGL ES 1.0
SQLite 用作结构化的数据存储
多媒体支持 包括常见的音频、视频和静态印
显示全部