个人网店及手机客户端设计与开发课程设计.doc_第1页
个人网店及手机客户端设计与开发课程设计.doc_第2页
个人网店及手机客户端设计与开发课程设计.doc_第3页
个人网店及手机客户端设计与开发课程设计.doc_第4页
个人网店及手机客户端设计与开发课程设计.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计 算 机 与 信 息 工 程 学 院软硬件专业综合课程设计总结报告题目: 个人网店及手机客户端设计与开发 姓 名: 学 号: 专 业: 指导教师: 起止日期: 12.11.2613.01.20 计 算 机 与 信 息 工 程 学 院软硬件专业综合课程设计任务书实践题目个人网店及手机客户端设计与开发学生姓名班级学号指导教师职称实践地点计算机基础实验室实践日期2012年11月26日起至2013年1月20日选题的目的:随着信息化的进一步普及,以及物流业务的发展使得人们坐在家中即可货比三家,从互联网中找到自己心仪的商品,而且不必再考虑拥堵的交通,业务员喋喋不休的推销,往往在转悠了一天后才能选到自己认为还算满意的商品,而在电子商城中,人们通过检索可以轻易找到自己想要产品的型号,大小,价位,可以在成千上万中商品中间挑选,对比;并且网络的评价功能,销售指数的公开,卖家信誉指数等都可成为买家购买商品参考的信息。技术要求:1、 系统要求利用php开发工具,结合 mySql数据库,采用B/S架构2、 客户端使用Xcode工具,利用Objective-C语言,采用C/S架构;3、系统的主要功能有:(1)后台管理包括:商品管理、商品评论管理、商品类别管理、订单管理、会员管理、公告管理;(2)前台功能包括:查询商品、评论商品、购物车管理、下发订单、查询订单、个人地址薄管理、会员注册登录、个人信息修改。进度安排:2012年11月26日2012年12月09日 可行性研究、需求分析2012年12月10日2012年12月23日 总体设计2012年12月24日2013年01月06日 详细设计2013年01月07日2013年01月13日 系统调试、测试2013年01月14日2013年01月18日 撰写实训报告2013年01月19日2013年01月20日 验收主要参考资料:1(美)Stephen G.Kochan 著张波 黄湘琴等译.Objective-2.0程序设计(原书第二版).机械工业出版社,2011 3 施威铭.SQL Server2000中文版设计实务M. 北京:人民邮电出版社, 2001.4 张龙祥.UML与系统分析设计(第二版) M. 北京:人民邮电出版社, 2007.教师签名: 年 月 日目 录1 引言12 需求分析12.1 数据流图12.2 数据字典23 系统设计43.1 系统架构设计43.2 系统功能模块划分43.3 系统数据库设计54 系统实现74.1 前台功能74.1.1 会员注册登录74.1.2 商品展示94.1.3 商品搜索104.1.4 商品评论114.1.5 网站公告124.1.6 个人信息更改124.1.7 地址簿管理134.1.8 订单明细查询144.1.9 购物车管理164.2 后台功能174.2.1 用户登录与后台管理174.2.2 商品管理184.2.3 商品类别管理194.2.4 商品评论管理194.2.5 网站公告管理204.2.6 订单管理214.2.7 会员档案管理214.2.8 管理员密码修改225 系统测试235.1 测试基本要求235.1.1 内容检查235.1.2 链接检查235.1.3 易用性测试235.1.4 功能检查235.1.5 容错性测试245.2 测试举例245.2.1 输入域测试245.2.2 页面控件检查255.2.3 功能测试256 总结277 参考文献2701 引言随着信息化的进一步普及,以及物流业务的发展使得人们坐在家中即可货比三家,从互联网中找到自己心仪的商品,而且不必再考虑拥堵的交通,业务员喋喋不休的推销,往往在转悠了一天后才能选到自己认为还算满意的商品,而在电子商城中,人们通过检索可以轻易找到自己想要产品的型号,大小,价位,可以在成千上万中商品中间挑选,对比;并且网络的评价功能,销售指数的公开,卖家信誉指数等都可成为买家购买商品参考的信息。现在正是移动互联网处于起步发展阶段,智能机的普及,是人们可以随时随地通过手机在网络上挑选自己的商品,卖家也可以随时随地只用一部手机即可及时处理与买家的沟通,不必时时刻刻等在电脑旁边,将电子商城和手机客户端结合之后可以提高卖家的工作效率,方面买家抢购自己心仪的商品,市场前景非常明朗。网上购物是一个电子商务平台。对于消费者来说,可以在家“逛商店”,订货不受时间的限制;获得较大量的商品信息,可以买到当地没有的商品;网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫; 从订货、买货到货物上门无需亲临现场,既省时又省力;由于网上商品省去租店面、召雇员及储存保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。对于商家来说,网上购物是宣传企业形象的一种强有力的手段,是一种廉价高效的方式。其优势在于发布信息及时、准确,图文并茂,及时刷新。任何新登商品和促销、广告信息都可以在第一时间呈现在消费者面前。消费者与商家之间可以实现及时互动,商家可以了解到市场的最新需求。对于整个市场经济来说,这种新型的购物模式可在更大的范围内、更多的层面上以更高的效率实现资源配置。2 需求分析本系统总体目标是为了实现产品的随时随地在线购物。通过系统实现网上购物的多项功能,其中主要是管理员对商品的管理实现和用户的购物的实现。用户在线浏览所有商品,按需求搜索相关商品,以及注册为会员后对商品选购的操作,购物结束后生成订单。管理员则可对商品的添加,对商品的归类,对用户购物订单进行处理,以及管理员对网站进行维护操作。2.1 数据流图数据流图(DFD-Data Flow Diagram)是描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况,就是采用图形方式来表示系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。1、系统顶层数据流图(如图2-1所示)。图2-1 顶层数据流图2、会员子系统数据流图(如图2-2所示)。 图2-2 会员子系统数据流图 图2-3 管理员子系统数据流图3、管理员子系统数据流图(如图2-3所示)。2.2 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。一般说来,数据字典应该由下列四类元素构成:数据元素,数据流,数据存储和数据处理。数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。本系统所涉及到的数据存储表如表2-1至表2-9所示。表2-1 数据存储之会员信息表名字会员信息表描述记录用户在购物网站的注册信息组成会员编号,邮箱地址,会员密码,会员真实姓名表2-2 数据存储之管理员信息表名字管理员信息表描述记录购物网站后台管理员的信息组成管理员编号,管理员名,管理员密码表2-3 数据存储之商品信息表名字商品信息表描述记录购物网站的所有商品信息组成商品编号,商品名,商品类别编号,商品描述,商品市场价,商品会员价,商品售出量,商品图片,商品浏览量,商品发布时间表2-4 数据存储之商品类别信息表名字商品类别信息表描述记录购物网站的所有商品的二级类别信息组成商品类别编号,商品类别名,父类别编号表2-5 数据存储之商品评论信息表名字商品评论信息表描述记录购物网站会员对商品的评论信息组成评论编号,商品编号,评论人,评论级别,评论内容,评论时间表2-6 数据存储之订单信息表名字订单信息表描述记录购物网站会员所下发的订单信息组成编号,邮箱地址,地址编号,订单总价,订单时间,订单状态,邮寄类型,订单号表2-7 数据存储之地址簿信息表名字地址簿信息表描述记录购物网站会员的商品邮寄地址信息组成地址编号,邮箱地址,收货人,邮寄地址,邮政编码,联系方式表2-8 数据存储之网站公告信息表名字网站公告信息表描述记录购物网站的公告信息组成公告编号,公告标题,公告内容,公告来源,公告浏览次数,公告发布时间表2-9 数据存储之购物车信息表名字购物车信息表描述记录购物网站顾客所购买的商品信息组成通过SqlProvider将购物车保存在微软提供的aspnetdb数据库的Profile表3 系统设计3.1 系统架构设计本系统采用三层架构设计,将整个业务应用划分为表示层、业务逻辑层、数据访问层三层。数据访问层DAL:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分。业务逻辑层BLL:业务逻辑层承上启下,用于对上下交互的数据进行逻辑处理,实现业务目标。表示层UI:主要实现和用户的交互,接收用户请求或返回用户请求的数据结果的展现,而具体的数据处理则交给业务逻辑层和数据访问层去处理。三层架构是将系统按其作用分成三部分,每部分解决自己负责的流程。三层架构的功用之处,在于驾驭大型web程序的结构,使之便于管理和扩展。3.2 系统功能模块划分系统功能模块图如图3-1所示。图3-1 系统功能模块图3.3 系统数据库设计本系统采用SQL Server 2005建立和维护数据库,系统中共有两个数据库:商城数据库(B2C)和微软实例数据库(aspnetdb)。它们的任务分别为:存储商品信息、商品类型信息、商品评论信息、订单信息、订单详情信息、订单状态信息、会员信息、地址薄信息、管理员信息、公告信息;存储购物车信息。电子商城数据库包含以下10个表:商品表(Commodity)、商品类型表(CommodityType)、商品评论表(CommodityComment)、会员表(Users)、地址薄表(Address)、订单表(Orders)、订单详情表(OrderDetail)、订单状态表(OrderState)、管理员表(Admin)、公告表(News)。(1)会员表(Users)用于记录会员的基本信息,包括会员编号、邮箱地址、会员密码、真实姓名。其中会员编号为主键。会员表结构如图3-2所示。图3-2 会员表(2)地址薄表(Address)用于记录会员所购买商品的配送地址信息,包括地址编号、邮箱地址、收货人、邮寄地址、邮政编码、联系方式。其中地址编号为主键。地址薄表结构如图3-3所示。图3-3 地址薄表(3)管理员表(Admin)用于记录后台管理员的基本信息,包括管理员编号、管理员名、管理员密码。其中管理员编号为主键。管理员表结构如图3-4所示。图3-4 管理员表(4)公告表(News)用于记录网站的公告信息,包括公告编号、公告标题、公告内容、公告来源、公告浏览量、公告发布时间。其中公告编号为主键。公告表结构如图3-5所示。图3-5 公告表(5)商品表(Commodity)用于记录购物网站的商品信息,包括商品编号、商品名、商品类型编号、商品描述、商品市场价、商品会员价、商品售出量、商品图片、商品浏览量、商品发布时间。其中商品编号为主键。商品表结构如图3-6所示。图3-6 商品表(6)商品类型表(CommodityType)用于记录商品的类别信息,包括商品类型编号、商品类型名、父类型编号。其中商品类型编号为主键。商品类型表结构如图3-7所示。图3-7 商品类型表(7)商品评论表(CommodityComment)用于会员对商品的评论信息,包括商品评论编号、商品编号、评论人、评论级别、评论内容、评论时间。其中商品评论编号为主键。商品评论表结构如图3-8所示。图3-8 商品评论表(8)订单状态表(OrderState)用于记录订单的状态信息、包括订单状态编号、订单状态名。其中订单状态编号为主键。订单状态表结构如图3-9所示。图3-9 订单状态表(9)订单表(Orders)用于记录会员在购物网站所下发订单信息,包括订单编号、订单人、地址编号、订单总价、订单时间、订单状态、邮寄类型、订单号。其中订单编号为主键。订单表结构如图3-10所示。图3-10 订单表(10)订单详情表(OrderDetail) 用于记录每个订单的详细购物信息,包括订单详情编号、订单号、商品编号、商品购买量。其中订单详情编号为主键。订单详情表结构如图3-11所示。图3-11 订单详情表4 系统实现4.1摇号抽奖代码实现:AppDelegate.h#import interface AppDelegate : UIResponder BOOL isRuning;property (strong, nonatomic) UIWindow *window;endAppDelegate.m#import AppDelegate.himplementation AppDelegatesynthesize window = _window;- (void)dealloc _window release; super dealloc;- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions self.window = UIWindow alloc initWithFrame:UIScreen mainScreen bounds autorelease; UILabel * myLable = UILabel allocinitWithFrame:CGRectMake(0, 20, 320, 320); myLable.tag = 101; myLable.text = 0; myLable.font = UIFont systemFontOfSize:66; myLable.textAlignment = UITextAlignmentCenter; myLable.backgroundColor = UIColor yellowColor; myLable.textColor = UIColor blackColor; self.window addSubview:myLable; myLable release; UIButton * startButton = UIButton buttonWithType:UIButtonTypeRoundedRect; startButton setTitle:开始 forState:UIControlStateNormal; startButton.frame= CGRectMake(20, 300, 120, 120); self.window addSubview:startButton; startButton addTarget:self action:selector(startCount:) forControlEvents:UIControlEventTouchUpInside; UIButton * stopButton = UIButton buttonWithType:UIButtonTypeRoundedRect; stopButton.frame = CGRectMake(180, 300, 120, 120); stopButton setTitle:停止 forState:UIControlStateNormal; self.window addSubview:stopButton; stopButton addTarget:self action:selector(stopCount:) forControlEvents:UIControlEventTouchUpInside; / Override point for customization after application launch. self.window.backgroundColor = UIColor whiteColor; self.window makeKeyAndVisible; return YES;-(void)startCount:(id)sender NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:selector(changeNumber) userInfo:nil repeats:YES; isRuning = true; -(void)changeNumber UILabel *myLable =(UILabel *) self.window viewWithTag:101; if(isRuning = true) int number = arc4random()%42+1; myLable.text = NSString stringWithFormat:%d,number; -(void)stopCount:(id)sender isRuning = false;main.m#import #import AppDelegate.hint main(int argc, char *argv) autoreleasepool return UIApplicationMain(argc, argv, nil, NSStringFromClass(AppDelegate class); 4.2 收益计算器代码实现AppDelegate.h#import interface AppDelegate : UIResponder UILabel * screen; int result; char sign;property (strong, nonatomic) UIWindow *window;endAppDelegate.m-(void)press:(UIButton * )thisButton NSMutableString * title = NSMutableString allocinitWithString:screen.text; /UIButton * theButton = (UIButton*)self.window viewWithTag:thisButton.tag; NSString * title1 =NSString allocinitWithString: thisButton.currentTitle; int sum = title intValue; if(title1 isEqualToString:+) result = sum; title setString:0; sign = +; else if(title1 isEqualToString:-) result = sum; title setString:0; sign = -; else if(title1 isEqualToString:*) result = sum; title setString:0; sign = *; else if(title1 isEqualToString:/) result = sum; title setString:0; sign = /; else if(title1 isEqualToString:0) if(sum != 0) title appendFormat:0; else title setString:0; else if(title1 isEqualToString:C) sum = 0; result = 0; title setString:0; sign = ; else if (title1 isEqualToString:=) if(sign = +) result += sum; else if(sign = -) result -= sum; else if(sign = *) result *= sum; else if(sign = /) result /=sum; else result = sum; title = NSMutableString allocinitWithFormat:%d,result; else if(sum != 0) title appendFormat:title1; else title setString:title1; screen.text = title;- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions self.window = UIWindow alloc initWithFrame:UIScreen mainScreen bounds autorelease; screen = UILabel allocinitWithFrame:CGRectMake(10, 25, 300, 40); screen.backgroundColor = UIColor lightGrayColor; screen.text = 0; self.window addSubview:screen; screen release; screen.textAlignment = UITextAlignmentRight; UIButton *button; for(int i=0;i4;i+) for(int j=0;jaXaX=aXa,x=aXaX=aX=aXaX=aXaXaXaX=aAxbAxbXbA=x=bAxb,x=a,x=bXb输入区间a,bAb,a不合法,b不合法满足条件PP=trueP=false不满足条件PP=falseP=true满足条件P1&P2&P3P1=true&P2=true&P3=trueT1=false,T2=false,T3=false满足条件P1P2P3P1=true,P2=true,P3=trueP1=false,P2=false,P3=false5.2.2 页面控件检查页面控件检查如表5-2所示:表5-2 控件检查表控件测试用例RadioButton所有不同选择。控件/输入域组合如果控件/输入域之间具有逻辑关系,则需要测试每种组合;如果控件/输入域之间没有逻辑关系,单独测试。操作顺序正常顺序,非正常顺序5.2.3 功能测试1、前台功能测试如表5-3所示:表5-3 前台功能测试表前台部分A01会员注册已注册用户再注册会显示用户名相同新用户注册检查用户填写的各项信息注册成功后进入个人中心A02会员登录刚注册用户登录显示登录成功或失败的消息老用户正常登录未注册用户登录密码错误A03商品展示排列是否正常能否正常刷新商品信息是否显示正常A04购物车管理能否添加商品到购物车购物车中商品信息显示是否正常能否删除购物车中商品已删除商品是否还在购物车中显示能否修改购物车中商品数量能否结账A05商品搜索搜索已存在的商

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论