《Android项目开发实训》项目总结报告新

发布时间:2017-07-05 22:08:08

课程设计

小组报告

课程名称: 软件系统课程设计

校内方向: 移动互联方向

设计名称: xxxxxxxxx系统

专业班级:软件1408 学号: 2014001684

组长姓名:

组员姓名:

指导教师: 孙静宇

2017 07 06



   

任务...................................................0

第一章 要设计说明书 1

第二章 需求分析说明书 3

2.1 项目背景 3

2.2 项目目的 3

第三章 相关技术 7

3.1 Adnroid平台介绍 7

3.2 关键技术研究 8

第四章 概要设计 10

4.1 系统体系结构 10

4.2用户界面设计 11

第五章 详细设计 12

5.1 添加闹铃功能模块 12

第六章 测试报告 19

太原理工大学课程设计任务书

学生姓名

李三

专业班级

软件1408

课程名称

应用软件方向综合课程设计

设计名称

Xxxxx系统

设计周数

2

设计

任务

主要

设计

内容

根据选定题目填写例如

1.搭建xxxx环境;

2.按照….进行分组,选择..设计题目

3.开发成绩查询、等三个功能;

设计要求

根据选定题目填写例如

1. 开发、设计与运行环境要求:Tomcat7.0JDK1.7,….等;

2. 完成3-5以上功能点;

3. 进行模块测试、系统测试、编写设计文档;

主要参考

参考书籍及文章:

1,作者2.书名[M].出版社名.出版年

作者1,作者2..文章标题[J].出版物名称.出版年,():初始页码-终止页码.

学生提交

归档文件

项目小组必须提交一份完整的项目技术说明文档(纸质版和电子版),文档内容必须包含《需求分析说明书》、《概要设计说明书》、《详细设计说明书》、《源程序》、《测试计划》、《测试报告》与《项目开发计划》等部分。每一位同学应提交一份开发日志,详细记录课程设计过程中出现的问题、解决方案及课程设计心得

注:1.课程设计完成后,学生提交的归档文件应按照:封面任务书说明书图纸的顺序进行装订上交(大张图纸不必装订)

2.可根据实际内容需要续表,但应保持原格式不变。

指导教师签名 日期2017.06.26



第一章 要设计说明书

本课题要求:设计一个基于Android的休闲的软件。实现的功能有:

a) 类似于QQ的侧滑界面。

b) 模块里边有玩游戏,逛商城等娱乐项目。

c) 建立后台服务进程,可以看新闻

d)有个相册功能可以查看自己的照片

需重点研究的关键问题:如何实现界面的侧滑,点击图标后如何跳转界面,产品的介绍等。 

e)功能介绍 

1.1界面侧滑 

功能描述 

主界面类似于QQ的界面可以侧滑。

1.2玩游戏模块 

功能描述: 

点击玩游戏模块是进入游戏界面,有游戏图片和介绍 功能实现

游戏界面截图:

1.3 看新闻模块

功能描述:

可以查看热点新闻

1.4 商店模块

功能描述:可以查看商品与介绍

1.5 个人相册

功能描述:可以查看个人相片

e  概要分析 

随着第三代数字通信(3G)技术获得了广泛的接受,它为智能手机用户带来了更快的数据传输速率。智能手机不再仅是通讯网络的终端,还将成为互联网的终端。另外智能手机正一步步走进普通人的生活,这意味着智能手机将会成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,手机Web地图服务就是其中的一项,它的最大优点在于便携性好和数据的实时性。基于以上分析,设计手机地图服务具有非常好的实用意义。到目前为止,开发内嵌式地图应用的软件是相当的困难,而且往往还需要支付很高的地图厂商的版权费用,加之手机上GPS功能的不完善,导致很多可以基于当前位置来开发功能的软件少之又少。还有就是现在手机生产商众多,而且操作系统不开源,各种应用放上去非常困难。对运营商来讲,往往需要对某类手机进行单独开发,成本无形增大很多。实现开源后,与运营商结成同盟,将导致成本降低。目前,操作系统的成本占15%一20%,这对消费者是一个很大的压力,把成本降到零,这对消费者和运营商都有好处。为此,Google200711月推出了一个专为移动设备设计的软件平台——Android。它的出现打破了这些格局,还提供给普通开发者非常灵活的地图展示与控制功能。  

 Android是一个真正意义上的开放性移动设备综合平台,它包括操作系统、用户界面、中间件和一些关键的平台应用,拥有移动电话工作所需的全部软件。Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验。 

 Android平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定特色化的产品,以形成自己的竞争优势,这对于手机制造商来说,具有很强的吸引力。因此,它具有很大的市场发展潜力。



需求分析说明书

1 项目背景与可行性分析

1.1背景介绍

移动互联网时代的来临,直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。搭载安卓操作系统的智能手机目前已经成为市场上最炙手可热的智能产品。开放的源代码和零成本已经让安卓在全世界范围内受到青睐并迅速获得了主要手机厂商和数百万软件开发者的支持,2011年安卓系统的市场份额已经超过Symbian,成为全球第一大智能手机操作系统。

当今,人们越来越重视休闲娱乐,信息化的今天,人们除了吃饭,睡觉,工作,最多的时间就是消费在手中那部几英寸的智能手机上了。只要有空闲时间,亦或不是空闲的时候,手机中永远都运行着他们喜欢的应用。购物,娱乐,学习等等只要能够想到的东西,在手机中总是能找到一款属于该领域的App。在娱乐领域当中人们每天都会打开手机中的qq,微信这种直接的用于沟通交流的软件。

1.2 选题目的及意义 

选题目的:一直都希望有属于自己制作的一款app,因为自己也想从事这方面的工作。制作app的人都希望看见别人使用自己开发的应用,这是一件很有成就感的事情。在制作app的过程也是自己的一个学习的过程,只有亲手去做才知道天有多高,地有多厚,实践出真知,对自己而言既是学习的机会也是挑战。 

选题意义:打开手机应用市场,可以发现应用于娱乐休闲的应用很多,而且这些应用的趣味性也是很高,很多应用都是依靠陌生人的照片去吸引彼此。这种单方面的信息传递是缺乏内容的,因此我希望找到一种除了他们拥有的东西外,还具有自己特点的方式。不仅仅依靠美丽的外衣去博取别人的欣赏,还要利用自己的智慧和关系去拓展自己的圈子。让人们在休闲娱乐的同时也能锻炼自己的智慧,并且享受到乐趣,还能体验到不一样的应用软件。

1可行性分析 

智能手机平台之争已经进入群雄争霸的时代,新势力的不断崛起,使其不断进步。因此,对智能

手机的平台的研究与开发是当前移动计算技术发展中最为活跃的领域。 AndroidPC平台存在先天的基因联系,可以很好的实现与PC设备的信息互享,更容易获得用户的广泛认可。 

a) 技术可行性  

Android的应用都基于Java开发,Java具有一次编写、到处运行的跨平台属性,只要编写一遍程序,就能够实现在所有Android设备中运行,真正做到了硬件无关性,大幅度降低了开发者的负担。Android和操作系统进行了紧密的整合,从而可以方便地使用操作系统的功能。 

b) 经济可行性 

到目前为止,开发内嵌式地图应用的软件是相当的困难,而且还需要支付很高的地图厂商的版权费用,对运营商来讲,往往需要对某类手机进行单独开发,成本无形增大很多。实现开源后,与运营商结成同盟,将导致成本降低。目前,操作系统的成本占15%一20%,这对消费者是一个很大的压力,把成本降到零,这对消费者和运营商都有好处。为此,Google200711月推出了一个专为移动设备设计的软件平台——Android。它的出现打破了这些格局,还提供给普通开发者非常灵活的地图展示与控制功能。

c) 操作可行性 

Android是一个真正意义上的开放性移动设备综合平台,它包括操作系统、用户界面、中间件和一些关键的平台应用,拥有移动电话工作所需的全部软件。Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验。

2开发环境

2.1 Android平台 

2.2 MVC框架 

2.3 eclipse  

需求分析 

3.1用户体验需求 

一个成功的Android应用程序往往需要提供良好的用户体验。良好的用户体验体现在以下几点:       

(1) 界面友好      

用户界面要简洁直观,并且易于操作。  

(2) 快速响应      

快速处理用户的输入或请求,对于有些需要较多时问的应用程序,可以在它处理时,给用户一个提示,让用户知道程序还在运行中。  

(3) 无缝性        

Android应用程序模型的构建是能够允许用户在不同的应用程序之问进行流畅的切换。 

2.3.2功能需求 

安卓移动应用软件在人们日常生活中扮演着重要角色,它需要提供友好的、方便的用户操作界面,接收用户的各项操作转化成与之对应的命令。其功能需求主要包含以下内容: 

(1) 玩游戏功能用户能够通过游戏模块,随时进入游戏界面 

 

(2) 视图模式切换功能 逛商店的同时可以看新闻信息两种常规的视图模式,用户可以根据自己的需要选择一种。 

(3) 查看功能当手机用户点击个人相册时可以查看相片

3.3功能模块



第三章 相关技术

3.1 Adnroid平台介绍

3.1.1 Android平台结构介绍 

Android系统架构和其操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。 

开发人员可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用。任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。 

 应用程序。Android会同一些核心程序包一起发布,包括日历、地图、浏览器等。所有的应用程序均是用Java语言编写。 

 应用程序框架。这种框架可以使开发人员可以完全的访问核心程序所使用的API框架,简化了组件的使用。同时也使用户可以方便的替换程序组件。 

 系统运行库。Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。一般情况下如果要将Android移植到其他硬件去运行,只需要实现这部分代码即可。Android也包括了一个核心库,该核心库提供了Java编程语言核心库的大多数功能。 

 Linux内核。Android的核心系统服务依赖于Linux 2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。 

3.1.2 MVC框架 

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将MV的实现代码分离,从而使同一个程序可以使用不同的表现形式。 

MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。

3.2 关键技术研究

应用SQLLite数据库:SQLite提供结构化的数据存取。SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品使用了它,它占用的资源非常低。它能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如phpJava等,还有ODBC接口,同样比起MysqlPostgreSQL来讲,它的处理速度比它们都快。它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小,虽只有250KB但支持数据库大小至2TB。它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。同时它还支持事务功能和并发处理等等。SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。



第四章 概要设计

4.1 系统体系结构

系统旨在建立Android系统的闹钟,主要有如下几个核心功能模块如图5所示。

5 系统功能模块图

4.2用户界面设计

通过小组讨论用户的界面如下:

4.2.1 主页面

4.2.2 添加闹铃功能

4.2.3 音乐清单



第五章 详细设计

5.1 添加闹铃功能模块

具体实现代码如下:

/*

* Copyright (C) 2009 The Android Open Source Project

*

* Licensed under the Apache License, Version 2.0 (the "License");

* you may not use this file except in compliance with the License.

* You may obtain a copy of the License at

*

* http://www.apache.org/licenses/LICENSE-2.0

*

* Unless required by applicable law or agreed to in writing, software

* distributed under the License is distributed on an "AS IS" BASIS,

* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

* See the License for the specific language governing permissions and

* limitations under the License.

*/

package com.android.superdeskclock;

import java.text.DateFormatSymbols;

import java.util.Calendar;

import android.content.Context;

import android.database.Cursor;

import android.media.RingtoneManager;

import android.net.Uri;

import android.os.Parcel;

import android.os.Parcelable;

import android.provider.BaseColumns;

public final class Alarm implements Parcelable {

//////////////////////////////

// Parcelable apis

//////////////////////////////

public static final Parcelable.Creator CREATOR

= new Parcelable.Creator() {

public Alarm createFromParcel(Parcel p) {

return new Alarm(p);

}

public Alarm[] new(int size) {

return new Alarm[size];

}

};

public int describeContents() {

return 0;

}

public void writeToParcel(Parcel p, int flags) {

p.writeInt(id);

p.writeInt(enabled ? 1 : 0);

p.writeInt(hour);

p.writeInt(minutes);

p.writeInt(daysOfWeek.getCoded());

p.writeLong(time);

p.writeInt(vibrate ? 1 : 0);

p.writeString(label);

p.writeParcelable(alert, flags);

p.writeInt(silent ? 1 : 0);

//新增

p.writeInt(times);

p.writeInt(interval);

}

//////////////////////////////

// end Parcelable apis

//////////////////////////////



第六章 结论

经过累计一个多月的努力,基于Android平台的位置闹钟软件终于完成了。由于对Android浓厚的兴趣引发了我对JAVA的好奇心,毕竟Android是基于JAVA的,虽然这个软件的开发没有达到老师的期望值,但是在老师和同学的帮助下,我还是慢慢摸索完成了这个软件。

在这个过程中,我学会了很多知识,比如Android环境的搭建和配置问题、GPS技术和Android的构架和基本组建等等,同时我学会的最重要的一点是,要利用现有的资源去解决问题,在图书馆、在网络上寻找答案,也可以请教老师或与同学相互讨论。

虽然,这个软件目前运行良好,但是我认为代码的健壮还很差,在整个工程的构思方面也不足,用户操作界面还不够灵活,这些问题还需要今后逐一解决。与此同时,这个软件还可以进一步扩展,例如“同时设置多个闹钟”、“信息分享”、“应用推荐”等,使功能更加强大,带给用户更好的体验与便捷的生活服务。

《Android项目开发实训》项目总结报告新

相关推荐