自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 HIT软件构造学习笔记-第五章

运维是软件开发中最困难的环节,处理来自用户报告的故障/问题纠错性:对BUG进行维护适应性:例如吧APP从电脑移植到手机完善性:软件的功能不足,对功能进行扩充预防性:预见软件后期需要升级,为了适应后期的升级,对软件结构来进行很好的设计。软件演化:对软件进行持续的更新如现在大部分的成本都在维护阶段模块化编程1)高内聚:每个模块完成一个功能2)低耦合:每个模块关联少3)分离关注点:每个模块功能少4)信息隐藏:模块的信息被隐藏模块设计五种指标可分解性:软件可以分成不同模块(每个模块有自己.

2020-07-10 16:58:47 208

原创 HIT软件构造学习笔记-第四章(下)

4.2面向复用的软件构造技术大纲:设计可复用的类:(1)表示独立性(2)继承和重写(3)重载(4)泛型(5)LSP(6)组合与委托(1)~(4)都在3.2中讲过了这节主要就是讲解(5)和(6)一.LSP*此处考点:检查子类型是否合理如果:B为A的子类,则任何B都为A(A能做到的,B也能做到)–subtyping类就包括两部分:属性和方法我们通过RI限制属性,通过功能评定方法1.LSP:(1)子类型的RI强度必须≥父类(2)子类不能删除父类中的方法,但可以增加,并且子类的方法

2020-07-08 20:13:15 206

原创 HIT软件构造学习笔记-第四章(上)

4.1可复用性的度量,形态和外部表现本章面向一个重要的外部质量指标–可复用性越抽象的模块,可复用性就越强大纲:源代码级别的复用模块级别的复用(类/抽象类/接口)库级别的复用(API/包)系统级别的复用(框架)一.可复用性1.硬件产品是典型可复用性的例子软件:(1)面向复用的编程:开发复用的软件(2)基于复用的编程:利用已有的可复用软件构造新的2.要求:(1)降低成本和开发时间(2)经过充分的测试,可靠,稳定(3)标准化,在不同的应用中保持一致上图红色线条为可复用性的开发成

2020-07-08 19:47:11 265

原创 HIT软件构造学习笔记-第一章

第一章最重要的就是:软件构造的三个维度(1)run time/build time(构建时和运行时)(2)moment and period(时刻和周期)(3)code or component(代码和组件)具体如下图:软件构造的过程:想法→需求→设计→代码→可安装性/可执行性包这个不要求很深,只要能知道各个阶段具体在干嘛就行了1.2软件构造的质量目标一.软件系统的质量属性1.外部质量因素和内部质量因素:(1)外部质量是用户能够感受到的,影响用户的使用 (如速度和易用性)内部质

2020-07-07 15:43:59 283

原创 HIT软件构造学习笔记-第三章(下)

3.4面向对象的编程一.一些基本概念1.静态成员和实例成员2.接口:接口是用来确定ADT规约的,所以接口中只能有供用户使用的方法,不能存在构造函数(1)接口之间可以继承和扩展(2)一个类可以实现多个接口(3)一个接口可以有多个实现类*另外要注意,接口的返回值也是虚拟的,不能存在具体实现,此处有考点:改接口的代码3.继承和重写:(1)严格继承:所有的子类只能添加新的方法,不能对原有父类的方法进行重写(注意:final类型的不能被继承和重写)(2)重写:就是对父类的方法进行改进,但是

2020-07-06 15:19:32 159

原创 HIT软件构造学习笔记-第三章(中)

3.2注释和规约一.规约测试在写测试用例的时候不违反规约就可以二.设计规约1.规约的性质:(1)规约的确定性(2)规约的陈述性(3)规约的强度*此处考点:比较两个规约的强度(要注意有一些规约是无法比较强度的–图形交叉)2.规约的强度:if S2 的前置条件更弱 or S2 的后置条件更强 则:规约强度S2>S1前置条件弱:对应着用户的输入限制变弱,也就是说,用户的可输入选项增多了后置条件强:对应着输出的限制变强,满足条件的输出变少了同时,规约越强,对应的图形就越大3.如何写

2020-07-06 13:18:04 207

原创 HIT软件构造学习笔记-第三章(上)

3.1数据类型与类型检验*mutable和immutable的区别*snapshot diagram一.数据类型(本质为集合)1.分类:基本数据类型:int等面向对象的数据类型:类2.区别:基本数据类型存放在栈中(在栈中只存放数值,不存放变量)类则存放在堆中(不同的对象要分开存储)3.类:类具有继承关系,相当于集合的包含关系二.数据类型的检测1.静态类型检测:相当于直接检测,在编译的过程中就能直接报错(1)语法错误(2)类名/函数名错误(3)参数数目错误/类型错误(4)返

2020-07-06 11:08:37 284

原创 HIT软件构造学习笔记-第二章

2.1软件生命周期与配置管理大纲:软件开发的基本过程软件的配置管理一.软件的生命周期(Lifecycle of a software)From 0 to 1 —— 从无到有From 1 to n —— 从有到好分析设计编码测试部署和运行软件虽然不会磨损,但是需要维护和升级,需要增加新的功能二.传统的软件开发过程主要过程:线性过程迭代过程常见的软件开发模型:瀑布过程:1.线性过程最直接的体现2.无法适应需求的增加和变化3.与用户到

2020-05-30 15:57:19 345

原创 lab2-1180300729

2020年春季学期计算机学院《软件构造》课程Lab 2实验报告1 实验目标概述 12 实验环境配置 13 实验过程 13.1 Poetic Walks 13.1.1 Get the code and prepare Git repository 13.1.2 Problem 1: Test Graph 13.1.3 Problem 2: Implement Graph 13.1.3.1 Implement ConcreteEdgesGraph 23.1.3.2 Implement

2020-05-17 13:59:28 284

原创 lab1-1180300729

1实验目标概述训练基本java编程技能,能够利用java OO开发基本的功能模块,能够阅读理解已有的代码框架并根据功能需求补全代码,能够为所开发的代码编写基本的测试程序并完成测试,初步保证开发代码的正确性。另一方面,利用GIT作为代码配置管理的工具,学会GIT的基本使用方法。2实验环境配置JDK和Eclipse都是正常安装配置,没有出现问题安装了Git Bash并且按照教程进行配置GitHub Lab1仓库的URL地址:https://github.com/ComputerScienceHIT/

2020-05-17 13:46:30 165

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除