
软件工程
文章平均质量分 89
Reacubeth
imperfect but true
展开
-
奥威尔:老大哥在看着你-软件公司十诫
奥威尔:老大哥在看着你 Orwell: Keeping an Eye On You是一款反乌托邦政府监控模拟器。其中的奥威尔(Orwell)是一项新的政府安全计划,有权对“国家”中每个人的在线状态进行调查。它可以监视所有个人通信并访问任何计算机。为了保护公民的隐私,人类研究人员检查了奥威尔发现的数据,并决定应将哪些信息传递给安全部队,以及将哪些信息拒绝。其中罗森软件公司提到的十诫很有意思。全文如下:十诫罗森科技相信卓越的品质和绩效与明晰的规则密不可分。所以我们每一天要以十诫来指导自己的工作:1.所有原创 2020-05-30 17:23:19 · 698 阅读 · 0 评论 -
迭代器模式C++实现
简介提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。动机一个聚合对象,如列表(List)应提供一种方法来让别人可以访问它的元素,而又不需要暴露它的内部结构。针对不同的需要,可能要以不同方式遍历这个列表。迭代器模式可以解决这些问题。这一模式的关键思想是将对列表的访问和遍历从列表对象中分离出来并放入一个迭代器(iterator)对象中。迭代器类定义了一个访问该列表元素...原创 2019-09-27 14:07:04 · 1328 阅读 · 0 评论 -
组合模式与职责链模式编程实现
组合模式简介将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。动机总部、分部和办事处是成树状结构,也就是有组织结构的,不可以简单的平行管理。希望总公司的组织结构,比如人力资源部、财务部的管理功能可以复用于分公司。这其实是整体与部分可以被一致对待的问题。适用性想表示对象的“部分-整体”层次结构。希望用户忽略组合对象与单个对象的...原创 2019-09-14 09:47:51 · 978 阅读 · 0 评论 -
享元模式C++实现(flyweight)
简介动机假设成立一个外包公司,主要给一些私营业主建网站。商家客户都类似,要求也就是信息发布、产品展示、博客留言、论坛等功能。各个客户要求差别不大,但客户数量多。内部状态和外部状态在享元对象内部并且不会随环境改变而改变的共享部分,可以成为是享元对象的内部状态。随环境改变而改变的、不可以共享的状态就是外部状态。享元模式可以避免大量非常相似类的开销。在程序设计中,有时需要生成大量细粒度...原创 2019-08-04 14:36:32 · 573 阅读 · 0 评论 -
适配器模式C++实现
本文共916个字,预计阅读时间需要3分钟。简介适配器模式:将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作适配器模式的别名为包装器(Wrapper)模式,它既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式定义中所提及的接口是指广义的接口,它可以表示一个方法或者方法的集合。结构:客户端使用的Target类需要使用一个已经存在的接口Adapt...原创 2019-07-30 17:03:30 · 1482 阅读 · 0 评论 -
软件测试——测试计划
完整版(包括表格和图片)请访问:http://www.omegaxyz.com/2019/08/02/software-testing/本文共6034个字,预计阅读时间需要16分钟。文章目录1简介1.1综述1.2在线测评系统测试目的与测试任务1.3受众2功能分析2.1待测软件功能2.2 功能分解3. 测试方法与测试策略3.1 测试流程3.2 测试方法综览3.3 测试整体策...原创 2019-08-02 18:25:48 · 2360 阅读 · 0 评论 -
装饰模式C++实现
简介动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活。动机有时我们希望给某个对象而不是整个类添加一些功能。使用继承机制是添加功能的一种有效途径,但不够灵活,用户不能控制对组件添加功能的方式和时机。一种较为灵活的方式是将组件嵌入另一个对象中,由这个对象添加功能,我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致,因此它对使用该组件的客户透明。适...原创 2019-08-02 17:17:16 · 1384 阅读 · 0 评论 -
抽象工厂模式与单件模式C++混合实现
抽象工厂当每个抽象产品都有多于一个的具体子类的时候,工厂角色怎么知道实例化哪一个子类呢?比如每个抽象产品角色都有两个具体产品。抽象工厂模式提供两个具体工厂角色,分别对应于这两个具体产品角色,每一个具体工厂角色只负责某一个产品角色的实例化。每一个具体工厂类只负责创建抽象产品的某一个具体子类的实例。单件模式Singleton就是确保一个类只有唯一的一个实例。Singleton主要用于对象的创建...原创 2019-07-24 10:15:51 · 1140 阅读 · 0 评论 -
软件需求规格说明书范例
完整版(包括图片表格,请访问 http://www.omegaxyz.com/2019/07/23/software-specification/)文章目录一、 引言1.1 定位与目标1.2 对象1.3 软件需求分析理论1.4 软件需求分析目标二、 需求概述2.1 项目背景2.2 需求概述2.3 系统结构三、 系统功能需求3.1 功能总览3.2 业务流程图3.3 数据流...原创 2019-07-24 10:11:21 · 171902 阅读 · 2 评论 -
JavaWeb-MVC模式概述
MVC设计模式MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。MVC可对程序的后期维护和扩展提供了方便,并且...原创 2018-10-05 11:04:41 · 1499 阅读 · 0 评论 -
软件工程内聚详解
简介 内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。内聚和耦合是密切相关的,同其他模块存在高耦合的模块意味着低内聚,而高内聚的模块意味着该模块同其他模块之间是低耦合。在进行软件设计时,应力争做到高内聚,低耦合。偶然性内聚 定义:一个模块执行多个完全不...原创 2018-06-10 21:24:08 · 14385 阅读 · 2 评论 -
软件工程-软件小组的组织形式
为什么要形成软件小组 大多数软件产品由一个软件专业人员不可能在有限时间内单独完成。因而,产品必须分配给一组专业人员,形成一个小组。在具体说软件小组的组织形式之前先介绍一下布鲁克斯法则。布鲁克斯法则 布鲁克斯是上世纪60年代IBM System/360的操作系统OS/360的开发负责人,这之后基于当时的经验写了《人月神话》一书。有这样一个项目需要12个人月,那么3个人4个月就能完成该任务...原创 2018-06-02 19:57:51 · 5142 阅读 · 0 评论