此为本人本科阶段某课程的课程设计,内容较多,仅供参考,并不适合所有人。
因为能力有限,可能有地方有误,望以指正。
第一章 绪论
1.1 课题背景及意义
近几年来,网络事业,特别是Internet发展速度之快是任何人都始料不及的。目前、由于Internet表现出来的便捷、快速等诸多优势、已经使它成为社会各行各业、甚至是平民大众工作、生活不可缺少的一个重要组成部分。书籍交易网站就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离一样。随着科学技术得分速发展,Internet这个昔日只被少数科学家接触和使用的科研工具已经成了普通百姓都可以触及的大众型媒体传播手段。随着现今全民素质和科学技术水平的不断提高,知识更新的越来越快。人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断的学习,21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于种种原因没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客需要的书籍,这种买卖双方之间信息交流上的阻碍成为“网上书城”网站发展的原动力。
网上书城的建立可以跟好的解决这方面的问题,向广大用户推出的是一种全新的网上信息服务,旨在书店与消费者之间架起了一座高速、便捷的网上信息桥梁。随着社会的发展、线下实体店销售的方式已经不可避免的显示出它在时间、空间等方面的局限性,广大的人民群众迫切的需要打破这种局限性。在这种要求下、基于网络的电子商务产生了。它的出现不但解决了传统销售方式的缺点、而且给了广大消费者更大的选择空间、促进了图书的优化配制、有效的避免了商家的恶性竞争。所以像网上书店系统这种电子商务的发展壮大也是不可避免的。
网上书店系统作为一种典型的系统也迅速的发展并深入人们的日常生活中,它使人们足不出户就可以挑选自己喜欢的各种图书,大大缩短了人们的购物时间,提高了购物效率。网上书店系统是建立在互联网上的一种进行商务活动虚拟网络空间,是一个为商务的顺利运营提供保障的管理环境。相对于实体书店,网上书店有以下优点:营业时间不受限制、经营管理更加科学、浏览人群广泛等。其基本功能有登录注册、浏览商品、商品管理、购买商品和系统管理。
1.2 开发技术介绍
Android是一个开放源代码的移动操作系统,由Google公司领导开发团队所开发。它最初主要应用于智能手机和平板电脑等移动设备,并且现在也扩展到其他设备上,例如智能手表、智能家居、汽车信息娱乐系统等。Android操作系统提供了一系列的基础功能模块和应用程序,同时也支持开发者创建各种类型的第三方应用程序以满足用户需求。
1. Java编程语言
Android应用程序通常使用Java语言编写。Java具有简单易学、可靠性高等优点,在Android开发中得到广泛应用。Java是一种广泛使用的计算机编程语言,最初由Sun Microsystems公司于1995年推出。它是一种面向对象的程序设计语言,旨在使应用程序具有代码可重用性、跨平台性和安全性等特性。
2.Spring
Spring是一个开源的Java框架,它提供了全面的解决方案来简化企业级应用程序的开发。Spring框架的核心原则是基于依赖注入和面向切面编程,以提高代码的可测试性、可维护性和可扩展性。
Spring框架的一个主要特点是依赖注入。它通过将对象之间的依赖关系交由框架来管理和注入,从而减少了手动管理对象的复杂性。开发人员只需定义好对象之间的依赖关系,Spring框架会负责在运行时自动完成对象的创建和注入。这种松耦合的设计使得代码更加灵活和可测试。
另一个重要特性是面向切面编程。通过声明式的方式,开发人员可以将切面应用于不同的方法或类,并在特定的时机插入相应的逻辑,从而实现对横切关注点的统一处理。
Spring还提供了IoC容器来管理应用程序中的对象和依赖关系。IoC容器负责对象的创建、配置和生命周期管理,开发人员只需通过配置或注解描述对象之间的关系,Spring框架将负责实现对象的解耦和管理。
3.Spring MVC
Spring MVC是基于Spring框架的一种用于开发Web应用程序的模块,它提供了一种灵活、高效的方式来构建和管理Web应用的MVC架构。通过Spring MVC,开发人员可以将应用程序的业务逻辑、数据处理和用户界面分离,使代码更加清晰、可维护和可测试。
在Spring MVC中,控制器(Controller)负责处理用户的请求并调度适当的业务逻辑。控制器接收HTTP请求,根据请求的URL路径、请求参数等信息,调用相应的服务方法进行处理,并将处理结果封装为Model对象。视图(View)负责将Model对象渲染为用户可见的界面,常用的视图技术包括JSP、Thymeleaf、FreeMarker等。模型(Model)代表应用程序的数据,包括从数据库中检索的数据、用户输入的数据等。
Spring MVC框架提供了一组丰富的注解和配置选项,使开发人员可以轻松地定义请求映射、参数绑定、数据验证、异常处理等功能。通过注解,可以将控制器的方法与特定的URL路径关联起来,从而实现请求的路由和分发。另外,Spring MVC还支持拦截器机制,可以在请求处理的前后添加自定义逻辑,例如身份验证、日志记录等。
使用Spring MVC的好处之一是它与Spring框架的紧密集成,可以充分利用Spring框架提供的依赖注入、事务管理、AOP等特性。通过依赖注入,可以方便地将服务层、持久层等组件注入到控制器中,实现业务逻辑的解耦和可重用性。
4. SQLite数据库
SQLite是一个进程内的轻量级嵌入式数据库,它的数据库就是一个文件,实现了自给自足、无服务器、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,这就体现出来SQLite与其他数据库的最大的区别:SQLite不需要在系统中配置,直接可以使用。且SQLite不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite可直接访问其存储文件。
5.SharedPreferences
SharedPreferences是Android平台上一个轻量级的数据存储方式,主要用于保存应用的一些常用配置,如用户的登录信息、程序的设置等。SharedPreferences使用键值对(key-value)的形式存储数据,其本质是将数据保存在一个XML文件中,通常位于手机data/data目录下,只有当手机root后才会显示该目录。
SharedPreferences具有以下特点:数据的存储位置,在Android应用的私有文件夹下。数据的存储方式,以键值对形式进行存储,使用键来唯一标识一个值。数据的访问方式,通过SharedPreferences对象,使用putXXX()方法存储数据,使用getXXX()方法获取数据。数据的类型,SharedPreferences支持基本数据类型,如boolean、float、int、long、string等。数据的存储模式,SharedPreferences的存储模式是私有的,即其他应用无法访问到其存储的数据。数据的生命周期,SharedPreferences中的数据会一直存在,除非程序卸载或手动清除,否则数据不会自动消失。
总的来说,SharedPreferences是一个简单易用、方便快捷的数据存储方式,适用于存储一些常用配置信息,但是它并不适合用于存储大量的数据。
第二章 需求分析
需求分析是对产品或系统所需要的功能、性能和质量要求进行详尽的确定和分析的过程。对于网上书店来说,需求分析主要是为了明确用户的需求和市场定位,以便为后续的网站设计和开发提供指导。需求分析包括用户需求、功能需求、性能需求、环境需求等方面的分析。通过深入了解用户的需求和行为习惯,可以更好地满足用户的购物体验,提高用户的忠诚度和满意度。同时,通过市场定位和竞争分析,可以制定出更加精准的市场策略,提升网上书店的市场份额和品牌知名度。
网上书店系统是面向消费者的一个系统,可以在该系统中进行浏览所需书籍信息然后进行购买、结算和查看订单等操作。本章节的需求分析分为两部分,下面将对每一部分做出详细的阐述。
2.1 实际业务操作流程
1.用户的业务流程:
下载和安装:用户首先需要在应用商店或官方网站上下载并安装网上书店购物APP。注册和登录:打开APP后,新用户可以选择进行账号注册,提供必要的个人信息,并创建一个账号和密码。已经注册的用户可以直接使用之前注册的账号和密码登录。在登录的页面中也可以选择记住密码,以便下次直接登录。首页浏览:登录后,用户会进入书籍购物APP的首页,可以浏览所需购买的书籍。书籍选择:用户可以根据自己的需要选择不同类型的书籍,如科幻、玄幻、历史等。
书籍详情:用户点击感兴趣的书籍,进入书籍商品的详细页面,可以查看书籍的简介、作者信息、章节目录、价格等。购物车:用户可以将喜欢的书籍加入书架,方便购买。用户还可以对购物车中的书籍进行排序、删除等管理操作。同时在购物车结算中的时候需要添加收货地址和电话。订单管理:同时在支付完之后生成订单,可以查看订单或者删除订单。个人中心:在该模块中可以查看个人信息、修改密码、查看关于app和退出登录等操作。
2.管理员的业务流程
系统管理:管理员负责对小说阅读APP的系统进行管理,包括服务器运维、数据库维护、安全防护等工作。内容审核:管理员需要审核用户上传的小说内容,判断是否符合平台的规定和政策。这包括检查小说的版权情况、内容是否违规或有不当信息等。广告管理:管理员负责管理广告投放,包括审核广告内容、控制广告数量和频次,以确保广告的质量和用户体验。用户管理:管理员监控和管理用户的活动,包括注册、登录、违规行为处理等。他们可能需要根据用户投诉或举报处理违规行为,例如虚假发布、侵犯他人权益、非法内容等。技术支持:管理员需要向用户提供技术支持,解答用户遇到的问题和疑问,帮助用户解决使用过程中的困难和故障。数据统计与分析:管理员通过数据统计与分析来了解用户行为和喜好,优化平台的功能和服务。他们可能会收集和分析阅读量、用户留存率、用户反馈等数据指标。运营推广:管理员参与小说阅读APP的运营和推广活动,如制定运营计划、合作推广渠道、策划推广活动等,以提高用户量和活跃度。版权维护:管理员需要关注小说版权问题,及时处理侵权投诉和申诉。他们可能与作者、出版社或权利方沟通,确保平台上的小说内容合法有序。
2.2 功能需求
1.用户
(1)用户注册:用户在打开APP后,可以选择进行账号注册。注册过程中,用户需要输入用户名和自己的密码,然后进行注册。
(2)登录系统登录账号:注册完成后,用户可以使用之前注册的用户名和密码登录。同时也可以记住密码,方便下次登录。
用户功能需求分析的用例图如图2.1所示。
图2.1 用户功能用例图
2.管理员
(1)登录功能。管理员进入登陆界面后,管理员根据系统的提示信息输入自己的账号密码,点击登录按钮进行登录,如果管理员填写的内容与数据库中的数据符合,则管理员登录成功,此时系统会跳转到后台管理员的主页面,反之,管理员登录失败返回首页。
(2)系统管理:管理员负责对小说阅读APP的系统进行管理,包括服务器运维、数据库维护、安全防护等工作。服务器运维:系统管理员需要监控服务器的运行状态和性能,确保服务器的稳定性和可用性。他们会进行服务器配置、部署和升级,处理服务器故障和优化服务器资源利用。数据库维护:数据库是存储和管理用户数据的关键组成部分,系统管理员负责对数据库进行维护和管理。他们会执行数据库备份、恢复和优化操作,确保数据的完整性、安全性和性能。安全防护:系统管理员需要制定和实施安全策略,保护系统免受安全威胁和攻击。他们会监测系统日志和网络流量,及时发现和应对潜在的安全漏洞,进行安全补丁更新,设置访问权限和防火墙等措施。故障排除和支持:在系统出现故障或用户遇到问题时,系统管理员负责进行故障排除和技术支持。他们会收集和分析故障信息,与开发团队合作解决问题,并为用户提供必要的技术支持。性能优化:系统管理员会监测系统的性能,并进行必要的优化措施,以提高系统的响应速度和用户体验。他们可能通过调整服务器配置、数据库索引优化、缓存策略等方式来提升系统性能。更新和升级:系统管理员需要关注软件和硬件的更新和升级,并对系统进行规划和安排。
管理员功能需求分析的用例图如图2-2所示。