软件过程

Nginx软件部署配置过程

偶尔善良 提交于 2020-03-21 05:39:15
---恢复内容开始--- 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 编译安装步骤 第一步、配置 01. 指定软件安装路径(默认路径 /usr/local ) 02. 开启相应功能 第二步、编译 把代码转换成计算机可以识别的二进制信息 make 第三步、编译安装 make install 编译安装Nginx软件过程 第一步、解决Nginx软件的依赖包、下载Nginx Nginx软件的依赖包有两个:pcre包和openssl包 pcre :兼容 perl 语言正则表达式, perl compatible regular expressions rewirte 模块 参数信息( perl 方式定义正则表达式) openssl : https 所有安装依赖软件,软件后面加上devel [root@web01 ~]# yum install -y pcre-devel openssl-devel 下载 nginx: [root@web01 tools]# wget http://nginx.org/download/nginx-1.10.2.tar.gz

个人最终总结

狂风中的少年 提交于 2020-03-19 16:45:34
学习了这门课程, 还有老师们的多元化教课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。 整本书的内容逻辑很清晰明了,由浅入深循序渐进,首先我就大概描述下我们所学的内容,第一章是从整体分析软件工程这门学科的发展和所处的社会环境,接着后面的几章深入分析了软件开放过程和模式、软件项目管理、计算机工程、需求分析、结构化分析建模以及基于UML面向对象分析建模等。接着我就详细介绍下我对这门课程知识点的理解概括: 软件:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。软件的特征:①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品。③软件成为产品后,其生产只是简单的拷贝,不同于硬件制造。④维护过程比硬件复杂的多,甚至会引发新的错误。软件危机:指的是软件开发和维护过程中遇到的一系列严重问题。出现软件危机的原因:①软件维护费用急剧上升,直接威胁计算机应用的扩大。②软件生产技术进步缓慢

软件测试与可靠性评估方法研究

ⅰ亾dé卋堺 提交于 2020-03-15 08:57:02
摘要: 随着科学技术的飞速发展,软件的功能越来越强大,软件的复杂性也越来越高,从而大大增加了软件测试与可靠性评估的难度。为了保证一个软件系统的质量,有必要针对软件的测试与可靠性评估方法进行专门地研究。本文就是针对这一领域所做的一些研究。    一.软件测试的定义   软件测试(Software testing)是软件生存期(Software life cycle)中的一个重要阶段,是软件质量保证的关键步骤。通俗地讲,软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码进行最终复审的活动。1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。   从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。    二.软件测试的生命周期   测试主要依据是被试系统的研制任务书和技术规格书,是对软件整体功能和性能的综合测试与评估

[转帖]持续部署,并不简单!

巧了我就是萌 提交于 2020-03-11 07:45:49
持续部署,并不简单! https://coolshell.cn/articles/7657.html 2012年06月25日 马基雅弗利 评论 46 条评论 36,619 人阅读 【 感谢 @常新居士 投递此文 】 这几年,持续集成随着敏捷在国内的推广而持续走热,与之相伴的持续部署也一直备受关注。 自前两年,持续交付这个延续性概念又闯进了国内IT圈,慢慢开始在社区和会议中展露头角。许多不明真相的群众跟风哭着喊着要“上”,而许多前CI的半吊子玩家换件衣服就接着干,有的甚至衣服都来不及换…… 。国内的这些土财主如果不巧请了某些所谓的战略家,除了建了一堆持续集成环境,以及每天嚷嚷着要这个要那个,混乱的状况在根本上没有得到改善。本文无意费力探讨持续集成和持续交付的概念,而是打算谈谈对于大型软件企业,以持续集成为基础实现持续部署(交付)时,所要面对的问题以及可行的解决方案。地主老财们,夜黑风正猛,山高路又远,注意脚下…… And God Said, Let there be light: and there wa — GENSIS, Charpter 1, King James 一、起步 先来讲个故事…… 几年前,一对留美的夫妇通过朋友找到我,让我帮忙在国内组建一个开发团队,该团队负责为其开发一款基于社交网络的客户关系管理软件,(暂且称之为项目A)

CMMI知识介绍

a 夏天 提交于 2020-03-09 00:01:03
第一级:初始级 在初始级,企业一般不具备稳定的软件开发与维护的环境。常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。 第二级:可重复级 在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。基于过往的项目的经验来计划与管理新的项目。 第三级:定义级 在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。同时,这些过程是集成到一个协调的整体。这就称为企业的标准软件过程。 第四级:定量管理级 在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。作为企业的度量方案, 要对所有项目的重要的过程活动进行生产率和质量的度量。软件 产品因此具有可预期的高质量。 第五级:(不断)优化级 在这个等级,整个企业将会把重点放在对过程进行不断的优化。企业会采取主动去找出过程的弱点与长处,以达到预防缺陷 的目标。同时,分析有关过程的有效性的资料,作出对新技术的 成本与收益的分析,以及提出对过程进行修改的建议。 CMM第一级:初始级 ◆ 特征 (1)软件过程的特点是杂乱无章,有时甚至混乱,几乎没有定义过程的规则或步骤。 (2)过分的承诺,常作出良好的承诺:如“按照软件工程方式,有序的工程来工作”;或达到高目标的许诺。但实际上却出现一系列问题。 (3)遇到危机就放弃原计划过程,反复编码和测试。 (4

软件项目管理----第2讲 软件开发过程管理

徘徊边缘 提交于 2020-03-06 02:14:22
文章目录 什么是软件开发过程 什么是软件开发活动 按任务性质,软件开发活动可分为二种形式 为什么需要过程 软件开发过程模型 1.编码—修正模型 2.瀑布模型 3.快速原型模型 4.增量模型 5.螺旋模型 典型软件过程模型特征比较 6.喷泉模型 7.统一软件开发过程(IBM RUP) 8.敏捷(灵活)过程 (注)极限编程 极限编程XP的12个实践原则 9.微软过程 微软过程准则 选择软件开发过程模型的步骤 定义软件开发过程的要求 定义软件开发过程的步骤 步骤1:选择软件开发过程模型 步骤2:确定和描述活动 确定活动的原则 步骤3:确定和描述活动间的关系 步骤4:文档化软件开发过程 如何提供软件开发过程的完整视图? 步骤5:文档化如何剪裁过程 为什么需要定义剪裁过程 如何文档化过程剪裁 步骤6:文档化如何改善过程 为什么需要改善过程? 过程改善的目的 如何文档化改善过程? 步骤7:过程评审、认可和发布 步骤8:员工培训 什么是软件开发过程 按照项目的进度、成本和质量限制,开发和维护满足用户需求的软件所必需的一组有序的软件开发活动集合 什么是软件开发活动 为开发软件项目而执行的一项具有明确任务的具体工作 按任务性质,软件开发活动可分为二种形式 技术活动 对软件项目实施开发,产生软件产品 例如,需求分析,概要设计,编码,单元测试等等 管理活动 对软件项目中的人、产品和过程等实施管理的活动

为什么说云原生会成为未来企业技术变迁的趋势

廉价感情. 提交于 2020-03-05 23:25:44
为什么说云原生会成为未来企业技术变迁的趋势 云原生是当下的热点话题,但是很多人对云原生有很多误解,特别是传统产业物联网或工控、物联网行业对云原生显得"后知后觉"。与其在这里说是预测,不如说是现在进行时,只是由于传统产业本身的技术包袱和组织个人认识程度差异,目前发展并不见快。目前大部分的系统还是停留在旧年代,只是不到火候,还没到尝鲜和推倒重来的必要。但是,面对未来业务的持续增长和行业竞争,必然要面临一个技术的现代化转型升级,即:使用新技术代替老技术,使用新观念代替老观念的痛苦过程。否则老系统必然会变成企业发展的一个瓶颈,因为基于老系统的修修补补只会使系统变得更加复杂和难以维护,最后等待他们的是要么推到重来,要么是逐年生锈老化(修修补补又三年)。我这里针对新近的云原生作为一个切入点,来说明一下为什么说云原生会成为未来企业技术变迁的一个趋势。 概念诞生   云原生(Cloud Native)的概念,由来自Pivotal的MattStine于2013年首次提出,被一直延续使用至今。   这个概念是Matt Stine根据其多年的架构和咨询经验总结出来的一个思想集合,并得到了社区的不断完善,内容非常多,包括: DevOps 持续交付(Continuous Delivery) 微服务(MicroServices) 敏捷基础设施(Agile Infrastructure)和12要素(The

软件开发过程模型综述

一曲冷凌霜 提交于 2020-03-05 18:32:37
一.软件开发过程模型的含义 软件开发过程中,我们面对的是一个十分艰巨的任务,根据软件工程学科的分析,我们需要有一个详细的软件开发过程称之为软件过程。 软件过程可以根据不同的问题分出不同的模型。想要了解软件过程开发模型,就要对软件过程活动有所了解。真实的软件过程是围绕着开发目标,交织着技术、协作、管理等方面工作的活动序列。 软件过程活动是软件过程的基本构成部分,完成某一方面的特定任务。活动的描述分为四部分:成果(软件过程活动的产品)、角色(软件过程中的参与人及职责)、前置条件(活动开展的前提)和后置条件(活动完成后对软件开发系统的影响),之后软件活动包括对项目的可行性研究和需求分析(软件规约),项目的设计与实现,项目的验证与确认(软件测试等)以及软件进化(完善软件以更好地满足用户需求)。 由此产生了多种软件过程模型,软件过程模型是一个特定软件过程的简称,给出软件开发的全部过程、活动和任务的结构框架,明确规定要完成的主要活动、任务和开发策略。常见的软件过程模型有:瀑布模型、增量模型、原型模型、螺旋模型、RUP、敏捷开发等 二.典型软件开发过程模型介绍 1.瀑布模型 瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改

测试笔记:测试基础

纵然是瞬间 提交于 2020-03-04 00:05:24
windows基础 软件定义 计算机=硬件加软件 软件=程序(program)+文档(document) 软件测试的对象:程序和文档都要测试 软件开发阶段划分 阶段一:需求分析阶段(由需求分析人员完成;产出物:《需求规格说明书》) 阶段二:设计阶段(由系统架构师/分析师完成;产出物:《概要设计说明书》和《详细设计说明书》) 阶段三:编码阶段(由开发人员完成/程序员完成;产出物:程序/代码) 不同的开发阶段引入的bug比例如何? 需求分析阶段引入的bug最多(大概占bug总数的55%左右) 其次是设计阶段(大概占缺陷总数的25%左右) 最少的是编码阶段(大概占缺陷总数的15%左右) 还有5%左右的缺陷是由系统兼容性或者配置原因造成的。 需求分析阶段引入的bug最多,其次是设计阶段,引入bug阶段最少的是编码阶段 因此:1)在测试中不能只测程序,文档也必须测 2)测试工作应尽早介入,并且贯穿整个开发周期始终(尽早测试原则,不断测试原则) 什么是软件缺陷 1.软件的缺陷–defect,bug 2.软件缺陷的定义:1)需求要求的功能没有实现 2)实现了需求没有的功能(画蛇添足) 3)软件出现了指明不应出现的错误 4)需求虽未明确指明,但是应该实现的功能没有实现 eg:法规; 说明:需求不是完美的,有可能有遗漏,但是测试人员应该专业,发现bug就要提交,即使需求中没有提及 5)软件不易使用

软件测试英语词汇

萝らか妹 提交于 2020-03-03 02:49:34
软件测试英语专业词汇 NLV:Nation Language Version 本地化版本 FVT:Functional Verification Testing 功能验证测试 TVT:Translation Verification Testing 翻译验证测试 SVT:System Verification Testing 系统验证测试 fault--故障 在软件中一个错误的表现。 feasible path--可达路径 可以通过一组输入值和条件执行到的一条路径。 feature testing--特性测试 参考功能测试(Functional Testing) FMEA--失效模型效果分析(Failure Modes and Effects Analysis) 可靠性分析中的一种方法,用于在基本组件级别上确认对系统性能有重大影响的失效 FMECA--失效模型效果关键性分析(Failure Modes and Effects Criticality Analysis) FMEA的一个扩展,它分析了失效结果的严重性。 FTA--故障树分析(Fault Tree Analysis) 引起一个不需要事件产生的条件和因素的确认和分析,通常是严重影响系统性能、经济性、安全性或其它需要特性。 functional decomposition--功能分解 参考模块分解(modular