【二】软件开发过程及其组织

一、软件开发的困难


简答题1:程序员做好软件工作的关键是什么?
关键是两个转换:
第一个转换是用户对软件功能的理解与程序员对软件功能的理解之间的转换
第二个转换是呀解决的是人和机器之间的交流与协调问题
2、大型软件开发的困难有哪些?

3、大型软件开发困难的原因?

二、软件开发方法的发展


1.结构化程序设计
时间:10世纪60年代末,程序的结构分解成三个基本模块,即处理单元、循环机制、二分决策机制。
1.1.模块的划分应该符合哪些要求?
第一,模块的功能在逻辑上尽可能地单一化、明确化,最好做到一一对应,即每一个模块实现一项明确的任务,反之每一项任务由一个模块来完成)
第二,模块之间的联系及相互影响尽可能的少,应当尽量避免逻辑耦合,而仅限于数据耦合。
第三,模块的规模应当足够小。
1.2.实施结构化程序设计的基本思想
- 限制(甚至不用)GOTO语句,禁止超越模块便捷的GOTO语句
- 子程序尽可能的做到只有一入口,一出口
- 程序风格应明确
- 完成有关的文档编撰
一入一出,不GOTO,风格明确编文档
2.软件工程
2.1软件工程思想是如何产生的?
- 软件危机的发生
- 软件工程产生:使软件生产从程序员的个人劳动提高称为可控制的工程
- 软件工程的思想主要集中与加强项目管理者的工作上。
2.2软件工程从传统产业工程中吸取的经验?
- 对软件工程工作的步骤做出了严格的规定,工作顺序不能颠倒
- 每一个阶段都有各自明确的任务
- 在质量、表达方式等方面要有统一的,并为人们遵守的标准
- 利用有关各方沟通与交流的手段,使参加工作的人们成为一个整体,共同完成一项大的任务。
3.面向对象的程序设计
3.1面向对象的程序设计的基本思想?——C++和SmallTalk
- 客观世界的任何事物都是对象,都有一些静态属性和一些相关的操作
- 对象之间有抽象与具体,群体与个体,整体与部分等几种关系
- 抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地称为它的子类的性质,这就是所谓的“”遗传性“”
- 对象之间可以互送消息
4.即插即用的程序设计
4.1即插即用的程序设计的基本思想
- 应用硬件制造思路来处理大型软件开发工作的方法
- 一部分人专门生产软件组件,而另一部分人则构建整个软件的结构,并且把软件组件插入到结构中,以便迅速地完成大型软件的额研制工作。
- 提出即插即用程序设计的基础是面向对象程序设计。
5.面向开源软件的程序设计方法
5.1在什么情况下利用开源软件进行程序设计比较合适?
在一些应用面广,流程比较清晰,比较规范的应用领域,开源代码的重用是比较有把握的。 广清规
例如,网站设计确实可以从开源代码中找到比较实用的,略加修改就可以使用的代码,这无疑是可以节省人力和物力的。
三、软件开发过程的管理
1、什么样的软件才是好的软件
- 正确的实现所要求的的功能
- 用户界面友好
- 具有足够的速度(不是越快越好)
- 具有足够的可靠性
- 易于修改
2、一个好程序猿应具备的条件
- 具有程序设计所需要的基本知识与技能
- 对本项目所在的领域有较深的了解,能够准确的理解用户的信息需求,正确的把握有关的信息流程与信息处理原则。
- 对于软件开发的技术环境比较熟悉,对所用的语言,有足够的、实际运用的经验。对所用的语言,有足够的、实际运用的经验。
3、如何成为项目组的好成员
必须具有高度的组织纪律性和团队精神,必须按照统一的原则使用标识符
4、一个好的项目组应当具备的条件
- 第一,有严格的工作规范
- 第二,人员之间有严格的分工,必须有专门的测试人员,有专职的项目负责人
- 第三,每个项目都要事先定制详细的时间表,每一项完成之后都有完整的资料

善于跌倒仍喜爱奔跑~

浙公网安备 33010602011771号