首页 > 其他分享 >软件设计与体系结构课上总结

软件设计与体系结构课上总结

时间:2023-03-05 18:22:49浏览次数:40  
标签:原则 修改 软件设计 Number 版本号 课上 Version 父类 体系结构

面向对象的设计原则

一、单一原则:规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分,即设计目的单一的类。

二、开放-封闭原则:软件实体应当对扩展开放,对修改关闭。

三、里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法,即子类可以替换父类。

四、依赖倒置原则:原始定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。其核心思想是:要面向接口编程,不要面向实现编程。依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合。

五、接口隔离原则:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用,即使用多个专门的接口比使用单一的总接口要好

六、组合重用原则:又叫合成/聚合复用原则,它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。
如果要使用继承关系,则必须严格遵循里氏替换原则,及尽量使用组合,而不是继承关系达到重用目的。

七、迪米特原则:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性,即一个对象应对其他对象有尽可能少的了解。

版本号

第一位(1):主版本号。当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。
第二位(2):子版本号。当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。
第三位(3):修订版本号。一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。此版本号由项目经理决定是否修改。
日期版本号(20201228):用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。
希腊字母版本号(rc):此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。


命名格式:

1、 GUN 风格版本号 主版本号 . 子版本号 [. 修正版本号[build- 编译版本号 ]] 英文对照 : Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]] 示例1:1.2 示例2:1.2.0 示例3:1.2.0 build-1234 2、 Windows 风格版本号 主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]] 英文对照 : Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]] 示例1:1.2.0.1234 3、 Net Framework 风格版本号 主版本号.子版本号[.编译版本号[.修正版本号]] 英文对照: Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]]

 

标签:原则,修改,软件设计,Number,版本号,课上,Version,父类,体系结构
From: https://www.cnblogs.com/he77/p/17181086.html

相关文章

  • 逆向软件设计和开发——图书馆管理系统
     本次作业使用的资源来自21计算4班肖佳伟、刘思辰大一c++大作业初版对项目进行分析:该系统面向借阅者,界面简洁明了,功能基本完善。该系统一共设计了2大类:user类和book......
  • 实验一:逆向软件设计和开发能力
    参考代码来源:https://blog.csdn.net/aasd23/article/details/123722532为完成实验目标,本人在网络上找到了一个基于jsp实现简单登录注册功能的程序,该项目功能基本完善,界面......
  • Linux运维DAY--3 课上笔记
    上周内容: 1.介绍Linux 2.介绍Vmware虚拟机(使用) 3.Xshell远程的连接(网络方式连接) 4.在安装一台新的CentOS7操作系统IP地址为10.0.0.100[手动|自动Cobble......
  • 软件设计与体系结构第一次分享
    1.单一职责原则:就是对于类来说,一个类应该只负责一项职责,规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分,也就是说,接口的职责并不是单一的,而是包含两个职责(......
  • 逆向软件设计和开发——留言板系统
    该系统实现了留言板的登陆和注册,留言的增加和读取。采用mysql数据库,把用户的信息(用户名、id(唯一)、密码)和留言(标题、内容、作者昵称、留言时间)分别储存在”yonghu”和”mess......
  • 逆向软件设计和开发——员工信息管理系统
    逆向软件设计和开发是一个程序员在软件开发中必备的能力,只有具备了逆向的软件开发能力,才可以改进别人的已经写好的软件,并不断完善。本次课程设计我逆向开发的软件是一个使......
  • 软工2月27日课上测试代码
    课堂练习01题目:计算最长英语单词链。一、题目内容:大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N个不同的英语单词,我们能否写一个程序,快速找出最长......
  • 并行计算机体系结构
    网络的分类OCNsSANsLANsWANs网络基本概念链路:节点或开关之间的连接线。网络:开关为V,链路为E组成的图;当开关之间全连接,称为全连接网络;网络分类间接网络Ω网络任意......
  • 课程笔记整理 面向服务的软件设计与开发方法
    服务层次结构编程思想发展史面向对象→面向组件→面向服务抽象程度越来越高(粒度越来越大)耦合程度越来越松应用范围越来越大从程序应用到企业业务通信范围越来......
  • 观看博客代码,感悟软件设计
     在这次软件项目的寻找中,我在网上上找到了一个完成度较高的个人博客系统,并且将其下载进行对个人博客系统进行分析,最后对该系统的一些不足提出了一些我个人的想法。 在......