https://www.bilibili.com/video/BV1PW421N73g/演示视频:3.1 可行性分析
可行性分析也可以说是可行性研究,它是基于软件系统多方面调查的基础上,是专门对新软件的设计开发是否有必要性和可能性,对新软件的开发的技术、经济、操作、发展四个方面进行分析和研究,保证新应用软件的开发成功,用最低的消耗得到最大的效用,确保解决用户需求问题。
3.1.1 技术可行性系统的硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能够轻松的实现,只是需要确保系统的正常工作即可,以及拥有较高的效率。如果有特别低的硬件,它可以导致系统的低性能以及效率低,从而导致整个系统的运行不顺畅。以目前普遍的个人安卓手机的配置而言,这是十分容易实现的 。因此,本系统的开发在硬件方面是可行的。本系统软件方便选择Android作为本系统开发技术,MYSQL作为数据库,该系统的设计实现在软件方面是可行的。因此可以看出,该系统的开发是没有问题的。
3.1.2 经济可行性本菜篮子应用的开发是基于Android平台,所要求的硬件和软件环境,市场上都很容易购买。所以程序在开发人力、财力上要求不高,而且此系统不是很复杂,开发周期短,在经济方面具有较高的可行性。
3.1.3 操作可行性本系统采用基于安卓客户端,利用安卓手机安装软件就能够进行访问和操作,且界面简单易操作,用户只要平时有在用过智能手机,都能进行访问和操作。
本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。因此本系统可以进行开发。
3.1.4 发展可行性本系统要想长期生存,就必须有一个良好的管理体系,结合科学的方法实现可持续发展,与时俱进,不断的改革创新来适应社会的变化。最重要的是确保科学的管理方法是长远发展的竞争力提高的唯一途径。而且这个项目开发难度不是太大,并且通过开发工具可以导出一个APK文件,直接可以安装到用户的移动终端上,系统部署对软硬件要求不高,用户操作简单,使用较方便,几乎不需要对用户进行专业培训就可使用此软件,不必要花费很多的时间,提高了效率,保证了各项数据的准确性,适应了当前的发展形势。
综上所述,设计一个菜篮子应用具有效率高,操作简便,降低成本等优点。所以,建立一个菜篮子应用是非常必要可行的。
3.2 功能需求分析功能需求分析就是分析用户的需要与要求。如果需要评估的结果准确地反映用户的实际需求,这将直接影响到方案设计的整个阶段,而且对系统的使用产生影响。着眼于需求评估是完成调查,收集和研究,并可能受到影响的数据管理和安全信息的需求的过程。一般使用者都相对缺少相关的计算机方面的知识,并且可以确定计算机是否可以为自己做什么,不能做什么,所以无法非常准确的去表达自己的需求,但是他们是最终的用户通过与用户不断深入地进行交流,了解到目前系统存在的主要问题。
需要研究是从用户分析和细化的信息,在功能和性能上有描述。它是软件开发过程中的第一阶段的一部分,主要任务是要了解你需要什么,什么应做的工作,以确定系统的,因此在目标系统提出完整,准确,清晰,具体的要求,并表示以书面形式唤醒。
这个菜篮子应用要求在Android系统的手机上可以运行,主要实现了用户对商品的查询、购买等操作。
总体分布如图3-1所示:
图3-1 总体功能需求图
3.3 系统流程分析3.3.1用户注册流程用户在注册账号的时候,首先进入注册界面,填写用户信息,包括用户名、密码、密码重复、电子邮箱、姓名和电话等,用户名存在的话,提示返回填写用户信息,用户名不存在,填写密码,两次输入的密码一致在数据库中添加用户信息,注册成功。用户注册流程图如图3-2所示。
图3-2注册信息流程图
3.3.2用户登录流程为了保证系统的安全性,要使用本系统必须先登陆到系统中。其登录流程图如图3-3所示。
图3-3 登录界面流程图
3.3.3 商品搜索流程用户可以对商品信息进行搜索查询,在查询信息的时候,用户输入关键词,系统进行信息的搜索,搜索商品信息流程图如图3-4所示。
图3-4 商品搜索流程图
3.3.4处理流程订单处理流程主要包括商品管理、订单管理等几模块。商品管理,主要包括用户对商品的查看、购买,管理员对商品信息的管理;订单查询处理,用户可以查看我的订单信息。管理员可对使用用户的订单进行查看管理。详细流程图如图3-5所示。
图3-5 处理流程图
3.4 系统用例分析3.3.1管理员用例图管理员用户的用例如图3-6所示。
图3-6 管理员用例图
3.3.2用户用例图用户的用例如图3-7所示。
图3-7 用户用例图
本菜篮子开发工程中应用了MVC框架,它是由以下三部分构成的:
(l)视图层(View):通常是用XML文件进行描述的,引入时很方便。我们知道在Android系统中也能用JavaScript+HTML等形式作为View层,那么这就要用到Java和JavaScript之间的通信,所以Android也实现了它们的之间通信。
(2)控制层(Controller):Acitvity在控制层中起到非常重要的作用,为了实现响应时间短,我们就不在Acitvity中写代码。如果时间过长,程序将非常容易终止。
(3)模型层(Model):对数据的存储都是在模型层中处理的,也就是说程序的二进制数据也是在这一层进行操作的。
Android SDK绑定的数据,是用的同它相似的方法管理数据的。在控制层上封装好视图模型所要求的数据,这样它就可以在视图模型上显示相应的数据,比如显示Cursor中所有数据的ListActivity,其视图层就是一个ListView,将数据封装为ListAdapter,并传递给ListView,数据就在ListView中现实。系统框架模型如图3-1所示。
图3-1 框架模型图
3.2 系统功能设计系统架构的整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。它具体的工作步骤是:
(1)系统被分解多个子模块
(2)对各个子模块的功能进行预先的设计
(3)对各个子模块之间的逻辑关系进行设计
(4)对各个模块的界面以及模块间信息的传输进行设计
在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统框架。
本菜篮子应用的功能模块图如图3-2所示:
图3-2 系统功能模块图
3.3 数据库设计3.3.1 数据库设计原则在概念设计中,通常用四种方法:
自顶向下、自底向上、逐步扩张、混合策略,以它为骨架集成由自底向上策略中设计的各局部概念结构
在物理结构设计阶段首先分两步走:
确定数据库的物理结构,在关系数据库中主要是指存取方法和存储结构。 对物理结构的评价是时间和空间效率。
选取正确的关系模式存取方法,常用的有:存取索引方法、聚簇存取、HASH存取方法等。
3.3.2 数据库实体在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。
通过上述分析对数据库的需求,与系统概念模型的特点及开发方法相结合,我们可以建立E-R模型图,本系统的E-R图如下图所示:
1、订单信息实体属性图如图3-3所示:
图3-3订单信息实体图
2、商品信息实体属性图如图3-4所示:
图3-4 商品信息实体图
3、用户信息实体属性图如图3-5所示:
图3-5 用户信息实体图