软件工程基础知识
potpof
这个作者很懒,什么都没留下…
展开
-
需求分析
软件需求:软件需求是指目标用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析过程的具体实现有许多方法,但全部方法都遵循需求分析原则:1)必须能够表示和理解问题的信息域2)必须能够定义软件将完成的任务3)必须能够表示软件的行为(作为外部事件的结束)4)必须划分描述数据、功能和行为的模型,从而可以分层地揭示细节5)分析过程应该从要素信息移向细节信息需求工程:1、需求...原创 2019-04-04 21:30:10 · 521 阅读 · 0 评论 -
什么是CRM
CRM(CustomerRelationship Management)就是客户关系管理。CRM是选择和管理有价值客户及其关系的一种商业策略,CRM要求以客户为中心的商业哲学和企业文化来支持有效的市场营销、销售与服务流程。如果企业拥有正确的领导策略和企业文化,CRM将能为企业实现有效的客户关系管理。CRM的目的和价值就是获取客户、留住客户和将客户盈利最大化。...原创 2019-05-01 21:26:28 · 330 阅读 · 0 评论 -
软件开发模型(3)
6、基于构件的开发模型指运用预先包装的构件来构造应用系统。构件可以是组织内部开发的构件,也可以是商品化成品。构件开发模型本质上是演化模型需要以迭代方式构建软件。一种基于构件的开发模型包括领域工程和系统应用工程7、形式化方法模型是建立在严格数学基础上的一种软件开发方法,主要活动是生成计算机软件形式化的数学规格说明。8、统一过程模型统一过程模型是一种“用例和风险驱动,以架构为中心,迭代...原创 2019-04-02 21:01:28 · 844 阅读 · 0 评论 -
软件开发模型(2)
4、原型模型原型模型是预期系统的一个可执行成本,反映了系统性质的一个选定子集。原型模型的目的是快速低成本的构建原型原型分为探索性原型、实验型原型、和演化型原型三种探索型原型的目的是弄清目标的要求,确定性所希望的特性,并探讨多种方案的可行性。实验性原型的目的是验证方案或算法的合理性,是在大规模开发和实验前,用于考查方案是否合适、规格说明是否可靠等。演化型原型的目的是将原型作为目标的一部分...原创 2019-04-02 20:01:47 · 267 阅读 · 0 评论 -
几个软件开发模型(1)
1、瀑布模型定义:将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型核心思想:瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:容易理...原创 2019-04-02 20:00:22 · 267 阅读 · 0 评论 -
软件生存周期
1、可行性分析和项目开发计划进行问题定义,可行性分析,制订项目开发计划参与者有用户,项目负责人和系统设计师。该阶段产生的主要文档有可行性分析报告和项目开发计划2、需求分析该阶段确定软件系统必须做什么,确定软件系统的功能,性能等需求,从而确定逻辑模型。参与者有用户,项目负责人和系统分析师主要文档有软件需求说明书3、概要设计将各项需求转换成需要的体系结构。参与者有系统分析师和软件设...原创 2019-04-01 22:43:07 · 682 阅读 · 0 评论 -
软件工程的七条基本原理
1、用分阶段的生命周期计划严格管理意味着把软件生命周期划分成若干个阶段,并相应地制订出切实可行的计划,然后严格执行计划2、坚持进行阶段评审错误发现越晚,代价越高,每个阶段都评估3、实现严格的产品控制实行基准配置管理,基准配置管理是经过阶段评审后的软件成分,基准配置管理也称为变动控制4、采用现代程序设计技术可以提高效率,降低维护成本。5、结果应能清楚地审查6、开发小组人员应该少而精...原创 2019-04-01 21:51:03 · 1649 阅读 · 0 评论 -
软件工程定义
软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件工程问题的工程,其目的是提高软件生产效率、提高软件质量、降低软件成本。计算机软件的十个分类1、系统软件是一套服务于其他程序的程序。特点:和计算机硬件大量交互;多用户大量使用;需要调度、资源共享和复杂进程管理的同步操作;复杂的数据结构以及多种外部接口。2、应用软件解决特定业务需要的独立应用程序。3、工程...原创 2019-04-01 21:09:25 · 2356 阅读 · 0 评论 -
白盒测试
白盒测试也称为结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要。常用的技术:一、逻辑覆盖逻辑覆盖考察用例测试数据运行被测程序时对程序逻辑的覆盖程度,主要的覆盖逻辑标准有语句覆盖、判断覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖1)语句覆盖。是指选择足够的测试数据,使被测试程序中的每条语句至少执行一次。语句覆盖对程序执行逻辑的覆盖...原创 2019-04-07 10:36:37 · 416 阅读 · 0 评论 -
黑盒测试
黑盒测试也称为功能测试,在完全不考虑软件的内部结构和特性的情况下,测试软件的外部特性。进行黑盒测试主要是为了发现以下几类错误。1)是否有错误的功能或遗漏的功能2)界面是否有误?输入是否正确接受?输出是否正确3)是否有数据结构或外部数据库访问错误?4)性能是否能够接受?5)是否有初始化或终止性错误?常用的黑盒测试技术有等价类划分、边界值分析、错误判断和因果图等。一、等价类划分等价类划...原创 2019-04-07 09:18:56 · 382 阅读 · 0 评论 -
测试方法
在软件测试过程中,应该将一系列的测试用例和测试方法放在一系列的测试步骤中。软件测试方法分为静态测试和动态测试(1)静态测试。静态测试是指被测试程序不在机器上运动,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。人工检测。人工检测不依靠计算机而是依靠人工审查人工审查程序或评审软件,包括代码检查、静态结构分析和代码质量度量。计算机辅助静态分析。利用静态分析工具对被测试程序进行特性分...原创 2019-04-06 09:56:31 · 246 阅读 · 0 评论 -
系统测试(2)
系统测试将已经确认的软件,计算机硬件,外设和网络等其他因素结合在一起,进行信息系统的各种集成测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统的需求相比较,发现所开发的系统用户需求不符或矛盾的地方。1)恢复测试恢复测试是一种系统测试,通过各种方法强制地让系统发生故障,并验证能否按照要求从故障中恢复过来,并在约定的时间内开始事务处理,并且不对系统造成任何伤害。如果系统恢复是自动的,...原创 2019-04-05 16:59:34 · 920 阅读 · 0 评论 -
系统测试(1)
1、测试系统的意义:为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。2、测试系统的目的:是希望以最少的人力和时间发现潜在的各种错误和缺陷。3、系统测试的原则:1)应尽早并不断地进行测试,测试应贯穿在开发的每个阶段,并尽早纠正错误。2)测试工作应避免由原开发人员承担3)在设计测试方案时不仅要确定输入方案,还要确定预期输出,只有实际输出和预期输出相同时测试才成功...原创 2019-04-05 14:15:04 · 3696 阅读 · 0 评论 -
系统设计
系统设计的主要目的就是为系统制订蓝图,在各种技术和实施方法中权衡利弊,精心设计,合理地使用各种资源,最终勾画出新系统的详细设计方案。系统设计的主要内容包括新系统总体结构设计、代码设计、输出设计、输入设计、处理过程设计、数据存储设计、用户界面设计和安全控制设计等。1)面向对象数据流的结构化设计方法(SD)2)面向对象的分析方法(OOD)系统设计的基本任务大体上可以分为概要设计和详细设计两部分...原创 2019-04-04 22:13:16 · 9588 阅读 · 0 评论 -
软件项目开发成本估算方法
对于一个大型的软件项目,由于项目的复杂性,开发成本的估算不是一件简单的事,要进行一系列的估算处理。主要靠分解和类推的手段进行。基本估算方法分为3类。1).自顶向下的估算方法:这种方法的主要思想是从项目的整体出发,进行类推。即估算人员根据以前已完成项目所消耗的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去,再来检验它是否能满足要求。这种方法...原创 2019-05-01 21:43:46 · 14557 阅读 · 0 评论