zoukankan      html  css  js  c++  java
  • 软件开发杂谈之从需求到上线---valen

    背景

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

    开始

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

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

    需求

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

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

    设计

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

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

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

     开发

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

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

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

     运营

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

     最后

    •    项目管理(关键字:计划,甘特图,参与人天,里程碑,deadline,上线)
    •    文档能力(一份言简意赅的清晰的文档能减少信息孤岛和沟通成本)
  • 相关阅读:
    [leetcode]Palindrome Partitioning II
    [wikioi]传纸条
    [leetcode]Palindrome Partitioning
    [leetcode]Convert Sorted List to Binary Search Tree
    [topcoder]ActivateGame
    [topcoder]NinePuzzle
    [topcoder]BestRoads
    [topcoder]IncreasingSubsequences
    [leetcode]Surrounded Regions
    CF 432B :Football Kit
  • 原文地址:https://www.cnblogs.com/lihuobao/p/4898515.html
Copyright © 2011-2022 走看看