应用开发一般工作流程和注意

452 views

Published on

sxs

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
452
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

应用开发一般工作流程和注意

  1. 1. 标题 php 应用开发 一般工作流程和注意 产品部 - 自媒体 辛少普 shaopu@
  2. 2. 主要问题 <ul><li>我们是谁 </li></ul><ul><li>我们和谁合作 </li></ul><ul><li>我们需要做什么 </li></ul><ul><li>我们需要注意和了解什么 </li></ul><ul><li>我们的未来如何 </li></ul><ul><li>常用工具 </li></ul>
  3. 3. 应用开发 <ul><li>什么是应用开发 </li></ul><ul><ul><li>完成 一般用户 会用到的功能的开发 </li></ul></ul><ul><ul><li>用户:网站访问及使用者,运营,监控 </li></ul></ul>
  4. 4. 应用开发 <ul><li>特征 </li></ul><ul><ul><li>核心开发人员 </li></ul></ul><ul><ul><li>技术实现的主控制 </li></ul></ul><ul><ul><li>博学的疑问解答者 </li></ul></ul><ul><ul><li>项目发展的推动者 </li></ul></ul><ul><ul><li>新产品的第一批用户 </li></ul></ul>
  5. 5. 应用开发 <ul><li>能力 </li></ul><ul><ul><li>看得懂 UE ,打得了路由,了解得了跨域,分得清 MARGIN,PADDING ,优化得了 DB ,分析得了数据 </li></ul></ul>
  6. 6. 基本工作流程
  7. 7. 角色说明 <ul><li>产品设计师 </li></ul><ul><ul><li>产出物 </li></ul></ul><ul><ul><ul><li>UE: 描述页面结构、产品操作流程等 </li></ul></ul></ul><ul><ul><ul><li>产品文档: 描述详细的规范(字数限制)、文案等 </li></ul></ul></ul><ul><ul><li>我们需要做的: </li></ul></ul><ul><ul><ul><li>理解产品: 什么背景下,谁,需要什么,如何解决,可能带来什么利益,什么重要 </li></ul></ul></ul>
  8. 8. 角色说明 <ul><ul><ul><li>针对产品设计考虑相关细节: </li></ul></ul></ul><ul><ul><ul><ul><li>透过表象看本质,了解产品人员真正想要的是什么: (WAP 游戏例子 ) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>区分概念、拆分模块,理清模块关系,划清边界: (主题,模块,个性化) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>整理和抽象逻辑: (页签和配色) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>根据产品特征及重要程度评估实现方案:( 产品特性、数量级、收益) </li></ul></ul></ul></ul>
  9. 9. < 这是什么 < 一个页签? < 规则如何
  10. 10. 角色说明 <ul><li>页面构建 builder </li></ul><ul><ul><li>产出物 </li></ul></ul><ul><ul><ul><li>页面 : 实际输出的页面 HTML </li></ul></ul></ul><ul><ul><ul><li>css: 不同部门不同处理 </li></ul></ul></ul><ul><ul><li>我们需要做的: </li></ul></ul><ul><ul><ul><li>套页面: 把 PHP 输出与页面结合起来 </li></ul></ul></ul><ul><ul><ul><ul><li>模板引擎 </li></ul></ul></ul></ul><ul><ul><ul><li>保证显示和语法正确 </li></ul></ul></ul><ul><ul><ul><ul><li>html : title/alt, 标签后的空格 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>css : margin,padding </li></ul></ul></ul></ul><ul><ul><ul><ul><li>浏览器: 标签闭合 </li></ul></ul></ul></ul>
  11. 12. 角色说明 <ul><li>RIA: 前端 JS,FLASH 等工程师 (Rich Internet Applications) </li></ul><ul><ul><li>产出物 </li></ul></ul><ul><ul><ul><li>页面交互、效果的程序 </li></ul></ul></ul><ul><ul><li>我们需要做的: </li></ul></ul><ul><ul><ul><li>提供数据接口: </li></ul></ul></ul><ul><ul><ul><ul><li>了解操作流程 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>整理文档:地址、参数及规范、输出格式及不同结果 </li></ul></ul></ul></ul><ul><ul><ul><li>页面布码:(流程) </li></ul></ul></ul><ul><ul><ul><li>知识点:跨域、 json/jsonp 、 crossdomain </li></ul></ul></ul>
  12. 14. 角色说明 <ul><li>运维 : 负责服务器、 DB 等系统管理 </li></ul><ul><ul><li>产出物 </li></ul></ul><ul><ul><ul><li>稳定的系统 </li></ul></ul></ul><ul><ul><li>我们需要做的: </li></ul></ul><ul><ul><ul><li>开发稳定可控的系统 </li></ul></ul></ul><ul><ul><ul><ul><li>一定的容错 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>问题可查 </li></ul></ul></ul></ul><ul><ul><ul><li>降低系统负担 </li></ul></ul></ul><ul><ul><ul><ul><li>cpu ,内存,磁盘,带宽,连接, IO... </li></ul></ul></ul></ul><ul><ul><ul><li>及时跟进和反馈 </li></ul></ul></ul><ul><ul><ul><li>知识点 </li></ul></ul></ul><ul><ul><ul><ul><li>太多了 </li></ul></ul></ul></ul>
  13. 15. 角色说明 <ul><li>测试 : 负责对产品质量进行控制 </li></ul><ul><ul><li>测试流程、提案系统、问题的定位 </li></ul></ul><ul><li>监控 : 负责对内容质量进行控制 </li></ul><ul><ul><li>及时删除 </li></ul></ul><ul><li>客服 : 负责与用户进行沟通 </li></ul><ul><ul><li>及时反馈 </li></ul></ul><ul><li>运营 : 负责保持和促进产品活跃 </li></ul><ul><ul><li>积极配合 </li></ul></ul>
  14. 16. 一般工作模式 <ul><li>新产品开发 </li></ul><ul><li>新功能开发 </li></ul><ul><li>BUG 修改 </li></ul><ul><li>辅助 </li></ul>
  15. 17. 新工作时可能遇到的问题 <ul><li>不了解产品、系统、代码等 </li></ul><ul><ul><li>了解产品功能、特征、注意点 </li></ul></ul><ul><ul><li>博客:亿级访问、读超多写少、 HTML 存贮、 N 多合作部门、各种关键字、页面模块化 </li></ul></ul><ul><ul><li>去用! </li></ul></ul><ul><ul><li>了解基本系统架构: 前端、队列、审核后台、 RIA 、缓存 </li></ul></ul><ul><li> 博客: squid 、 php|ria 分离、 XSS 、 4 台接口机、及时审核及时删除 </li></ul><ul><ul><li>了解代码结构 </li></ul></ul><ul><ul><li>博客: since 2004 、面向过程、读写分离、 >30 名开发者 </li></ul></ul>
  16. 18. 新工作时可能遇到的问题 <ul><li>代码真乱 #%$&^(*^&%@# </li></ul><ul><li>跟谁配合?问你的领导或指导人 </li></ul><ul><li>其他问题? </li></ul>
  17. 19. 关于 php <ul><li>语言特性: 弱类型,过程 > 对象,执行速度快 </li></ul><ul><li>优点: 上手容易(语法简单,思路单纯,甚至傻瓜化),开发速度快,兼容 C,JAVA 的特点,所以是 WEB 应用开发的首选语言(国内 >50% ,程序语言 NO.4 ) </li></ul><ul><li>问题: 重实现轻设计,缺少严谨细致,代码混乱 </li></ul><ul><li>语言只是工具 </li></ul><ul><li>思想、态度才是本源 </li></ul>
  18. 20. 回到工程师 <ul><li>程序不是你一个人的: </li></ul><ul><li>清晰的思路,简单的语法,适当的注释,使用人类语言,拼音很难理解,关注整个团队,帮助整个团队 </li></ul><ul><li>编程是一项艺术: </li></ul><ul><li>适当的使用面向对象,有效的利用资源,向其他高级语言学习,适当抽象就是产品的扩展性。当然,不要过设计 </li></ul><ul><li>不要相信用户: </li></ul><ul><li>完整严谨的输入判断,防刷,健壮的逻辑 </li></ul><ul><li>不要相信产品: </li></ul><ul><li>不要硬编码,尽量模块化,要有抽象的思路 </li></ul>
  19. 21. 回到工程师 <ul><li>优秀系统的素质不体现在正常运行时,而体现在故障时: </li></ul><ul><li>容错,可查,可改 </li></ul><ul><li>不要随便重写代码 </li></ul><ul><ul><li>浪费时间等于浪费产品生命 ( myspace 的噩梦) </li></ul></ul><ul><ul><li>你完全了解原来的产品和程序逻辑嘛? </li></ul></ul><ul><ul><li>明天你会觉得今天你的代码也很烂 </li></ul></ul><ul><li>要及时重构,并完成它 </li></ul><ul><li>适当的文档,让后人了解你的想法 </li></ul>
  20. 22. 应用开发的职业发展 <ul><li>产品、产品经理 </li></ul><ul><li>工程师: dba 、运维、基础研发、数据分析、架构师 </li></ul><ul><li>技术管理 </li></ul><ul><li>售前、售后 </li></ul>
  21. 23. 常用工具 <ul><li>httpwatch/httpanalyzer/fiddler : 抓包 </li></ul><ul><li>firebug: js 调试、页面节点查看和修改、抓包 </li></ul><ul><li>firephp: php 跟踪 </li></ul><ul><li>xdebug/xhprof: php 跟踪和优化 </li></ul><ul><li>htmlvalidate: html 格式检查 </li></ul><ul><li>iedeveloper: IE 下的 JS 调试 </li></ul><ul><li>思维导图 : freemind/xmind/mindmanage </li></ul><ul><li>流程图: visio/cacoo.com/edraw </li></ul>
  22. 24. HTTP Analyzer
  23. 25. Firephp 程序调用
  24. 26. Xhprof
  25. 27. Htmlvalidator
  26. 28. 思维导图
  27. 29. 流程图

×