背景

IT已经成为当代企业必不可少的竞争手段,从无到有到标配,可以说以后不懂IT的就是文盲这句一点也不过,而软件开发是个复杂工程,零零碎碎各种理论工具和技巧,一言难尽。
本文意在言简意赅,简述软件开发流程当中重要的环节,以此思路作为明灯,以更好地思考和完成工作。
 

开始

IT业务系统的开发(APP、网站,大中小型业务系统等等)生命周期大致可用一张图简单概括下:

无论那个环节都互相影响,产品和开发相对更紧密一些,运营相对独立,不断迭代产品直到产品周期终结

需求

产品是来解决问题的,所以做产品之前要做需求分析,需求分析影响产品的设计和开发,所以很重要,应该力求保证做该做的事。如下:

  • 领导的愿景:领导想实现的产品;
  • 用户的需求:源于广大用户的需求,如小米有了MIUI后,各种系统的改进和建议就上来了,汇聚成新功能和优化需求;
  • 头脑风暴:几个人围在一起突发奇想(乔布斯和库克坐一起谈笑说做一部手机:于是有了"谈笑风(phone)生")
  • 需求文档:通过最终分析论证形成文档(产品我想做这些东东,解决什么问题,但是只是记录愿景,具体细化在产品设计环境)

设计

  根据需求文档定下来的需求设计产品的过程,并且循环迭代产品,直到产品生命周期终结,这个不但适用软件产品,其他产品也是适用的,如一个游戏APP的周期可能就1到2年时间,iphone一般是1年一型号),产品设计一般有如下步骤:

  • 功能设计(功能模块,业务逻辑,流程图等)
  • 原型设计(UI风格,基本界面元素,产出物:PSD文件等物料)
  • 交互设计(控件样式,功能跳转,效果,产出物:交互UI图)
  • 产品设计文档:以上产出物的汇总文档,与物料一同交由开发人员进行产品开发

设计必须考虑到每个细节:如界面表达,功能跳转,各种逻辑情况等

开发

  根据设计文档实现产品功能,技术是复杂的,但是也是有条理的,可以按一下步骤循序渐进

  • 读懂需求文档和产品设计文档(有问题可以修订下最终版)
  • 确定技术要点(如各种实现框架,系统架构,各种指标,技术选型等等)
  • 通用组件设计(如APP开发:UI(样式设定,基础控件等),框架(网络,工具库等),资源管理(字符,图片,声音))
  • 功能开发(开发工具、技术运用,技巧等)
  • 测试(单元测试,集成测试等)
  • 上线 (跟踪反馈,需求完毕)

开发应尽量最大限度配合设计和需求,遇到不合理或者更好的实现应及时提出,避免走弯路

运营

推动产品的过程,如用户活跃度,体验满意度,盈利能力等,暂不详细讲述。

最后

  • 项目管理(关键字:计划,甘特图,参与人天,里程碑,deadline,上线)
  • 文档能力(一份言简意赅的清晰的文档能减少信息孤岛和沟通成本)

软件开发杂谈之从需求到上线---valen的更多相关文章

  1. Atitit.软件开发的非功能性需求attilax 总结

    Atitit.软件开发的非功能性需求attilax 总结 1. 运行环境约束:用户对软件系统运行环境的要求. 1 2. 兼容性 2 3.   7.6 数据库 database (imp by ati) ...

  2. Atitit.软件开发的非功能性需求attilax 总结At

    Atitit.软件开发的非功能性需求attilax 总结 1. 运行环境约束:用户对软件系统运行环境的要求. 1 2. 兼容性 2 3.   7.6 数据库 database (imp by ati) ...

  3. APICloud:轻松6步完成App软件开发

    现如今,谁不知道App绝对就是OUT,谁不用App简直没法过日子!但是说到App软件开发,不懂编程,不懂技术的人就一脸懵圈.在门外汉来看,App软件开发是一件非常困难的事情,然而APICloud却说, ...

  4. App软件开发的完整在线流程(一看就懂)

    App软件开发其实并不复杂,完整的在线App开发不过9个步骤,一看就明白到底是怎么回事. 第一步:需求评估 在App项目正式启动前,客户应该对自己的需求进行评估,确认项目的开发周期和成本.登录APIC ...

  5. 上海洋码头(www.ymatou.com)急招技术人才(职位:互联网软件开发工程师,.NET网站架构师,Web前端开发工程师,高级测试工程师,产品经理)

    对公司招聘职位有兴趣的童鞋可以把简历发送到zhangzhiqiang@ymatou.com,我们HR会快速给你答复. 互联网软件开发工程师 岗位职责: 1.参与洋码头各个平台(www.ymatou.c ...

  6. Day4 - Python基础4 迭代器、装饰器、软件开发规范

    Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...

  7. java游戏开发杂谈 - 实现游戏主菜单

    经常玩游戏的同学,大家都知道,游戏都会有个主菜单,里面有多个菜单选项:开始游戏.游戏设置.关于游戏.退出游戏等等,这个菜单是怎么实现的呢. 有一定桌面软件开发基础的同学可能会想到,用JButton组件 ...

  8. Python基础4 迭代器、装饰器、软件开发规范

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需 ...

  9. KVM&Libvirt基本概念及开发杂谈

    导读 大家好,本次肖力分享的主题是KVM&Libvirt基本概念及开发杂谈,内容有些凌乱松散,主要基于自己早期整理的笔记内容和实践感悟,有些内容难免有失偏颇,望见谅.前面先介绍下需要了解的基本 ...

随机推荐

  1. hadoop拾遗(一)---- 避免切分map文件

    有些程序可能不希望文件被切分,而是用一个mapper完整处理每一个输入文件.例如,检查一个文件中所有记录是否有序,一个简单的方法是顺序扫描第一条记录并并比较后一条记录是否比前一条要小.如果将它实现为一 ...

  2. UVa 10256 - The Great Divide 判断凸包相交

    模板敲错了于是WA了好几遍…… 判断由红点和蓝点分别组成的两个凸包是否相离,是输出Yes,否输出No. 训练指南上的分析: 1.任取红凸包上的一条线段和蓝凸包上的一条线段,判断二者是否相交.如果相交( ...

  3. Android之NDK编程(JNI)

    转自:http://www.cnblogs.com/xw022/archive/2011/08/18/2144621.html NDK编程入门--C回调JAVA方法   一.主要流程 1.  新建一个 ...

  4. 三个特殊资源目录 /res/xml /res/raw 和 /assets

    在android开发中,我们离不开资源文件的使用,从drawable到string,再到layout,这些资源都为我们的开发提供了极大的便利,不过我们平时大部分时间接触的资源目录一般都是下面这三个. ...

  5. Hibernate检索方式 分类: SSH框架 2015-07-10 22:10 4人阅读 评论(0) 收藏

    我们在项目应用中对数据进行最多的操作就是查询,数据的查询在所有ORM框架中也占有极其重要的地位.那么,如何利用Hibernate查询数据呢?Hibernate为我们提供了多种数据查询的方式,又称为Hi ...

  6. c创建win窗口

    windows程序设计示例: #include "windows.h" #pragma comment(lib, "winmm") LRESULT CALLBA ...

  7. Java根据html模板创建 html文件

    1.创建html的java代码 package com.tydic.eshop.util; import java.io.FileInputStream; import java.io.FileOut ...

  8. ubuntu13.04下载android4.0.1源码过程

    最初我参考的是老罗的博客http://blog.csdn.net/luoshengyang/article/details/6559955 进行下载安装的,但弄着弄着就发现不太对劲了.这里记录下详细过 ...

  9. JSP中嵌入java代码方式以及指令

    JSP中嵌入java代码的三种方式: (1)声明变量或方法 :  <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet):  <% j ...

  10. C#中控件的CheckState和Checked属性区别?

    Checked 和CheckState都是检查控件选中状态,都能判断是否选中控件. 只是Checked 通过布尔判断(true & false): CheckState 通过枚举判断. che ...