- 博客(11)
- 收藏
- 关注
原创 软件构造(十) 面向可维护性的构造技术
1.软件维护与演化软件维护(Software maintenance) 是在软件产品交付后对其进行的修改,以纠正故障、提高性能或其他属性修复完代码之后还要测试所做的修改、进行回归测试、记录发生了什么变化软件维护分为几类:纠错性维护:交付后对软件产品进行的反应性修改,以纠正发现的问题适应性维护:交付后对软件产品进行的修改,以保持软件产品在变化或变化的环境中可用完善性维护(最主要):在交付后增强软件产品,以提高性能或可维护性预防性维护:在交付后对软件产品进行修改,以便在软件产品中的潜在故障变为有
2021-07-06 22:33:21
340
原创 软件构造(九) 面向复用的软件构造技术
1.什么是软件复用软件重用是使用现有软件组件实现或更新软件系统的过程。软件复用有两方面:面向复用编程:开发出可复用的软件基于复用编程:利用已有的可复用软件搭建应用系统为什么复用:降低成本和开发时间经过充分测试,可靠、稳定标准化,在不同应用中保持一致...
2021-07-06 20:41:21
488
原创 软件构造(七) 面向对象的编程
1.基本概念:对象、类、属性和方法1.1 对象(Object)对象有两个特征:状态和行为状态:对象所包含的数据行为:对象支持的操作,是指面向对象的函数1.2 类(Classes)每个对象都有一个类。类定义了方法(Methods)和字段(Fields)字段即属性,方法即函数类的方法是它的应用程序编程接口(API),它定义用户如何与实例交互在类中,变量与方法均分为两类:静态和实例类成员变量(Class variable): 与类关联的变量,而不是与类的实例关联的变量类方法(class
2021-07-04 00:21:11
225
原创 软件构造(六) 抽象数据类型 (ADT)
1.抽象和用户定义类型除了编程语言自带的数据类型,用户也可以自定义数据类型抽象类型(Abstract types)关注于操作,用户不必担心它的值是如何实际存储的,重要的是功能一个抽象类型被它的操作所定义,与其内部如何实现无关2.分类类型和操作抽象数据类型(ADT)的操作可以分为几类:构造器(Creators): 从无到有,构造一个对象的方法。构造器可以将对象作为参数。 t* → T生产器(Producers): 从旧的对象中产生一个新的对象。T+, t* → T观察器(Observers
2021-07-03 17:27:18
410
原创 软件构造(五) 设计规约
1.程序设计语言中的函数和方法程序是由一个个小的方法组成的,对于用户来说,并不需要知道方法具体如何实现,只需要知道,方法如何使用[…] name(TYPE a1, TYPE a2){ Statment;}以上就是一个方法的简单结构,而一个完整的方法,不仅要包含方法体还要有方法的规约2.规约2.1 编程文档化我们翻阅的Java以及各类编程语言的手册就是很典型的编程文档化的一个例子(推荐一个很实用的软件Zeal)记录下我们代码的假设也是文档化的一个重要手段,写下一个变量的类型记录了一个关于
2021-07-03 15:43:24
362
原创 软件构造(四) 数据类型与类型检验
1.程序设计语言中的数据类型数据类型(type): 一组值以及可以对其执行的操作例如:Java的基本数据类型整型byte、short、int、long浮点型float、double字符型char布尔型boolean变量(Variables): 存储特定类型值的命名位置接上面Java的数据类型,Java还有对象数据类型(例如:Classes,interfaces, arrays, enums,annotations),它在堆中分配空间,可以可变也可以不可变,相对于基本数据类型更加灵
2021-07-03 14:12:24
199
原创 软件构造(三) 软件构造过程与配置管理
1.软件开发生命周期(SDLC)From 0 to 1 从无到有 (这不tm废话么)2.传统软件过程模型两种基本类型线性过程(Linear)迭代过程(Iterative)现有的模型有:瀑布模型分为概念、启动、分析、设计、构建、测试、实现和维护等阶段。就像瀑布一样流经这几个过程。说白了就是线性的过程。因为是一条道走到黑,因此无法适应变化增量过程模型将一个瀑布模型分为多个瀑布模型去实现,与瀑布模型能适应一定变化的需求了V字模型可以看作是瀑布模型的一个扩
2021-07-02 23:21:58
546
原创 软件构造(二)软件测试与测试优先的编程
1.软件测试测试是提高软件质量的重要方法。一个好的测试要有以下特点:能发现错误、不冗余、最佳特性、不复杂也不简单。但是再好的测试也存在缺陷。测试大致可分为几个阶段:单元测试(Unit Testing): 测试部分代码的功能集成测试(Integration Testing): 多个类、包、组件和子系统组合的测试系统测试(System Testing): 测试一个完全集成的系统,以验证该系统满足其要求,从而在其最终配置中执行软件当然,还有其他的其他测试类型:安装测试、兼容性测试、烟雾和理智测试等等
2021-07-02 17:11:24
286
原创 软件构造(一) 软件构造的多维度视图和质量目标
软件构造的多维视图1. Build-time(构造阶段)idea(创意) -> requirement(需求) -> design(设计) -> code(源码) -> installable / executable package(可安装或可执行的文件)1.1 Moment and Code-level(时刻与代码视图)描述了源代码是如何有逻辑地被组织起来的。如函数、类、方法、接口等,以及之间的依赖关系。词汇: 面向词汇的源码——半结构化(近乎自然语言的风格+遵循特
2021-07-02 14:22:36
338
原创 程序人生-Hello’s P2P
计算机系统大作业题 目 程序人生-Hello’s P2P专 业 计算学部学 号 1190200917班 级 1903012学 生 郑瑞捷指 导 教 师 史先俊计算机科学与技术学院2021年5月摘 要俺是Hello,额是每一个程序猿¤的初恋(羞羞……)却在短短几分钟后惨遭每个菜鸟的无情抛弃(呜呜……),他们很快喜欢上sum、sort、matrix、PR、AI、IOT、BD、MIS……,从不回头。只有我自己知道,我的出身有多么高贵,我的一生多么坎坷!多年以后,那些真正懂我的大佬(也是
2021-06-27 23:10:43
1375
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人