软件开发概述

                                                                                      

(一)软件开发概述

1.1   软件,程序与计算机语言

软件是为完成某些特定功能而编写的一到多个程序文件的集合

计算机是由电子元件组成的

1.2  程序语言的发展

1.2.1 机器语言

电子元件的特点是他们有两种很稳定的状态:导电或不导电。早期的计算机程序员用0表示计算机不通电的状态,用1表示计算机通电的状态,然后通过集成电路实现进位的机制。

计算机只能识别0或1

*十进制数:最低位称为个位,高一位称为十位,在高一位称位百位。

*二进制数:最低位认可称位个位,但这里称位1位。

*00:都是0,所以它就是0.

*01 : 2位为 0,1位为1,表示0个2和1个1,所以就是1.

*10 : 2位为1,1位为0,表示1个2和0个1,所以就是2.

1.2.2汇编语言

用符号表示固定的二进制指令的语言就是汇编语言

1.2.3高级语言

1.3软件开发的基本方法与步骤

程序=数据结构+算法

1、分析问题,建立数据模型

2、确实数据结构和算法

3、编写程序

4、调试程序

1.3.1算法

*有穷性:一个算法必须在执行有限个操作步骤后终止。

*确定性:算法中的每一步的含义必须是确定的。

*有效性:算法中的每一步操作都应该能有效执行,一个不可执行的操作是无效的。

*有零个或多个输入:这里的输入是指算法开始之前需要的初始数据。

*有一个或多个输出:所谓输出是指与输入有某种特定的关系的变量,在一个完整的算法中至少会有一个输出。

 1.3.2编码实现

1、编写源代码

2、将源代码编译成目标代码

3、连接目标代码成为执行程序

1)源代码

二进制文件由二进制数组成,所有二进制数都是由0和1组成,每个0或1被称为一个二进制位或一位,在计算机中,我们将8位组成一个字节,1024个字节组成一个千字节,1024就是一个兆字节。

2)编译源代码

编译器和翻译器有着明显的区别,编译器将整个程序一次转化成为二进制代码,而翻译器是将一行代码转化成一组二进制指令,然后执行这些指令。

3)连接

4)调试程序

 

                                         

时间: 2024-08-02 23:08:53

软件开发概述的相关文章

第一章软件开发概述思维导图

第一章软件开发概述思维导图

软件开发概述 编程语言概述

http://www.cnblogs.com/hellokitty1/p/4032990.html 程序语言的发展: 机器语言  汇编语言  高级语言    软件开发的基本步骤:分析问题,建立数学模型.  确定数据结构和算法.  编制程序 .  调制程序. 算法的特性:有穷性    确定性   有零个或多个输入   有一个或多个输出   有效性   流程图:其优点是形象直观,简单易懂,便于修改和交流.   结构化程序设计: 顺序结构   选择结构    循环结构   调试程序: 语法错误  逻辑

软件开发概述--敏捷模式

软件开发生命周期 SDLC--Software Development Life Cycle. 传统的软件开发生命周期有: 瀑布模型:顺序进行,只有完成上一个阶段才能开启下一个阶段,将软件生命周期分为:制定计划.需求分析.软件设计.编写程序.软件测试及运行维护六个基本活动.优点是为项目提供了按阶段划分的检查点及关注点,必须为其提供模板来使分析.设计.编码.测试.支持有一个共同的指导.缺点是各个阶段划分固定,其间产生大量文档,极大地增加了工作量,用户只有等到整个过程的末期才能看到开发成果,增加了开

敏捷软件开发:原则、模式与实践——第2章 极限编程概述

第2章 极限编程概述 作为开发人员,我们应该记住,XP并非唯一选择.--Pete McBreen,软件技术专家 在第1章中,我们概述了有关敏捷软件开发方法方面的内容,但它没有确切地告诉我们去做些什么:其中给出了一些泛泛的陈述和目标,却没有给出实际的指导方法.本章要改变这种状况. 2.1  极限编程实践 2.1.1  完整团队 我们希望客户.管理者和开发人员紧密地工作在一起,以便于彼此知晓对方所面临的问题,并共同去解决这些问题.谁是客户?XP团队中的客户是指定义产品的特性并排列这些特性优先级的人或

敏捷软件开发:原则、模式与实践——第13章 写给C#程序员的UML概述

第13章 写给C#程序员的UML概述 UML包含3类主要的图示.静态图(static diagram)描述了类.对象.数据结构以及它们之间的关系,藉此表现出了软件元素间那些不变的逻辑结构.动态图(dynamic diagram)展示了软件实体在运行过程中是如何变化的,其中描述了运行流程或者实体改变状态的方式.物理图(physical diagram)展示了软件实体不变的物理结构,其中描述了诸如源文件.库.二进制文件.数据文件等物理实体以及它们之间的关系. 查看如下代码,这段程序实现了一个基于简单

2018年四川理工学院软件工程考试大纲(面向对象的软件开发技术概述)

2018年四川理工学院软件工程考试大纲(面向对象的软件开发技术概述)   1.面向对象软件开发,需要建立哪三种模型 ①.对象模型(用于描述系统的数据结构,定义了系统"对谁做") ②.动态模型(定义了系统"何时做") ③.功能模型(定义了系统"做什么") 2.面向对象软件开发 对象是指生活中的具体事物,面向对象软件开发是指根据生活中具体的事物为基本单位所进行的软件开发 3.面向对象软件开发的过程 面向对象分析(OOA).面向对象设计(OOD).面向

概述:软件开发工具

近期合作开发中,使用了一些工具,感觉确实让自己解放了不少.忙里偷闲,顺便学习了下自考科目<软件开发工具>. 这本书分为两部分,一部分是理论部分,主要还是论述我们须要软件开发工具的N中理由: 用了那么多张纸从软件开发流程的各个阶段论述我们须要工具,之后从两个方面说了下开发工具的标准:从开发人员来说,怎样开发好用的工具有一个标准:对于使用者来说,怎样选择又有一个标准.介绍完软件开发工具的前世,然后就是今生. 第二部分.主要是拿出一些软件开发中各个阶段所须要的工具来说一下怎么用: 建模用的是rati

01.02_计算机基础知识(软件开发和计算机语言概述)

* A:什么是软件 * 按照特定顺序组织的计算机数据和指令的集合* B:什么是开发 * 软件的制作过程* C:什么是软件开发 * 借助开发工具与计算机语言制作软件 * D:什么是计算机语言 * 人与计算机之间进行信息交流沟通的一种特殊语言* E:计算机语言的分类 * 机器语言: * 机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义. * 汇编语言: * 汇编语言是使用一些特殊的符号来代替机器语言的二进制码,计算

敏捷软件开发 – OCP 开放-封闭原则

软件实体(类.模块.函数等)应该是可以扩展的,但是不可修改的. 如果程序中的一处改动就会产生连锁反应,导致一系列相关模块的改动,那么设计就具有僵化性的臭味.OCP建议我们应该对系统进行重构,这样以后对系统再进行这样那样的改动时,就不会导致更多的修改.如果正确地应用OCP,那么以后再进行同样的改动时,就只需要添加新的代码,而不必改动已经正常运行的代码. OCP概述 遵循开放-封闭原则设计出的模块具有两个主要的特征.它们是: 对于扩展是开放的(open for extension).这意味着模块的行