软件开发流程个人理解

                                       开 发 流 程

       无论是pc或移动项目 标配应该包括 项目负责人,设计,产品,研发,测试,运维 等多个环节。
          (随着互联网的高速发展 开发流程不断规范 职能拆分 让更专业的人去做专业的事)
                           只有在这些方面有保障的情况下
             才能更好的保证pc/移动产品的正常/优质的开发完整,以及后续版本的迭代



ue <---- ue功能视图设计 <--功能流程图 <-- 需求分析 <--需求调研(产品经理)
工具:axure
职责: 
    制作产品原型 (也可以制作高保真原型 比较麻烦相当于融合ui设计 移动应用出现后基本淘汰)


ui <---- .psd/.tif大图片+图标 <--根据功能视图设计ui界面???????
工具:PhotoShopKendo UIMOQUPS illusrato  illusratorcoreldraw..
职责:
    1 制作 位图/点阵图 矢量图/向量图
    2 制作 动画
    3 页面风格的设计与色彩搭配
    4 移动端手势设计与转场方式


页面试图 <-- 渲染绘制处理页面 <--html+css+js+后台数据)
工具:HBuilder webStorm...
相关技术:DOMAJAX josnJQuerynodeJSbootstrap AngularJS...
职责:
    1 pc端   浏览器兼容
    2 移动端 如:手机/平版 个系统(AndroidiOSWindows phone...)以及个品牌的兼容问题
    3 移动端 和 PC端个方面实现的差异 如:缓存问题 流量问题 显示问题...
    4 微信开发
    5 app上架/版本替换更新
    新技术:HBuilder流媒体(新技术):支持app下载实现边下边用
        (类似与迅雷下载电影的边下边看 很有可能能是趋势 目前360与少部分平台支持);





数据处理 <-- javaCC++C#php.NETNodejsRubyPython....
工具:EclipseIntellij IDEAJBuilderNetBean...
职责:
    1 多种框架搭建与配置 java可选框架:sshspringmvcmybatis..
    2 集成:ANTTomcatWebLogicCVSSVNgitfindbugmaven、各种插件...
    3 80%的增删该查操作 (操作计算机的本质)
    4 缓存: redis,memcached(减少数据压力)
    5 读写exclword/制作饼、柱、线性图/制作报表 、视频、音频: (运营平台多用 数据统计)
    6 支付接口对接 (支付宝、微信、各种银行)
    7 对接各种第三方服务 (短信服务器、图片服务器) :各公司技术不同
    8 多线程高并发处理(电商平台秒杀、团购、铁道部买票)
    9 单点登录 : 认证系统进行身份校验 用户再访问别的相关兄弟系统 免登录
    10 分布式系统/集群/消息队列: zookeeper dubbo rabbitmq
    11 大数据/数据挖掘/分析:hadoop hive

数据存储 <-- mysql SqlService Oracle NoSql (数据库管理员 不过我去过的公司都没有)
工具:sqlYongnavicat..
职责:
    1 数据库整体结构设计 维护表与表之间的关系
    2 每次发版表结构以及数据同步
    3 复杂的sql语句 编写、拆分、优化
    4 索引 触发器 定时任务 存储过程
    5 分表 分库(数据量巨大,可能需要进行更深层次的数据库结构优化,拆分表,拆分库,读写分离配置)

软件测试 <--
职责:
    1 找茬 找到所有,显示,跳转,计算,与产品原型不符合的地方(反馈给开发人员)
    2 制造测试数据 全面测试平台所有角落
    3 80%的时间都在测试数据个时间段内的显示/计算是否正确(如电商价格 有促销时 无促销时..4 编写基本常用sql语句 sqlYong navicat(需要查看数据库对比数据)
    5 极限测试 产品并发能力是否满足要求 峰值是多少。。。。
    6 查找网站常见漏洞例如:sql注入。。
        (大型产品可能会有安全专家来进行更专业的测试 模拟黑客手段工具平台)


服务器运维 <-- linux服务器
工具:puttySecureCRT/命令行或视图、SSHSecureShellClient..
职责:
    1 N多条命常用命令行 (相当于对一直在dos窗口内工作 试图工具使用较少 个人感觉及其枯燥)
    2 各种环境配置
    3 熟悉多种脚本语言
    4 对服务器硬件配置有一定了解(服务器选型 带宽...)






你可能感兴趣的:(移动应用设计)