软件安全-软件工程基础知识
- 格式:ppt
- 大小:2.06 MB
- 文档页数:77


软件评测师-软件⼯程基础知识
⼀、信息系统⽣命周期1.软件⼯程基本原理:⽤分阶段的⽣命周期计划严格管理、坚持进⾏阶段评审、实现严格的产品控制,采⽤现代程序设计技术、结果应能清楚的审查、开发⼩组的⼈员应少⽽精、承认不断改进软件⼯程实践的必要性2.软件⼯程的基本要素:⽅法、⼯具、过程
3.软件⽣产周期:可⾏性分析与项⽬开发计划、需求分析、概要设计(系统解决⽅案,规划⼦系统)、详细设计(设计⼦系统内部具体实现),编码、测试、维护4.信息系统⽣命周期
系统规划阶段:初步调查,对建设新系统的需求做出分析和预测,输出可⾏性研究报告、系统设计任务书
系统分析阶段:对现⾏系统进⾏详细调查,提出新系统的逻辑模型,也称为逻辑设计阶段,整个系统建设的关键阶段,也是信息系统建设与⼀般⼯程项⽬的重要区别所在,输出:系统说明书
系统设计阶段:要回答的问题是怎么做,具体设计实现逻辑模型的技术⽅案,设计新系统的物理模型,称为物理设计阶段,分为总体设计(概要设计)和详细设计,输出:系统设计说明书(概要设计、详细设计说明书)
系统实施阶段:将设计的系统付诸实施的阶段,输出:实施进展报告、系统测试分析报告
系统运⾏和维护阶段:记录系统运⾏的情况,评估系统的⼯作质量和经济效益
⼆、能⼒成熟度模型1.能⼒成熟模型
2.呢李成熟模型集成CMMI:是若⼲过程模型的综合改进,⽀持多个⼯程学科和领域的,它关注组织的成熟度
3.2-5级对应的过程域
三、软件过程模型1.瀑布模型(SDLC):可⾏性分析、需求分析、软件设计、编码、测试、运⾏维护
2.瀑布模型特点:从上⼀项开发活动接受该项活动的⼯作对象作为输⼊;实施该项活动应完成的⼯作内容;⼯作成果作为输出;对该项活动的实施⼯作成果进⾏评审3.螺旋模型是⼀个演化软件过程模型,将原型实现的迭代特征与线性顺序模型中控制的和系统化的⽅⾯结合,软件开发是⼀系列的增量发布
开发过程具有周期性重复的螺旋线状,每个周期分四阶段:制定计划、风险分析、实施⼯程和客户评估,强调了风险分析,特别适⽤于庞⼤⽽复杂得、⾼风险的系统
软件基础知识
软件是一系列按照特定顺序组织的计算机数据和指令的集合。那么你对软件了解多少呢?以下是由店铺整理关于软件知识的内容,希望大家喜欢!
软件的基本特点
软件行业的上游行业为电子元器件行业和计算机、网络设备行业,下游为电力、石油、冶金、钢铁、化工、环保等行业。
软件行业与上游行业有一定关联性,主要体现在技术更新和产品升级,从而使本行业的产品方案与之联动变化。此外,上游行业对本行业的影响还体现在采购成本变动上,上游行业基本属于完全竞争性行业,上游行业的产能不存在供应瓶颈,电子类产品总体呈现价格下滑趋势,对本行业发展总体比较有利。
软件行业下游电力、环保、石油、冶金、钢铁、化工等行业属于国家重点支持发展信息化建设的行业,随着信息化与工业化深度融合的推进,这些行业的信息化发展速度相对较快,市场空间大。这些行业对信息化软件产品先进性、可靠性、经济性要求很高,使得本公司必须不断加大在新产品开发和技术创新方面的投入,以更好满足下游行业客户的需求。
一、软件不同于硬件,他是计算机系统中的逻辑实体而不是物理实体,具有抽象性。
二、软件的生产不同于硬件,它没有明显的制作过程,一旦开发成功,可以大量拷贝同一内容的副本。
三、软件在运行过程中不会因为使用时间过长而出现磨损、老化以及用坏问题。
四、软件的开发、运行在很大程度上依赖于计算机系统,受计算机系统的限制,在客观上出现了软件移植问题。
五、软件开发复杂性高,开发周期长,成本较大。
六、软件开发还涉及诸多的社会因素。
软件的生命周期 软件的生命周期是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护。
问题定义就是确定开发任务到底“要解决的问题是什么”,系统分析员通过对用户的访问调查,最后得出一份双方都满意的关于问题性质、工程目标和规模的书面报告。
可行性分析就是分析上一个阶段所确定的问题到底“可行吗”,系统分析员对系统要进行更进一步的分析,更准确、更具体地确定工程规模与目标,论证在经济上和技术上是否可行,从而在理解工作范围和代价的基础上,做出软件计划。
软件工程基础知识考点指导
考点1 :软件工程和项目管理基础 ★★★
考点点拨: 本考点考查软件工程和软件生成周期的概念,常用的软件开发模型,以及软件开发项目管理基础知识。
【试题1】 软件工程三要素是______。
A)技术、方法和工具 B)方法、工具和过程
C)方法、对象和类 D)过程、模型、方法
答案:B
分析:软件工程三要素:方法、工具和过程。软件工程方法为软件开发提供了 “如何做” 的技术。软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。软件工程过程定义了:方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理以及软件开发各个阶段完成的工作。
理论链接: 软件工程概述
1.软件危机
软件危机是指计算机软件开发和维护过程中所遇到的一系列严重问题。概括的说即为:能否满足对软件日益增长的需求?能否维护数量日益增长的现有软件?
2.软件工程
软件工程是一类求解软件的工程,它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。软件工程是一门指导计算机软件开发和维护的工程学科。
软件工程准则可以概括为六条基本原理:(1)用分阶段的生存周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)应能清楚地审查结果;(6)合理安排软件开发小组的人员。
【试题2】 软件开发的结构化生命周期方法将软件生命周期划分成______。
A)计划阶段、开发阶段、运行阶段 B)计划阶段、编程阶段、测试阶段
C)总体设计、详细设计、编程调试 D)需求分析、功能定义、系统设计
答案:A
【试题3】 软件生命周期的最后的一个阶段是______。
软件工程串讲 第一部分 软件工程基础知识 1.1 软件工程概述 1968年首次提出了“软件工程”这个名词,希望用工程化的原则和方法来克服软件危机。 研究内容: 软件开发模型 开发方法 工具 环境 知识要点 软件生存周期 软件开发模型 1. 软件工程的定义 IEEE 93定义:软件工程是 (1) 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护,即将工程化应用于软件。 (2) 在(1)中所述方法的研究。 软件工程方法的性质——系统化的、规范的、可度量的方法 软件工程方法作用的范围——用于软件的开发、运行和维护 软件工程方法的目标——工程化应用于软件 软件工程方法的趋势——方法的研究 2. 软件工程框架 软件工程目标包括可用性、正确性和合算性,规定了软件工程实践的结果(即软件)应具有的基本性质; 软件工程过程包括基本过程、支持过程、组织过程等3大类过程,是为生产具有这些基本性质的软件产品应进行的基本工作; 软件工程原则从四个方面(开发范型、开发方法、工程支持、工程管理)指导每一项工程的活动,以实现软件工程目标。 3. 软件生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为软件的生存周期。 软件生存周期包括6个阶段: 制定计划 需求分析 软件设计 程序编写 软件测试 运行维护 1)制定计划
步骤 确定要开发软件系统的总目标 给出功能、性能、可靠性以及接口等方面的要求 完成该软件任务的可行性研究 估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度 制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查 2)需求分析 步骤 对待开发软件提出的需求进行分析并给出详细的定义 编写软件需求说明书或系统功能说明书及初步的系统用户手册 提交管理机构评审 3)软件设计 步骤 概要设计 — 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应 详细设计 — 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础 编写设计说明书,提交评审 4)程序编写 把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”,即编码。 6)运行维护 改正性维护: 运行中发现了软件中的错误需要修正 适应性维护: 为了适应变化了的软件工作环境,需做适当变更 完善性维护: 为了增强软件的功能需做变更 4. 软件开发模型 软件开发模型是软件工程思想的具体化,是系统开发、运行、维护所实施的全部活动和任务的过程框架。 瀑布模型 演化模型 螺旋模型 增量模型 喷泉模型 1)瀑布模型