`
王杲杲
  • 浏览: 44399 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

“学习OO好榜样”之软件质量属性

阅读更多

以前写邮件的时候,很多同事都说软件产品的质量属性太多。

周末重看《Java与模式》,发现阎宏博士的一些简短归纳,感觉有些道理,可作参考。

阎宏认为,比较重要的质量属性为可维护性和可重用性。可维护性又分为:可扩展性、灵活性、可插入性。
我认为,可维护性,分为:可读性、可扩展性、可修改性、可插入性,将更加圆整、更加容易理解。
首先,代码要可读,可读才可理解,可理解才可维护。其余的可扩展性、可修改性、可插入性是对系统增加新零件、修改原有零件、更换原有零件的支持,支持了这三种对系统的维护方式,系统当然就可维护了。

另外,我觉得还有一个比较重要的质量属性,是可测试性。不过,怎么样才更加可测试?我还暂时还没有让自己满意的想法。
一般来讲,可插入性好会比较容易测试,因为可以较容易地插入Mock对象模拟系统行为。其次,变化封装得好将更加容易测试,否则,多种干着不同事情的逻辑混杂在一个方法中,显然不容易测试。

参考文献:阎宏《Java与模式》

分享到:
评论
5 楼 suifeng 2007-07-20  
归纳得好,值得学习。
4 楼 pdw2009 2007-07-19  
《Java与模式》中前几章详析了对象设计的原则与方法!
3 楼 yiding_he 2007-07-17  
关于如何设计低耦合的系统,建议看看《敏捷软件开发:原则、模式与实践》。
2 楼 Calmfeeling 2007-07-17  
设计模式确实是学习和领悟oo的好东西
1 楼 gurudk 2007-07-17  
这个只能叫做源代码质量属性

相关推荐

    学习oo好榜样(设计良品)

    【学习oo好榜样(设计良品)】 设计良好的软件代码是每个程序员追求的目标,而避免“Bad Smells”(不良代码气味)并进行...因此,每个程序员都应该学习oo的好榜样,拒绝编写垃圾代码,致力于设计出优雅、高效的软件。

    OO软件工程

    在IT行业中,面向对象(Object-Oriented, 简称...通过对“OO系统分析.doc”、“OO需求.doc”和“OO系统设计.doc”文件的学习和实践,我们可以深入理解这一领域的核心概念和技术,从而更高效地开发出高质量的软件产品。

    ABAP OOALV学习文档

    ### ABAP OOALV 学习文档详析 #### 一、ABAP OOALV 概述 **ABAP OOALV**(Object-Oriented Application List Viewer)是一种用于SAP系统的高级列表显示技术,主要用于生成复杂的报表和列表视图。自R/3 4.6C版本起...

    SAP ABAP开发学习——第10课:OOALV(视频教程)

    在本课程中,我们将深入探讨SAP ABAP的面向对象技术在ALV(ABAP List Viewer)中的应用,这是SAP ABAP开发学习的第10课,专注于OOALV。这个主题对于任何想要在SAP系统中进行高效数据展现和处理的开发者来说都是至关...

    实战OO的pdf自留备份

    《实战OO》是一本深入探讨面向对象(Object-Oriented, OO)编程技术的书籍,主要针对软件开发人员,特别是那些关注于软件设计流程和优化的开发者。此书的PDF版本是作者或读者为了个人学习和参考而留存的备份,包含了...

    OOALV常用功能完整简例

    例如,“g_alv_grid”是一个OOALV对象的引用类型,而“g_it_show”是一个与之关联的内表。代码片段中展示了如何通过SQL查询读取数据,并通过ALV展示。 “PERFORM frm_set_alv_toolbar”这一行代码表明系统中存在一...

    面向对象需求分析(OO RES)

    面向对象需求分析(OO RES) 面向对象需求分析(Object-Oriented Requirements Engineering,OO RES)是一种基于面向对象技术的需求分析方法。该方法将需求分析过程分为三个主要阶段:问题域分析、需求定义和系统...

    设计模式——可复用的OO软件

    设计模式——可复用的OO软件

    OO及UML教程

    《OO及UML教程》是面向对象编程(Object-Oriented Programming, OOP)与统一建模语言(Unified Modeling Language, UML)...通过深入学习,开发者能够提升软件设计能力,为构建高质量、可维护的软件系统奠定坚实基础。

    ABAP OO的八个理由

    【ABAP OO的八大理由详解】 1. 数据封装与稳定性:ABAP面向对象(OO)编程的核心优势之一是数据封装,它将数据和操作数据的方法捆绑在...因此,理解并掌握ABAP OO的这些理由,对于提升开发效率和软件质量至关重要。

    88oo-partitionexpert2003

    软件的菜单布局清晰,各项功能一目了然,减少了用户的学习成本。 最后,值得注意的是,88oo PartitionExpert 2003虽然发布于2003年,但其设计理念和功能至今仍具有很高的实用价值。随着技术的发展,后来的分区软件...

    软件工程OO方法学PPT学习教案.pptx

    面向对象方法学是软件工程领域的一种重要方法,它旨在解决传统方法学在软件开发过程中遇到的问题,如生产率低、重用性差、...通过理解这些概念并应用到实际开发中,可以改善软件工程的实践,提高软件质量和开发效率。

    《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导

    第一册:《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。 第二册:《HeadFirst设计模式》(中文版)共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计...

    OO4O简介以及其在VC++中的应用

    **OO4O的C++类库**是本文讨论的重点之一。该类库简化了自动化对象的获取过程,使得开发者能够用较少的代码完成复杂的数据库操作。 - **连接数据库**:使用`Oo4oSession`类建立数据库连接。 - **执行SQL语句**:通过...

    OO系统分析员之路--用例分析系列

    【OO系统分析员之路--用例分析系列】是一组关于用例分析的教程,适合初学者和有一定经验的系统分析员。本系列共八篇文章,旨在深入解析面向对象(OO)系统分析中的用例分析技术,帮助读者理解和掌握用例在需求分析中...

    oo 面向对象action

    在深入学习面向对象编程时,我们需要掌握如何分析问题并设计合适的类结构,合理地使用继承和多态,以及如何编写高质量的、易于理解和维护的代码。通过阅读“action.doc”文档和研究“action.zip”中的代码实例,我们...

    实战OO 用例 建模

    实战OO_用例建模 实战OO_用例建模 实战OO_用例建模

Global site tag (gtag.js) - Google Analytics