软件工程(软件工程初步学习)

1:什么是软件: 是计算机系统中与硬件相互依存的另一部分,包括(1)程序 (2)数据 (3)相关文档的完整集合

2:什么是程序:是实现设计的功能和性能要求执行的指令序列

3:数据是使程序正常操纵信息的数据结构

4:文档和程序开发,维护和使用有关图文的材料,我个人理解也可以是程序开发的一个规范性指导,更加的规范去开发软件

 

为什么要学习软件工程:

       在此之前我们对代码的学习都是杂乱没有章法,我们靠着自己的方法去学习编程,去做项目,这样既不规范,又不专业,这样做出来的东西像是没有地基,歪歪扭扭的房屋,所以,我们要学习软件工程,要学会规范的去学习代码,规范的去学习代码,前面的视频和后边的文档都是让我们学习规范的开始。

软件特点:

(1)种逻辑实体一,不是物理实体,有抽象性

(2)没有明显的制造过程,开发软件就是软件的产生过程

(3)软件没有老化和机器磨损

(4)软件发展依赖于硬件,受于硬件的限制

(5) 没有自动化和半自动化,未脱离人工

(6)成本昂贵 软件成本逐年上升,硬件则相反

 

分类:

1:按照功能

  1. 操作系统
  2. 数据库管理系统
  3. 设备驱动程序
  4. 通信处理程序

 

2:按照软件工作方式划分

  1. 实时处理软件
  2. 分时软件
  3. 交互是软件
  4. 批处理软件

3:按照服务对象的范围划分

  1. 项目软件:由客户的委托,一个或者多个软件开发机构,在合同约束下开发的软件  以客户需要为主 某些领域的需要,不以盈利为目的
  2. 产品软件:面相市场,软件开发机构开发,推向市场,为众多客户服务

 

4 :按照频率使用划分

  1. 一次使用
  2. 频繁使用:形成一个项目,无时无刻在使用

 

5:按照失效的影响进行划分

  1. 高可靠性能的软件:比如航天,军事领域,比较重要的国家部门
  2. 一般可靠软件

软件工程三要素

(1)方法:为软件开发提供了“如何去做”软件的技术

(2)工具:是为方法提供自动或半自动的软件支撑环境,工具的集合构成了软件开发的环境,好的工具可以促进方法的研制,好的方法能够改进工具   (可以理解成一个相互的过程)

(3)过程:

* 方法使用的顺序

* 要求交付的文档资料

* 为了保证质量和适应变化所需的管理

* 软件开发各个阶段完成的里程碑

 

软件工程的基本目标

  1. 低成本(用最小的代价换来最高的利益
  2. 达到要求功能
  3. 取得好的软件性能
  4. 开发软件易于移植
  5. 需要较低的维护费用
  6. 能够按时完成开发工作,及时的交付

软件工程的 原则:

  1. 分解 (把问题分解成子问题,降低问题的复杂性)
  2. 独立性 (模块的独立性,改变一个模块而不会影响其他模块)
  3. 一致性 (如:接口必须一致性)
  4. 确定性(每个模块都要有明确的标准)

 

软件工程过程:

  1. 软件规格说明:规定软件的功能及其运行的现实
  2. 软件开发:产生满足规格说明的软件
  3. 软件确认:确认软件能够完成客户提出的要求

 

特点:

(1)易理解性

(2)可见性

(3)可支持性

(4)可接受性

(5)可靠性

(6)健壮性 (也是安全性,抗病毒的能力)

(7)可维护性

(7)速度

 

软件生存期 (是软件从开发运行,直到不用的时候叫做软件生存期,孕育-诞生-成长-成熟-衰亡的生存过程)

 

 

软件设计的阶段:

一.制定计划:

  1. 确定要开发软件系统的总目标
  2. 给出功能,性能,可靠性以及接口等方面的要求
  3. 完成该软件任务的可行性的研究

可能性研究报告(技术可行,经济可行性,操作可行性,法律可行性)  还得估计开发的资源,需要什么设备,什么养的环境,还有成本等等...  软件的成本估计只能是大概,因为软件成飞不稳定

 

 

这时候就需要技术人员登场了)。   

需求分析阶段少用文字,多用图表

  1. 对待软件开发所提出的需求进行分析并给出详细的定义
  2. 编写软件需求说明书

 

* 需求分析的任务:

  1. 深入描述软件的功能和性能
  2. 确定 软件设计的约束和软件同其它系统元素的接口细节
  3. 定义软件的其他有效性需求

(需求分析就是借助当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题)

 

 

常用的分析方法:

面向数据流的结构化分析方法(SA)

面向数据结构的Jackson方法(JSD)

结构化数据系统开发方法(DSSD)

面向对象的分析方法(OOA)

 

编制需求分析阶段的文档

* 软件需求说明书

* 数据要求说明说

* 初步的用户手册

* 修改完善与确定软件开发实施计划

(在需求分析的时候开始编写 “用户手册”)

 

数据分析流程图:

 

软件需求分析的原则:

* 需要能够表达和理解问题的信息lingyu

* 要能以层次化的方式对问题进行分解和不断细化

分解又分两种,横向分解和纵向分解,分解过程中不能太快,也不能太细

 

需求分析方法:

大多数是由数据驱动的,数据域有三种属性:

  1. 数据流
  2. 数据内容
  3. 数据结构

四.软件测试:

我们的软件色设计出来后,必须需要软件测试,测试分两种

  1. 单元测试查找各个模块在功能和结构上存在的问题,并且加以纠正
  2. 组装测试,也叫集成性测试,将测试好的模块,按照一定的顺序组装起来,形成系统,专门的机构或者测试组

 

运行和维护

(软件在测试完成后,就开始维护了)

维护阶段所需要的维护费也很多。

(1)改正性维护:

(2)适应性维护:  在不同的环境下运行下需要维护

(3)完善性维护:根据客户提出的新的要求,进行维护

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/M_hcCSDN/article/details/86911993
今日推荐