步入J2EE架构和过程2
来源:网络 更新时间:2014-12-11
4、对象设计
在架构规范的指导下,设计从技术上扩展和修改了分析结果。虽然分析阶段的领域对象
建模应该与技术细节无关,但是对象设计完全依赖于技术因素,包括平台、语言的类型
和架构开发阶段选择的供应商。分析时,抬头望着星星,但在设计阶段,则要脚踏实地
。理论上,为了维持业务对象的基本属性和行为,除非绝对必要,不应该破坏它们。
在架构结果的指导下,详细设计工作应该说明所有类的规格,包括必须实现的属性、它
们的详细接口和伪代码或操作的纯文本描述。规格说明应该足够详细使得和模型图结合
时,它可以提供所有必须的编码信息。在许多自动化软件生产过程中,我们可以从面向
对象图生成代码框架。图5和6说明了对一些领域对象的高层和详细设计对象。注意桩(
stub)和框架(skeleton)在图中经常是不可见的,因为它们对设计人员和编程员来说
是透明的。我将它们包括在图6中以说明EJB的基础部分。
图6对象设计模型:订单EJB详细设计
在完成了详细对象设计后,还需要完成领域对象的对象-关系映射。原因是虽然面向对象
方法学现在非常流行,但是大多数流行且成熟的持续性存储却是关系型的。另外,在许
多情况下,客户的IT基础设施已经反映了对商业RDBMS供应商的投资和偏爱。所以,将领
域对象转换成关系模型或数据库表是非常重要的。虽然有许多容器管理的持续性工具,
但它们不能取代好的关系数据库设计。
5、实现
在良好的架构和详细设计条件下,实现应该是一个明确的任务。另外,因为我们设计和
实现架构原型阶段的纵向联合部分,所以实现阶段应该更没有什么值得惊讶的。在许多
组织中,开发者经常过早地到达实现阶段。尤其当管理者盯着开发人员确保在编码,而
不是做他们认为在浪费公司时间的其他事情时,这种情况变得更加严重。
结果,不再花数小时或数天绘出UML草图,而是通常在发费数周或数月编码的同时测试自
己的想法。由于在这种情况下,所有地架构决定和设计都是在编码阶段做出来的,所以
经常过了数月后才发现开发的方向出错了。
6、验证
验证包括测试验证系统按设计要求运行并满足需求。验证过程发生在整个开发生命周期
的开发和产品环境中。单元测试、集成测试和用户测试本身就是非常重要的主题。
7、装配和部署
构件装配和解决方案部署在J2EE开发中特别重要。开发和产品环境可能非常不同。如果
EJB在系统中,你需要使用供应商特定的工具得到容器自动生成的类,因为,正如我以前
指出的,Web和应用程序构件配置对不同的供应商来说是不同的。你也必须考虑要部署的
系统是否含有供应商特定代码实现。在可扩展架构中,系统结构应该是稳定的但也应该
在不影响整个系统的条件下支持新或老构件的增量部署。
8、运行和维护
在最后阶段,应用程序到了用户手中,你必须给他们提供培训和文档。用户会发现错误
并可能要求新特性。你必须适当地改变管理过程来处理这些情况。你不必为了部署一个
新构件或取代老构件而关闭一个正在运行的系统。
架构开发过程
知道了必须做出许多架构决定,因此我们必须为架构开发描绘一个过程。对于一个企业
来说通常有许多应用项目,它们中的一些可能跨越数年,结果是系统演化包含许多周期
。在你的领域里存在着许多跨越多个项目的通用需求。你应该不费力地在它的生命周期
或其他项目中使用以前项目周期的可扩展且可重用的架构。为一系列软件应用提供同属
结构和行为的通用框架和可重用软件架构是非常需要的。
如果是第一个J2EE项目,架构必须做原型、测试、度量、分析并在迭代中进行推敲。蓝
图提供了许多好的设计指导和实践,宠物店示例程序可以作为一个很好的参考架构。最