自学React-native (第六天)-- 需求分析
1.前言
对于我们程序员来说,任何项目的第一步不是编码而是需求分析,作为一切的开头可以说需求分析很大程度决定了一个项目的整体框架,好的需求分析对加速开发减少返工增进各部门协调都有很大的意义。
2.需求分析
-
需求整理:开发这款app的初衷是来自于阅读github-trending的需求,github的这个趋势服务帮助我们找到全球github中最优质的top100项目,方便我们程序员的开发,但是美中不足的是github并没有推出对应的app以至于在阅读Trending时的感觉很糟糕,这时候我希望有款app能够实现在手机中查看开源项目甚至在没有网络的时候也可以在本地查看的功能,这个app最好能够在android/ios都能正常使用。
-
需求拓展:
Trending本身支持10多种语言,用户有自己关注的几种,这就需要实现订阅功能。订阅的语言中谁排在第一谁第二呢?这就需要排序功能。当看见喜欢的项目用户可能希望可以一直关注,这就需要收藏功能。喜欢的功能希望其他人也能看见这就需要分享功能。用户有各自喜欢的风格,好的风格有助于提升阅读感受,这就需要多彩主题功能。用户可能对项目的下载量、用户人数、什么功能使用的最多,这就需要使用到统计功能。 -
总结
- 能够实现在手机中查看开源项目
- 没有网络的时候也可以在本地查看
- 最好能够在android/ios都能正常使用
- 订阅功能
- 排序功能
- 收藏功能
- 分享功能
- 多彩主题功能
- 统计功能
3. 技术栈
在分析完需求后我们就可以根据需求确定所需要的技术栈,在项目前期一般只能对技术栈有个大略的确定,有些技术可能会是在开发中被发现需要而重新添加的,当然如果是同类型项目的话在前期也能给出详细的技术栈图表,技术栈图表建议使用脑图容易理解和分类:
4.项目目录设计
.
|- android 安卓相关代码
|- ios iOS 相关代码
|- js 用户代码目录
|- action redux-action
|- common 通用组件
|- expand 用于存放dao
|- model 存放模型
|- navigator 存放导航控件
|- page 页面组件
|- reducer redux-reducer
|- res 资源(json文件,全局央视)
|- store redux-store
|- util 公共工具方法
|- App.js 主页组件
|- index.js 入口文件
5.结语
以上就是我们要制作的app的需求分析,通过这个文档我们明晰了该项目的功能点和技术点以及项目结构,对于我们接下来的工作有蓝图般的作用。