开始着手组织企业级Java项目时候开始时轮回扔魔术球: 业关系处理持续漫长设计开发程保持健全完整性等等球会带固风险显易见易发现风险完全避免文作者Humphrey Sheil分析威胁企业级Java项目成功10风险 列出风险规避策略方法
段时期里担程序员高级设计师架构设计师等工作见识优秀企业级Java项目见识甚丑陋项目时候会问什项目取成功走失败?难定义出某种规标准表明项目应该成功J2EE项目例外相反角度层次考察项目失败原果避开风险项目取成功文中提出排名前10位企业级Java项目风险供读者参考
种样风险中风险延缓项目进度带必工作会成功性彻底消果预先足够准备清醒认识没避免事情果名旅行者清楚知道前面道路什方做充分准备位清楚知道里危险导样会较利达目
文采结构描述风险:
风险名称:风险标题(粗体)
项目阶段:项目阶段会发生风险情况
影响阶段:会影响阶段
症状: 风险产生时症状
规避方案:规避风险者项目影响降低程度
备注: 风险相关补充说明提示
通企业级Java项目仔细考察文J2EE项目程分解阶段:
提供商选择 开始J2EE项目前选择合适提供商应服务器开发工具组合直工作期间享咖啡厂商
设计: 遵系列严格规范软件工程方法前提开始进行足够充分设计然然进入开发阶段开发前周全考虑正做什做问题外设计模板确信进入开发前已想问题解决方案时该阶段做编码时候样做回答问题效判断出性模块划分问题
开发 程序开发阶段选择开发工具进行精良设计等等阶段显示优越性开发带帮助
稳定性负载测试:该阶段系统架构师项目理应该冻结住产品特性焦点放质量产品参数(允许发户数量障恢复情况等等)质量性该阶段应足够重视然应该避免前阶段写出良运行缓慢代码阶段作修改
成熟期:真正项目阶段固定准备阶段潜伏错误(糟糕设计开发错误厂商选择)出现影响系统
风险1没真正理解 Java EJB J2EE 问题分解3部分便分析
描述 没真正理解Java
项目阶段开发
影响阶段:设计稳定性测试成熟期
系统性影响:维护性扩展性性
症状:
重复开发JDK核心API中功类
懂列表中某项(题者实际例子已):
垃圾收集器 (train generational incremental synchronous asynchronous)
象时进行垃圾收集 dangling references
继承机制权衡
overridingoverloading方法
什javalangString (里中意类代) 提供性
Java中passby参考语义EJB中passby值语义较
者equals() 方法 for nonprimitives
台Java线程运行序方式(例否抢先方式)
新线程线程较
Hotspot技术(什旧性调整技术降低Hotspot 优化效果)
JIT什时候JIT变(未安装JAVA编译器代码运行刚够良)
API搜集
RMI
规避方案:
需断改进Java方面知识尤深入解Java优势足处Java存价值已远止种语言理解台(JDK工具等)样重具体说应该认证Java程序员果话许时会知道容感惊讶外加入Java邮件列表前加盟公司加入样邮件列表行中学技术资源
备注
果者团队中成员真正解编程语言台保持成功希呢?强干Java程序员EJBJ2EE象鸭子水样相反较弱没验程序员开发出质量低劣J2EE应程序
描述 没真正理解EJB
项目阶段
设计
影响阶段
开发稳定化
系统影响
维护
症状
EJB第次调没(尤stateless session bean)
没重复利价值EJB
理解开发者做什容器提供什
EJB没规范定义(fire线程 加载库试图执行IO等等)
解决方案
改进关EJB方面知识找周末阅读EJB规范 (11版314页)然阅读20规范(524页)样解11没定义20规范中补充容EJB开发者181182章节开始阅读较合适
备注
提供商角度EJB确切知道规范支持标准EJB模型基模型特殊应间区会助迁移提供商时候
描述 没真正理解J2EE
项目阶段
设计
影响阶段
开发
系统影响
维护扩展性性
症状
Everything is an EJB设计方式
手工事务理取代容器提供机制
定义方式安全处理 J2EE台企业级计算中表示逻辑台处理已具完整集成安全架构少全部功
解决方案
学J2EE关键组件解优缺点次代服务知识力量里行效
备注
知识够弥补问题Java开发者会成EJB开发者应逐渐成J2EE道高手JavaJ2EE知识掌握越设计开发工作会越出色设计阶段切会条紊
风险2 度设计(Overengineering) (采 EJB者采EJB) 项目阶段:
设计
影响项目阶段
开发
系统影响
维护扩展性性
症状
庞EJB
开发者法解释EJB做什间联系
法重复EJB组件者服务
EJB启动新事务该事务该已存EJB启动
安全数分离级定太高
解决方案
度工程化解决道直接极限编程 (XP)方法:设计编程满足需求外干非需明确知道需求负载求者系统高负载表现否必系统情况做太考虑猜测外J2EE台已定义伸缩性出错恢复等特性服务器系统进行处理
系统中包含组件组件做件事求做进行实现系统稳定性已提高系统维护性会变强未增加功满足新需求变容易
备注
面列方案外推行设计模式 显著改进系统设计EJB模型身广泛设计模式例EJB带Home 接口FinderFactory模式实例EJBremote接口扮演种实际bean实现代理提供容器力关重容器截取调信号提供诸透明(transparent)负载均衡服务忽视设计模式危险部分
常提反外种危险:仅仅EJBEJB应中某部分需EJB甚整应需度工程化走极端确实目睹良servletJavaBean应重构EJB样做没技术理
风险3 没业务规逻辑表现形式相分离
项目阶段:
设计
影响项目阶段:
开发
系统影响
维护扩展性性
症状
庞没边际JSP程序
业务逻辑改变时候必须修改JSP
求改变界面显示时候需修改重新配置EJB台组件
规避方案
J2EE台机会表示逻辑导航控制相分离进业务规相分离称模式2结构
备注
具致性设计进行户界面框架连接(例taglib)帮助避免逻辑分离问题许现成方法供选择分进行评估然采合适框架
风险4 没开发环境中进行适配置
项目阶段:
开发
影响项目阶段
稳定化发成熟期
系统影响
权衡
症状
日数周时间渡成熟系统
风险存渡期带确定性功场景没测试
实际系统中数开发测试中数
法开发者机器进行组建
应行开发稳定化产品环境中相
规避方案
解决道忠实开发环境中配置实际环境开发环境接实施产品环境果未环境JDK 122Solaris 7JDK 13Red Hat Linux进行开发应服务器样快速产品数库中数样数测试赖工创建数果产品数敏感变敏感然配置起开发中未预期产品数程产生破坏:
数检验规
系统测试行
系统组件构建(特包括:EJBEJBEJB数库)
糟糕样产生异常空指针没见问题
备注
开发员常安全性问题放稳定化阶段开始解决防止样陷阱产生花费样时间业务逻辑中改进安全性
成熟期复杂程中充满技术性问题非技术性问题会陷想堆问题中成熟化意味切开发稳定化环境程提供制造更样问题发现样问题方断做减少风险
做工程越越解什行什行工程问题进行记录避免样错误重复发生
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档