软件工程

  1. 对软件工程的理解
    软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
  2. 典型设计模式
    设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。
  • 单例模式
    这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建,单例类只能有一个实例。
  • 命令模式
    命令模式是一种数据驱动模式,请求以命令的形式包裹在对象中,并传给调用对象,调用对象选择合适的对象处理该命令。
  • 工厂模式
    所有类型都放到一个工厂中生产,存在大量的if-else判断以及switch判断。
    工厂类通过判断逻辑决定创建哪一个类的实例。
  • 抽象工厂模式
    抽象工厂模式是围绕一个超级工厂创建其他工厂,接口是负责创建相关对象的工厂,每个生成的工厂都能按照工厂模式提供对象。
  • 观察者模式
    当对象间存在一对多关系时,则使用观察者模式。当一个对象被修改时,则会自动通知所有依赖它的对象。
  • 适配器模式
    适配器模式是作为两个不兼容的接口之间的桥梁。
  • 装饰者模式
    允许向一个现有的对象添加新的功能,同时又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,同时添加一些额外功能。
  1. java接口和抽象类的区别
  • 一个类可以实现多个接口,但是却只能继承一个抽象类
  • 抽象类可以包含具体的方法,接口的所有方法都是公有抽象的
  • 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的
  • 抽象类可以定义构造函数,但是接口不行
  1. 软件测试的分类


    image.png
  • 功能测试
    检查实际软件的功能是否符合用户的需求。有逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试
  • 性能测试
    通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
    • 负载测试:指数据在超负荷环境中运行,程序是否能够承担
    • 压力测试:找到临界点, 压力测试又叫强度测试,它在系统资源特别低的情况下测试软件系统运行情况,目的是找到系统在哪里失效以及如何失效
  • 回归测试
    软件被修改后重新进行的测试(如重复执行上一个版本测试时的用例,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试)
  • 冒烟测试
    是指对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测试性
  • 随机测试
    是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
  1. 测试用例设计
  • 语句覆盖-最弱的逻辑覆盖
    测试用例将所有的可执行语句块覆盖
  • 分支覆盖
    使程序中每个判断的取真分支和取假分支至少执行一次
  • 条件覆盖
    覆盖程序中每个判断的每个条件的可能取值至少执行一次
  • 条件组合覆盖
    每个判断的所有可能的条件取值组合至少执行一次
  • 路径测试
    覆盖所有可能的路径
  • 基本路径测试
    分析程序控制流图的圈复杂度,导出基本可执行路径(独立路径),设计测试用例
  1. 远程过程调用和远程方法调用
  • RPC(Remote Procedure Call)用于调用远程系统中的过程(如函数),远程系统中的过程返回相应的结果。RPC调用实际上是一种称为客户桩的本地代理模拟了远程对象和方法的接口。
  • RMI(Remote Method Invocation)是允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象。它使客户机上运行的程序可以调用远程服务器上的对象。
  • RPC可以用于一个进程调用另一个进程(很可能在另一个远程主机上)中的过程,从而提供了过程的分布能力。Java 的 RMI 则在 RPC 的基础上向前又迈进了一步,即提供分布式对象间的通讯。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容

  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 3,733评论 0 14
  • 软件工程的介绍 软件? 软件是一个产品。 显示了由计算机硬件体现的计算能力。 软件是产品生产的载体,软件提供了计算...
    洽白阅读 2,782评论 0 4
  • 参考资料:菜鸟教程之设计模式 设计模式概述 设计模式(Design pattern)代表了最佳的实践,通常被有经验...
    Steven1997阅读 1,161评论 1 12
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,561评论 18 139
  • 升华,物理名词,意为固态变气态。 如果放在每一天构成的每个星期每一年,升华就是一个能让人分为几个等级的标杆。有些人...
    木辛梅阅读 808评论 1 0