复试软件工程第1天

1.什么是软件危机?

①计算机软件维护和开发遇到的一系列严重问题。

②典型表现:对软件开发成本和进度的估计常常很不准确、软件产品的质量往往是靠不住、软件常常是不可维护、开发生产率提高的速度远跟不上计算机应用普及的需求……

③造成软件危机的原因:

④如何解决软件危机

既要有技术措施,又要有必要的组织管理措施。

2.什么是软件工程?

①软件工程是利用科学知识和技术原理来定义、开发和维护软件的一门学科

②软件工程是1 把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;2研究1中提到的途径

③目标是:付出较低的开发成本、取得良好的性能、达到预期的效果……

④软工内容:软工包括开发技术和开发管理两方面内容

3.软件工程方法学

①三要素:1.方法(指的是开发方法)2.工具(支持方法的工具)3.过程(管理过程)

②软件过程:完成高质量软件开发中的一系列操作,为了获得高质量软件所需要完成的一系列任务的框架,规定了完成一系列任务的框架

③方法学:在软件生命周期过程中使用的一整套技术方法的集合。

④使用最广泛的方法学:传统方法学(又称为生命周期方法学/结构化方法学)、面向对象方法学

结构方法学:把软件生命周期的全过程一次划分为若干个阶段,然后顺序地完成每个阶段的任务。强调自顶向下顺序完成软件开发的任务。结构化方法学中有三种基本控制结构:1.顺序2.选择3.循环。



面向对象方法学: 尽量模拟人类习惯的思维方式去开发。

补充:面向对象三大特征:1.封装(把数据和方法放在一个类里封装起来)2.继承(子类继承父类,通过关键词extends)3.多态(相同类型的变量调用同一个方法时呈现出不同的行为特征。Ps:一个细节问题要注意:只有方法才有多态,实例变量不存在多态) 

 4.软件生命周期

①生命周期划分为三个时期八个阶段:

软件定义时期:问题定义、可行性研究

软件开发时期:需求分析、总体设计、详细设计、编码和单元测试、综合测试

软件运行维护时期:运行维护

 ②软件生命周期中常见的模型有:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型、Rational统一过程、敏捷过程、微软过程等等

③用于面向对象的软件开发:喷泉模型。因为喷泉模型在整个开发过程中都使用“对象”这个概念,很容易实现各个开发步骤的反复迭代(求精)和逐步深化,因此喷泉模型很好实现了面向对象开发的无缝和迭代特性

④模型介绍

瀑布模型


 


 

 快速原型模型

快速原型模型是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。他可以让用户快速试用原型系统并给出意见

 增量模型

增量模型也称渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能

使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能

把软件产品分解成增量构件时,唯一必须遵守的约束条件是,当把新构件集成到现有构件中时,所形成的产品必须是可测试的

 

螺旋模型

可以理解为每个阶段增加了风险分析的快速原型模型。在进行下一阶段的原型开发时,首先进行风险分析。主要适用于内部开发的大规模软件项目,随着过程的进展演化,开发者和用户能够更好的识别和对待每一个演化级别上的风险;随着迭代次数的增加,工作量加大,软件开发成本增加

 

 

5.可行性研究

①目的:用最小的代价、在尽可能短的时间内确定问题是否能被解决

②可行性研究的工具:

  1. 系统流程图:系统流程图是概括的描绘物理系统的传统工具,表达的是数据在系统各部件之间流动的状况
  2. 数据流图(DFD):描绘信息流和数据从输入移动到输出的过程中经受的变换。
  3. 数据字典:是关于数据的信息的集合,是对数据流图中包含的所有元素的定义的集合。它主要由数据流描述、加工描述和文件描述三部分组成.(1)数据流;(2)数据流分量(即数据元素);(3)数据存储;(4)处理。
  4. 数据字典与数据流图的关系:数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用

③可行性研究的任务

先分析和澄清问题定义,导出系统的逻辑模型;

然后从系统逻辑模型出发,探索若干种可供选择的主要解法;

对每种解法都研究它的可行性,至少应该从以下三个方面研究每种解法的可行性

  • a.技术可行性。对要开发项目的功能、 性能和限制条件进行分析, 确定在现有的资源条件下,技术风险有多大,项目是否能实现,这些即为技术可行性研究的内容。这里的资源包括已有的或可以搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。
  • b.经济可行性。进行开发成本的估算以及了解取得效益的评估, 确定要开发的项目是否值得投资开发,这些即为经济可行性研究的内容对于大多数系统,一般衡量经济上是否合算,应考虑一个“底线”,经济可行性研究范围较广,包括成本—效益分析, 长期公司经营策略, 开发所需的成本和资源,潜在的市场前景。
  • c.操作可行性。有时还要研究社会可行性问题,研究要开发的项目是否存在任何侵犯、妨碍等责任问题。社会可行性所涉及的范围也比较广,它包括合同、责任、 侵权和其他一些技术人员常常不了解的陷阱等。

其他方面:法律可行性、运行可能性 

④可行性研究方法

首先分析问题,试探性的导出问题的各种解,然后进行各种分析和比较,选择和推荐可行的解决方案。采用系统流程图描述物理数据流;运用数据流图并结合数据字典构建系统的逻辑模型。可行性研究的结果产生可行性研究报告

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值