博客
关于我
OO第三次作业总结
阅读量:441 次
发布时间:2019-03-06

本文共 1238 字,大约阅读时间需要 4 分钟。

规格化设计发展史

20世纪50年代,软件随着第一台电子计算机的问世而诞生。随后,专门从事软件开发的专业人士开始出现。然而,在计算机系统发展的早期,硬件通常执行单一程序,而该程序通常为特定目的编写。通用硬件逐渐普及时,软件的通用性却仍然有限,软件往往带有强烈的个人色彩。早期的软件开发缺乏系统方法,通常只保存源代码而缺乏文档。

从20世纪60年代中期至70年代中期,软件开始作为一种产品被广泛使用。随着软件数量的激增和需求的日益复杂,维护的难度也大幅增加,个体化开发方式已无法满足要求。在1968年,北约组织在联邦德国召开的国际学术会议上,首次提出了“软件危机”这一概念。随后,近50名编程人员、计算机科学家和工业界巨头参与讨论,探讨如何摆脱软件危机。70年代,结构化开发方法(PO)等工程原则和方法逐渐被采用,规格化设计逐渐发展。

规格化设计能够减少设计复杂性,简化复杂问题。它在数据处理类软件的需求分析中表现突出,能够规范表达需求,生成简洁易读的文档,为后续设计、测试和评价提供有力支持。因此,它被广泛接受并应用于软件开发。

规格化BUG案例

从表格中可以看出,规格化BUG与功能BUG的交集较少。这是因为规格文档通常在方法实现后编写,出错概率相对较低。值得注意的是,第10次作业中由于“==”错误写为“=”导致了JSF不符合规范的问题。这一错误是笔误,已被修正。

规格化BUG产生原因

这一错误的产生是由于测试人员的细心报告。感谢他们的帮助。主因是笔误,主要出现在类似情况下未能及时检查。已对相关部分进行修正。

规格写法改进

前置条件

  • 布尔表达式:确保前置条件是布尔表达式。
  • 非空检查:谨慎处理非空情况,避免因null值引发崩溃。
  • 参数限制:明确传入集合元素的限制,确保每个元素符合预期。
  • 数值范围:考虑数值范围限制,避免溢出或错误操作。
  • 方法调用:从第10次作业起,还需确保方法调用不会破坏对象有效性。
  • 后置条件

  • 赋值与等式:避免将“=”错误写成赋值语句。
  • 自然语言描述:使用简洁的自然语言描述效果,避免冗长。
  • 异常处理:明确异常抛出,确保异常处理逻辑清晰。
  • 算法描述:避免直接描述算法,使用更简洁的方式表达。
  • 工具使用:合理使用Java工具,确保代码表达清晰。
  • 聚集关系分析

    从表格中可以看出,规格化BUG与功能BUG几乎没有交集。这是因为规格文档通常在方法实现后编写,出错概率较低。主要问题集中在方法实现本身。

    设计规格的基本思路与体会

    由于OO课程的特点,规格文档通常在方法完成后编写。这意味着规格主要基于方法实现,导致前置条件和后置条件的编写相对基础。然而,细化每个类和方法的职责,降低方法调用层级,是设计时的重要原则。

    初次接触规格化设计时,我深刻体会到其在实际工程中的价值。良好的规格文档有助于代码理解,起到注释的作用,同时既不限制实现,也为团队协作提供了清晰的需求阐述。通过这次经历,我认识到规格书写习惯对工作的重要性,希望未来能在实践中不断提升这一技能。

    转载地址:http://bbcyz.baihongyu.com/

    你可能感兴趣的文章
    mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
    查看>>
    MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
    查看>>
    MYSQL8.0以上忘记root密码
    查看>>
    Mysql8.0以上重置初始密码的方法
    查看>>
    mysql8.0新特性-自增变量的持久化
    查看>>
    Mysql8.0注意url变更写法
    查看>>
    Mysql8.0的特性
    查看>>
    MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    查看>>
    MySQL8修改密码的方法
    查看>>
    Mysql8在Centos上安装后忘记root密码如何重新设置
    查看>>
    Mysql8在Windows上离线安装时忘记root密码
    查看>>
    MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
    查看>>
    mysql8的安装与卸载
    查看>>
    MySQL8,体验不一样的安装方式!
    查看>>
    MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
    查看>>
    Mysql: 对换(替换)两条记录的同一个字段值
    查看>>
    mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
    查看>>
    MYSQL:基础——3N范式的表结构设计
    查看>>
    MYSQL:基础——触发器
    查看>>
    Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
    查看>>