跟我学软件系统需求工程——软件项目设计、开发和实现的总体流程内容摘要:

处理 ( 4) JSP 和 Servlet 等 Web 服务端的性能优化的问题 ( 5) 需要支持多少种语言。 需要支持哪几种客户端。 PC浏览器、手机移动还是其它。 需要支持哪几种媒体类型。 声音、图形、以及实时图像。 、项目开发中团队的组建 杨教授 大学堂 精心创作的优秀程序员 职业提升必读系列资料 杨教授 大学堂 ,版权所有,盗版必究。 5/10 页 ( 1) 一个比较完整的项目小组可能由以下列的角色组成 1) 项目经理 主要负责召开会议,明确每天的开发任务以及掌控项目的总体大概进程,保持团队成员清楚的知道项目目前的状态,保持团队沟通顺畅让团队保持高昂的士气。 2) 项目 开发 人员 要职责是开发 3) 设计人员 4) 业务功能设计员 5) 交互设计人员 及 界面工程师 主要职责是 UI 设计 6) 数据库 设计人员 7) 测试人员 测试工程师负责完成测试脚本 当然,有些角色在项目小组成员比较少的情况下完全可能由一个人兼任,但并不意味着这些角色可以轻易地忽略。 ( 2)让合适的人去做合适的事 人员是项目成功和降低项目开发的风险的主要因素,必须加以 重视。 软件开发是一个既要高度协作、又有独立创造的智力活动。 所以人的因素是关系到产品开发能否成功的一个重要方面。 因此,我们的基本原则应该是“ 让合适的人去做合适的事 ”。 ( 3)主要有两种形式的人员划分 首先按照详细设计说明书搭建好整个系统的框架,并定义好各个层次之间的接口 包括页面的设计,类的设计,接口的设计,方法的设计,变量和函数的名称的命名规则的定义等等,以便以后的各自开发过程中的交流的方便和减少以后的功能整合的时候的工作量。 然后各个成员开发各自对应的模块。 1) 按功能模块划分(按照问题域进行拆分 纵向划分):人员之间的沟通相对比较少。 2) 按组件的层次划分(按照实现过程进行拆分 横向划分):人员之间的沟通相对比较多,此时项目的管理和协调工作比较大。 但对人员的技术全面性要求比较低。 纵向划分任务还可以有效预防人员流动对开发的影响, 因为开发 组成员如果发生变化,由于各 个模块 的 结构相似,所以其他成员可以很容易的继续流出人员的工作;人员流入时也一样,流入人员可以很快接手项目 可以参考 已经开发好的功能模块 来熟悉和了解系统。 杨教授 大学堂 精心创作的优秀程序员 职业提升必读系列资料 杨教授 大学堂 ,版权所有,盗版必究。 6/10 页 模块 的 结构相似性也给我们的沟通和协作提供了极大的便利,比如在详细设计的时候,遇到模糊的细节就可以参考其他成员的设计 在参考代码的过程中可能能够发现一些新的问题,这样对代码的重构也有极大的好处。 开发人员 需要进行沟通的地方可能就体现的是一些系统共性问题,能够提高开发效率另外 可以达到较高效率的并行开发。 当然子系统内部同样是采用分层的思想来架构,因此才开发之后,非常利于实施测试。 ( 4) 任务分割时应当注意减少项目内耗 进行任务分割时应当注意任务之间关于知识和技术的耦合程度,以及任务内关于知识和技术的内聚 程度,以减少项目内耗。 1) 尽量做到低耦合 以降低对成员之间交流的依赖程度,让大多数成员(需要把握全局的骨干成员除外)无需考虑太多繁杂的、不相干的东西; 2) 尽量做到高内聚 让成员可以尽量发挥他的能力以及已经获得的项目相关信息。 同时尽量把高耦合的任务分给同一个成员,避免把过多过琐碎的无关任务分给同一个成员。 3) 罗列出任务中相应的知识 /技术要点 分配任务时,还应当把任务相应的知识 /技术要点列表,连同其他任务资料一起提交给成员,以便成员能够提前做好准备,做到胸有成竹,以避免不必要的技术风 险。 4) 让合适的人做合适的工作 因为。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。