调研

前期调研工作比较多,比如目标用户、用户核心需求、使用场景、用户覆盖范围和数量;
用户调查
怎么做一个新产品的前期用户调研?
实用干货:如何制作一个“有效的用户调查问卷”?

app如何设计?
一个 App 是怎样诞生的? - 王龙行的回答 - 知乎

开发

非技术准备

  • Office
    记录开发流程,会议纪要,输出总结报告和答辩ppt
    如何系统地学习Microsoft Office?

  • Markdown
    熟悉Markdown的基本语法,撰写产品文档和各种技术文档,并用github进行线上文档管理
    Markdown 教程

  • IDEA
    全称为IntelliJ IDEA, Java 语言开发的集成环境,业界公认最好的 Java 开发工具之一
    2022最新idea安装使用教程_超详细入门教程
    史上最简单的 IntelliJ IDEA 教程

技术准备

  • github
    线上代码管理平台,通过该平台提交/下载所需代码,同时可以管理相关技术文档
    Github 简明教程
    GitHub 到底怎么用?十分钟学会 GitHub 基础知识
    Git与GitHub基础全套完整版教程

  • git
    git download
    git基本操作
    Git教程

  • Java
    学会基本语法之后,直接针对项目进行开发,一边开发一边学。
    Java 教程
    手把手教你 JDK 的安装与环境配置

  • linux
    学会命令行操作,无需装linux系统,为后续的github和git基本操作而准备。
    史上最牛的Linux视频教程—兄弟连

  • Android
    一部Android手机,学习Android系统
    Android开发
    零基础学android,我的第一个APP android studio安卓开发教程

测试

产品评审

设计评审一般在进行用户测试之前,参与对象主要是同事或具有一定用户体验专业知识的同行。目的在于,能在和用户接触之前,尽快地再次发现设计中的可用性问题并做出改善。具体的操作办法是:
1.找来合格的评审员组(3-5人,要求必须对设计原则深入了解);
2. 评审员们各准备一张列出十项设计原则的评审表,然后在设计师的陪同下分别体验产品原型。
3. 评审员在使用产品原型的过程中发现了什么问题,都可以在对应的设计原则一栏里记下来。
4. 之后大家一起基于这次发现的问题进行交流,改善设计。

APP测试

App测试流程和方法
App测试流程

文档

通常来说,作为软件项目,我们需要有这几类文档:需求说明文档、功能设计文档、系统架构说明书、模块概要设计文档和模块详细设计文档。

需求分析

需求分析是我们进行任何一个软件项目设计开发过程中都必须要完成的工作。

这个工作通常与客户一起完成。在不同的项目中,这个“客户”可能来自真正的购买产品的用户,使用系统的用户,也有可能来自团队的某个人员,如产品经理等。软件设计开发团队的参与成员根据项目的不同规模,则参与的人员也有所不同。原则上,设计开发人员参与的时间点越早,对于需求的理解和把握会更好。这个阶段,通常需要软件架构师参与其中。从资源优化的角度来说,开发人员不必参与需求分析,但需要理解需求。

需求分析的结果通常我们需要使用需求说明文档来描述,目前主流的需求描述方法包括:用户例图、用户故事等方式。这些方式有所不同的侧重,其核心思想就是描述清楚用户的使用场景。但无论采取何种方式,进行需求的描述,需求说明需要明确以下几点:

  • 所需要开发的软件系统边界
  • 系统所有的相关及使用人员角色
  • 系统关键的使用场景
  • 系统规模、性能要求以及部署方式等非功能性需求

功能设计

功能设计与需求分析差不多同时在开展,在很多软件项目中,对于功能设计不是特别重视。但对于某些软件项目而言,这是一个相当重要的工作。对于主要是用户界面的软件项目来说,功能设计可以看作是画出原型界面,描述使用场景,获得用户认可的过程。而对于没有界面的软件项目来说,则功能设计与需求分析的区分更为模糊。

参与的人员与需求分析的参与人员类似,架构师更侧重于参与此类工作,并给与一些实现层面的判断和取舍。

功能设计需要明确的核心是:系统的行为

系统架构设计

系统架构设计是一个非常依赖于经验的设计过程。需要根据软件项目的特定功能需求和非功能性需求进行取舍,最终获得一个满足各方要求的系统架构。系统架构的不同,将很大程度上决定系统开发和维护是否能够较为容易的适应需求变化,以及适应业务规模扩张。

架构设计工作中,用户参与程度很低。软件开发团队中的需求人员参与程度很低,但团队中的所有核心设计和开发人员都应该参与其中,并达成一致意见。

架构设计的主要成果,是将系统的不同视图予以呈现,并使之落实到开发中:

  • 系统开发视图及技术路线选择
  • 系统逻辑视图
  • 系统部署视图
  • 系统模块视图
  • 系统的领域模型

在软件开发过程中,系统的架构不是一成不变的,随着设计人员和开发人员对于系统的理解不断深入,系统的架构也会发生演化。在软件项目中,架构设计是开发团队沟通的统一语言,设计文档必须要随着系统的变化进行更新,保障开发团队对于系统的理解和沟通的一致性。

模块/子系统概要设计

模块/子系统的概要设计,由架构师参与,核心设计和开发人员负责的方式进行。
在概要设计工作中,我们需要在架构确定的开发路线的指导下,完成模块功能实现的关键设计工作。在概要设计阶段,需要关注于模块的核心功能和难点进行设计。这个过程中更多推荐的采用UML来进行概要设计,需要进行:

模块实现机制设计

  • 模块接口设计
  • 关键类设计
  • 画出时序图
  • 交互图等

模块详细设计

在瀑布式开发模型中,模块的详细设计会要求比较严格,将所有类进行详细设计。据我所知,除了一些对于系统健壮性要求非常严格的软件项目,如国防项目,金融项目还要求有详细设计文档之外。其他的项目大多采用其他方式来处理这样的工作,如自动化测试等。

综上所述,软件设计文档作为软件开发团队的沟通、理解、知识共享的手段,具有非常重要的意义。而根据软件团队的规模,对于文档上承载的信息详细程度可以有不同程度的要求。

产品文档撰写:如何写产品文档,产品文档有哪些流程?
需求说明文档:如何写一份易用的产品需求文档?
产品原型图:产品原型,到底怎么画?
接口说明文档:如何写一份优秀的接口文档

未完待续…

大创比赛app开发项目学习规划相关推荐

  1. 服装搭配app开发项目特点在这几个方面

    项目介绍分享 这是一个服装销售的平台,APP解决现代女性网购服装.穿衣搭配上的诸多困惑问题.并前瞻性的将搭配服装与用户个体结合,全方位的解决用户在穿衣搭配方面的困惑.前期通过了一些调查,发现具有较大的 ...

  2. 基于安卓app开发项目(在线数独对战游戏平台)的毕业设计(附源码)

    大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦. 基于安卓app开发项目(在线数独对战游戏平台)的毕业设计 目录 一.项目简介 二.系统核心功能模块部分截图 2.1用户登陆的设计与实现 2.2 ...

  3. 安卓程序与设计 app开发 英语学习APP(刷视频学英语,每日记单词)

    小学期选了app开发这个课题,看了<安卓应用开发教程>视频书籍,和优秀的组员们分工合作完成了该项目,其中也有老师的指导.程序含完整运行的app代码,数据库使用的是as自带的sqlite数据 ...

  4. 学习嵌入式Linux开发——RK3288开发板学习规划及目标

    目录 概述 学习规划 学习目标 概述 昨天收到开发板,安耐不住自己躁动的心暂时放弃这两天的C语言复习先提前熟悉一下开发板,我买的是Firefly出的开源主板RK3288.折腾了一天虽然收获很大但是基本 ...

  5. APP开发项目流程详解,长知识了!

    APP的开发流程并不复杂,APP开发人员一般都包含着UI设计师 .前端开发.后端开发.测试专员.产品经理等等. 而根据开发人员的分工不同,可以把APP的开发项目流程分为三个阶段:需求阶段–开发阶段–发 ...

  6. (基于安卓app开发项目)英语学习记单词软件的毕业设计(java+j2ee+mysql)(附源码)

    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦.

  7. (基于安卓app开发项目)英语学习记单词软件的毕业设计(java+j2ee+mysql)附源码+论文

    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦.

  8. (基于安卓app开发项目)日语学习软件的毕业设计(附源码+论文)

    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦.

  9. 大数据开发个人学习规划

    大数据方向的工作目前分为三个主要方向: 01.大数据工程师 02.数据分析师 03.大数据科学家 04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧) 在这里还是要推 ...

最新文章

  1. 谷歌大改Transformer注意力,速度、内存利用率都提上去了
  2. android设置主mic/副mic录音
  3. bootstrap-反色导航条
  4. 多线程:happens-before 先行发生原则
  5. html 如何用图片代替单选按钮,HTML中图像代替提交按钮
  6. bootstrap 合并菜单_Bootstrap与tab组合,切换菜单实例
  7. ansible备份mysql_ansible做mysql备份和安全加固
  8. do_something方法解析
  9. 免费下载加速软件IDM,让你的下载不限速,高达10M每秒
  10. Solaris系统环境变量声明方法
  11. java日历数据_JAVA 常用数据类型 之日历类
  12. 谈一谈企业部署erp系统的三大时间段
  13. 打印日志文件并将其上传存到HDFS中
  14. 做开发3年,字节跳动二面JVM底层被问得哑口无言
  15. 如何解决登录遇到Oops!Account deactivated错误
  16. 【Java】java修炼之道
  17. 01-weston 简介
  18. 蓝牙聊天App设计1:Android Studio制作蓝牙聊天通讯软件(UI界面设计)
  19. 基于 FPGA 的便携式 DDS 信号发生器与示波器
  20. ios辅助功能_iOS辅助功能标签

热门文章

  1. 微信隐藏功能系列4:微信铃声怎么设置?告别枯燥,3步做到
  2. 深度学习 训练吃显卡_深度学习训练如何更快些?GPU性能的I/O优化你试过吗?...
  3. 三诺+n20g+微型计算机,绝对超值 三诺N20G传承版新品仅卖199
  4. 2019腾讯第三次笔试 小Q取名字
  5. 蚂蚁区块链第18课 区块链预言机(ORACLE)的定义及在蚂蚁BAAS中的使用
  6. php arm 转换mp3,PHP 将微信录音arm格式文件转mp3格式
  7. 【iphone4 iOS4+升级到 iOS 5 beta7详细过程与iOS 5系统截图】-Himi升级iOS 5 beta7 流程
  8. Windows10恢复任务栏中的“中/英”切换图标
  9. 两化融合之两化融合贯标平台注册流程A003A
  10. 两化融合管理体系评审即将开展,为了能够顺利通过评审,需要注意哪些方面的内容?