##一.关于SmartVCard
SmartVCard是我自己独立制作的一款IOS应用程序,这是一款为名片量身打造的智能应用。我对SmartVCard的定位是,一款专门对名片进行设计以及交互的应用。用户人群暂定为大学生以及商务精英。SmartVCard的大致功能分为:
1、名片展示
2、名片生成
3、名片存储(联系)
4、名片发送
5、名片搜索
##二.SmartVCard需求分析
###综合描述
####产品介绍:
" SmartVCard "项目是一款基于iOS端的应用软件,以名片为核心的社交应用,提供名片展示、名片生成、名片联系、名片发送、名片搜索等核心功能。
#####目标范围:
(1)作用范围:
" SmartVCard "主要的功能包括:我的名片、我的联系人、即时通信、模板生成名片、自定义生成名片、发送名片、接收名片、系统设置、个人信息设置、模板商城等
功能,可以满足需要名片的大学生以及商务精英的需求。这个应用程序预期的目的是为了做成交互式的APP,方便客户端和服务器端之间的交流。
通过这个APP,客户能够购买模板生成个人名片,自定义设计个人名片,展示个人名片,与他人进行名片交换,通过名片进行即时通信等。
(2)应用目标:
"SmartVCard"是一个以名片为核心的应用。名片用户能够创建独属于自己的名片,能够向外展示个人名片,将自己的名片与其他名片用户进行交换,
可以在"模板商城"购买炫酷模板,在"我的联系人"中通过名片进行即时通信等等。
###功能需求
####系统介绍:
本应用是以名片为核心的社交应用,主要基于iOS平台,通过这个APP,名片成员可以创建自己的名片,并且名片成员之间可以实现互动交流。
采取MVC设计模式,使系统拥有良好的扩展性,在满足当前使用需求同时还兼顾应用以后可能的功能扩充。应用分成几个相对独立的模块,但这些模块都进行集中式管理。
####(1)、数据需求
#####a.数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义,数据的输入来源手工输入。
手工输入要通过系统界面上的安排系统具有容错性。
#####b.数据的一致性和完整性
由于本应用是规范化、网络化和自动化的,要保证这些数据的一致性,是应用必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,
在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
####(2)、性能需求 #####a.精度
- 在执行数据增加的时候,不允许出现因为程序的原因而导致增加数据失败,也不允许发生数据重复增加的数据。
- 执行数据删除操作时,不允许因为程序的原因发生多删除数据、删除失败的情况。
- 数据的修改也要求保持对应的准确性。
- 不允许服务器没有设置好,而导致系统运行出错。
#####b.时间性能需求 - 系统运行不响应时间不能超过10秒。
- 对系统进行操作时,相应时间在5秒之内。
- 多用户操作时,时间和相应的要求同上。
#####c.故障处理需求 - 在操作成员输入一些不合理的数据的时候,能够进行一些合理的提示信息,不能因为输入错误而导致系统的错误,或者程序停止运行。
- 程序运行时,对服务器和网络通信故障能够识别并提示,当故障排除后,程序恢复正常运行。
- 数据库要求有备份机制,以防止数据的全部丢失。
####(3)、其他需求 #####a.灵活性 因为本应用开发时使用Objective-C和PHP实现,数据库使用MySql数据库。
对于数据精度方面,应在数据库中加以限制:实现实体完整性,用户自定义完整约束。
在设计界面结构和数据结构是应留有对以后扩充系统功能的余地,如可以在每个数据字段上设计多个自定义字段。
#####b.可靠性 应用运行具有较高的可靠性,提供严格的并发控制,确保数据的一致性和正确性。
##三.SmartVCard功能模块
1、我的名片
图1-1 我的名片 <br>
这个模块主要是用于展示个人名片的一个页面,我的设计中它主要实现名片生产后的展示以及名片正反面的查看的功能。
2、我的联系人(名片存储)
图1-2 我的联系人 <br>
这个模块主要是名片(联系人)的存储,并且可以通过名片直接实现通信的功能。界面有点类似微信的交流,这里我准备使用环信的SDK直接进行用户交流。
在后期更可以延伸新功能,比如绑定QQ、微信、邮箱等,然后通过这个APP的窗口直接对用户的QQ、微信、邮箱等发送信息。
3、名片生成
图1-3 名片生成 <br>
这个模块主要分为两个功能:1.模板生成 2、自定义生成。模板生成,顾名思义,直接套用名片模板,只需要输入相应内容的信息,可以自动生成模板化的名片。
自定义生成,名片的一切将由用户DIY,名片的图片,logo,各类信息的摆放等等,都将由用户自己来定义。
4、收发名片
图1-4 收发名片 <br>
这个模块主要功能是用于名片的接受与发送,我这里采用的是一种简单的实现方法——二维码生成与扫描的方式实现该功能。
点击"发送名片",将会出现二维码名片的生成页面;点击"接受名片",将会出现二维码扫描页面,通过扫描二维码的形式,将其他人的名片存储,并将出现在"我的联系人"中。
5、个人页面
图1-5 个人设置 <br>
这个模块主要实现的个人设置,以及模块商城两个功能。个人设置,就是一些基本信息的设置,密码的修改,意见反馈,关于智能名片等功能。
模块商城,就是购买、下载名片模块的地方。
##四. SmartVCard详细设计
###SmartVCard用例图
角色(参与者) 角色描述
名片用户 注册用户(所有权限)
表1-1用例图角色说明
图2-1 注册登录用例图 <br>
用例名称 注册登录
行为角色 名片用户
简要说明 新用户注册,老用户登录
前置条件 用户名密码验证一致
后置条件 进入主界面
表1-2注册登录用例图用例描述
图2-2 我的名片用例图 <br>
用例名称 我的名片
行为角色 名片用户
简要说明 查看我的名片的正反面
前置条件 用户已生成名片
后置条件 查看名片的正反面
表1-3我的名片用例图用例描述
图2-3 我的联系人用例图 <br>
用例名称 我的联系人
行为角色 名片用户
简要说明 查看联系人名片,搜索联系人,联系人交流
前置条件 已有联系人
后置条件 进入联系人界面
表1-4我的联系人用例图用例描述
图2-4 名片生成用例图 <br>
用例名称 名片生成
行为角色 名片用户
简要说明 模板生成名片,自定义生成名片
前置条件 用户登录成功
后置条件 生成名片
表1-5名片生成用例图用例描述
图2-5 收发名片用例图 <br>
用例名称 收发名片
行为角色 名片用户
简要说明 发送名片,接收名片
前置条件 用户已生成名片
后置条件 生成二维码,扫描二维码
表1-6收发名片用例图用例描述
图2-6 “我”用例图 <br>
用例名称 我
行为角色 名片用户
简要说明 查看个人信息,模板商城,系统设置
前置条件 用户登录成功
后置条件 进入个人信息页面,进入商城,进入系统设置
表1-7“我”用例图用例描述
SmartVCard名片生成流程图
图2-7 模板生成流程图 <br>
图2-8 自定义生成流程图 <br>
SmartVCard数据库
由于SmartVCard只是我草创的一个demo,我就直接用XAMPP建立了一个本地服务器,并用PHP与客户端进行交互。服务器端的数据库我用的是MySQL数据库。
图2-9 SmartVCardE-R图 <br>
由于暂时只是一个小demo我只建立了三个表:UserInfo(用户表信息)、CardInfo(名片信息表)、Template(模板信息表)
UserInfo:
图2-10 UserInfo表 <br>
CardInfo:
图2-11 CardInfo表 <br>
Template:
图2-12 Template表 <br>