软件接口

测试过程

与世无争的帅哥 提交于 2019-12-05 20:02:04
软件生命周期 软件测试要经过一个什么样的过程呢,这就要从软件的生命周期开始说起了。 软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期。 整个生命周期包括问题定义与规划、需求分析、系统设计、软件编程、软件测试、软件运维等阶段。 在周期内,无论是开发还是测试都依赖于某个模型进行作为依据,有效地提高开发、测试效率。 软件开发模型 在软件开发的实践中,总结了很多软件的开发模型来描述和表示一个复杂的开发过程,如果瀑布模型、快速原型模型、螺旋模型等。 软件测试与软件开发模式有着紧密的关系,作为一名测试人员,应该充分理解软件的开发模式,尽快的找准自己的位置,从而尽快的发挥自己的价值。 瀑布模型 瀑布模型是线性模型的一种,在所有的模型中占有重要的地位,是所有其他模型的一个基础。 瀑布模型如同工地里的建造盖房流程,使用里程碑的方式,严格定义了各开发阶段的输入和输出。如果达不到要求的输出,下一阶段的工作就不展开。 测试的切入点,开发完成后,必须留给测试足够的时间给测试人员,否则可能会导致测试不充分,导致很多问题到项目的后期才体现出来。 优点 明确划分了软件生命周期的各个环节。 强调早期软件计划,需求分析比较重要。 清晰的工作流程,便于分工协作。 适合需求稳定的产品开发。 每个阶段都有一个检查点。 缺点 线性的开发流程,存在巨大的风险。 依赖于早期的需求调查

SOA(Service-Oriented Architecture)

谁说胖子不能爱 提交于 2019-12-05 03:07:20
SOA( Service-Oriented Architecture ) 面向服务的体系结构 SOA( Service-Oriented Architecture ) 是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。 目录 1. 1 定义介绍 2. 2 体系结构 3. ▪ 松耦合的系统 4. ▪ 体系结构作用 5. 3 特性状况 1. 4 新兴变革 2. 5 为何选择 SOA 3. ▪ 简介介绍 4. ▪ 服务架构 5. ▪ 基础结构 6. ▪ 服务品质 1. ▪ 安全质量 2. ▪ 可靠信度 3. ▪ 策略计划 4. ▪ 控制能力 5. ▪ 管理能力 6. ▪ Web 服务 1. ▪ SOA 优势 2. ▪ 发展效益 3. ▪ 主要优势 4. ▪ 推动因素 5. 6 优点 定义介绍 编辑 面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是 SOA 的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 SOA 是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。

第08组 Alpha冲刺(3/4)

醉酒当歌 提交于 2019-12-05 03:05:56
第08组 Alpha冲刺(3/4) 队名 八组评分了吗 组长博客 小李的博客 作业博客 作业链接 组员1李昕晖(组长) 过去两天完成了哪些任务 文字/口头描述 11月19日了解各个小组的进度与难以攻破的地方,晚上安排开会,安排新的冲刺任务。 学习软件开发的前端编码,地图接口的落地问题。 展示GitHub当日代码/文档签入记录 接下来的计划 解决当下难以解决的问题(云端服务器、支付接口、地图接口等) 安排大家边学边做 还剩下哪些任务 对于细化软件的逻辑功能需要继续研究 支付接口难以实现 燃尽图 遇到了哪些困难 地图接口的问题好像很难解决。 有哪些收获和疑问 学会了及时去了解大家的进度并更改任务分配,尽量让每一个人都有事可做。 要及时了解到每一个人任务的难点,并在大方向上给大家一个明确的目标。 任务分配均匀的疑问需要去请教其他的组长。 组员2陈超星(组员) 过去两天完成了哪些任务 文字/口头描述 进一步优化了界面 展示GitHub当日代码/文档签入记录 接下来的计划 添加数据、测试、找bug、完善功能 还剩下哪些任务 减少bug、完善app的功能 燃尽图 遇到了哪些困难 使用代码添加ViewPager时,app一直瞬间秒退,得不到任何的报错信息,所以百度了很久都不知道是哪错了 有哪些收获和疑问 在吃饭时,突然想到可以用Thread.sleep();来使app暂时停止运行

第08组 Alpha冲刺 (2/4)

橙三吉。 提交于 2019-12-04 21:38:26
第08组 Alpha冲刺 (2/4) 队名 八组评分了吗 组长博客 小李的博客 作业博客 作业链接 组员1李昕晖(组长) 过去两天完成了哪些任务 文字/口头描述 11月17日了解各个小组的进度与难以攻破的地方,与隔壁第七组组长讨论进度发展问题。晚上安排开会,安排新的冲刺任务。 学习软件开发的前端编码,支付接口的落地问题。 展示GitHub当日代码/文档签入记录 接下来的计划 解决当下难以解决的问题(云端服务器、支付接口、地图接口等) 安排大家边学边做 还剩下哪些任务 对于细化软件的逻辑功能需要继续研究 支付接口难以实现 燃尽图 遇到了哪些困难 支付接口的问题好像很难解决。 有哪些收获和疑问 学会了及时去了解大家的进度并更改任务分配,尽量让每一个人都有事可做。 要及时了解到每一个人任务的难点,并在大方向上给大家一个明确的目标。 任务分配均匀的疑问需要去请教其他的组长。 组员2陈超星(组员) 过去两天完成了哪些任务 文字/口头描述 11月17日在云服务器上安装好了mysql并启用,将代码里的服务器地址改成了云服务器的地址,在界面里添加了HuanPin的图标 展示GitHub当日代码/文档签入记录 接下来的计划 试着用代码来实现UI组做出的UI界面 还剩下哪些任务 完善app的UI界面 燃尽图 遇到了哪些困难 云服务器的centos操作系统不会用,用命令行老是有error,百度半天

细谈软件插件式开发

天大地大妈咪最大 提交于 2019-12-03 19:45:40
软件行业竞争激烈,程序员写了软件还不行,老板硬要给软件程序添加插件。 谈起程序插件,很多软件都用到插件,插件脚本语言,比如输入法扩展插件lua,googl浏览器插件JavaScript。甚至连所有动态网站都离不开插件,插件,插件,即插即用。主要是满足用户的需求。 什么是插件式编程?   提起插件式,我们首先想到的是firefox, 用过firefox的人都知道它是一个插件式程序。当一个功能需要,完全可以从网上下载一个插件后,重启后,就能使用。这个功能给我们带来许多的方便之处,这就是插件式程序的好处。   插件的本质在于不修改程序主体(平台)的情况下对软件功能进行拓展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新功能,也就是真正意义上实现“即插即用”软件开发。   平台+插件软件结构是将一个待开发的目标软件分为两部分,一部分为软件的主体或框架,可定义为平台,这是预先编译后的程序。另一部分为功能或补充模块,可定义为插件。这个就是后来要进行安装的插件程序。   假设你的程序已经部署在用户的计算机上,并且能够正常运行了。但是有一天,用户打来电话——他们需要增加新的功能。确定了用户的需求后,你竟然发现原有的软件架构已经无法胜任新增任务的需求——你需要重新设计这个应用了!但问题是,就算你又用了一个开发周期完成了用户需要的应用

程序设计原则

非 Y 不嫁゛ 提交于 2019-12-03 11:10:27
转载: https://blinkfox.github.io/2018/11/24/ruan-jian-she-ji/ruan-jian-cheng-xu-she-ji-yuan-ze/ (原文更漂亮,转载此处,仅为了方便自己阅读) 一、前言 软件也像人一样,具有生命力,从出生到死亡,会经历多种变化。软件架构设计也不是一蹴而就的,是不断地演进发展。每个程序员都可以从理解编程原则和模式中受益。 软件设计原则是一组帮助我们避开不良设计的指导方针。根据 Robert Martin 的理论,应该避免不良设计的以下三个重要特点: 僵化 :很难做改动,因为每一个细微的改动都会影响到系统大量的其他功能 脆弱 :每当你做一次改动,总会引起系统中预期之外的部分出现故障 死板 :代码很难在其他应用中重用,因其不能从当前应用中单独抽离出来 下面这些软件设计原则是我从一些书籍和网络中收集而来,并不完整,而且你也需要在一些有“冲突的原则”之间进行权衡和取舍。本文或许会对你的编程、程序设计、讨论或评审工作有所帮助。 二、通用设计原则 1. KISS 所谓 KISS 原则,即: Keep It Simple,Stupid ,指 设计时要坚持简约原则,避免不必要的复杂化,并且易于修改 。 Everything should be made as simple as possible, but not

java历史简介

那年仲夏 提交于 2019-12-03 10:31:41
java历史简介 Java 是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器 1994年将Oak语言更名为Java 1998年JDK1.2时,更名为Java 2 Platform 分为标准版J2SE,企业版J2EE,微型版J2ME Java 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题 Internet使Java成为网上最流行的编程语言 Java对Internet的影响也意义深远 B/S的兴起 & C/S的没落 任职于太阳微系统的詹姆斯•高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些 智能 化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心

软件构造笔记 3.4 Object-Oriented Programming (OOP)

匿名 (未验证) 提交于 2019-12-03 00:34:01
类变量和类方法与类相关联,并且每个类都会出现一次。使用它们不需要创建对象。实例方法和变量会在每个类的实例中出现一次。 静态方法不与任何特定的类实例关联,而实例方法(不带 static 关键字声明)必须在特定对象上调用。 1. 接口(interface): Java 的接口是一种用于设计和表达 ADT 的有用语言机制,其实现方式是实现该接口的类。接口之间可以继承,一个类也可以实现多个接口,一个接口也可以有多个实现。ADT由Interface和class定义和实现。其中接口用于确定ADT规约,类用于实现ADT。 打破了抽象边界,接口定义中没有包含 constructor ,也无法保证所有实现类中都包含了同样名字的 constructor 。故而,客户端需要知道该接口的某个具体实现类的名字 接口的优点:接口仅仅指定了客户端的合同;抽象数据类型的多个不同表示可以共同存在于同一个程序中,与实现接口的不同类相同。 多种实现的原因:由不同的表现能选择最适合您使用的实施方案;由不同的行为能选择你想要的实现;通常,性能和行为都有所不同。 2. 封装和信息隐藏 区分精心设计的模块和不好的模块的唯一最重要的因素是其隐藏内部数据和其他模块的其他实施细节的程度 设计良好的代码隐藏了所有实现细节,将 API 与实现完全分离,模块只通过 API 进行通信,彼此的内在运作没有联系。 信息隐藏的优势

编程原则浅析

匿名 (未验证) 提交于 2019-12-03 00:32:02
作者: pengdai 出处: https://www.cnblogs.com/pengdai 一、开发原则 S:单一职责SRP O:开放封闭原则OCP L:里氏替换原则LSP I:接口隔离法则 D:依赖倒置原则DIP 合成/聚合复用原则 迪米特法则 在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则和具体阐述意义。 面向对象的基本原则(solid)是五个,但是在经常被提到的除了这五个之外还有迪米特法则和合成复用原则等,所以在常见的文章中有表示写六大或七大原则的; 除此之外我还将给出一些其它相关书籍和互联网上出现的原则; Single-Responsibility Principle,一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则的引申,将职责定义为引起变化的原因,以提高内聚性减少引起变化的原因。 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。(Every object should have a single responsibility, and that responsibility should be entirely encapsulated by the class.),即又定义有且仅有一个原因使类变更

DDD领域驱动设计基本理论知识总结

南楼画角 提交于 2019-12-02 11:22:59
原文地址: https://www.cnblogs.com/netfocus/archive/2011/10/10/2204949.html 领域驱动设计之领域模型 加一个导航,关于如何设计聚合的详细思考,见 这篇 文章。 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD。领域驱动设计分为两个阶段: 以一种领域专家、设计人员、开发人员都能理解的通用语言作为相互交流的工具,在交流的过程中发现领域概念,然后将这些概念设计成一个领域模型; 由领域模型驱动软件设计,用代码来实现该领域模型; 由此可见,领域驱动设计的核心是建立正确的领域模型。 为什么建立一个领域模型是重要的 领域驱动设计告诉我们,在通过软件实现一个业务系统时,建立一个领域模型是非常重要和必要的,因为领域模型具有以下特点: 领域模型是对具有某个边界的领域的一个抽象,反映了领域内用户业务需求的本质;领域模型是有边界的,只反应了我们在领域内所关注的部分; 领域模型只反映业务,和任何技术实现无关;领域模型不仅能反映领域中的一些实体概念,如货物,书本,应聘记录,地址,等;还能反映领域中的一些过程概念,如资金转账,等; 领域模型确保了我们的软件的业务逻辑都在一个模型中