两个月冲刺软考——软件开发过程各阶段需完成的任务(重点);文法的分类:上下文无关法是重点

1. 动态语义错误

只有运行时才能表现出来的错误,属于动态语义错误。例如:除数为0;无限循环;

2. 软件开发过程各阶段需完成的任务

  1. 需求分析:确定软件要完成的功能及非功能性要求;

  2. 概要设计:将需求转化为软件的模块划分,确定模块之间的调用关系;

    软件体系结构设计;逻辑数据结构设计;数据库设计;模块之间的接口设计

  3. 详细设计:将模块进行细化,得到详细的(模块内部的)数据结构和算法;

  4. 编码:根据详细设计进行代码的编写,得到可以运行的软件,并进行单元测试。

3. 结构化设计与面向对象设计

结构化设计和面向对象设计是两种不同的设计方法。

结构化设计根据系统的数据流图进行设计,模块体现为函数、过程及子程序;

面向对象设计基于面向对象的基本概念进行,模块体现为类、对象和构件等。

4. C/C++语言的处理过程

预处理-编译-链接(没有汇编过程)

5. C++语言支持

过程式程序设计、数据抽象程序设计、面向对象程序设计、泛型程序设计;

6. 动态语言和静态语言

  1. 静态语言

    • 编译时类型检查:在编译时进行类型检查,这意味着所有的类型错误在编译阶段就会被发现。

    • 性能:通常来说,静态语言的程序运行速度更快,因为编译器可以优化代码。

    • 编译过程:代码需要先编译成机器语言,然后才能运行。

    • 代表语言:C、C++、Java、Go等。

  2. 动态语言

    • 运行时类型检查:类型检查在程序运行时进行,这意味着类型错误可能在运行时才被发现。

    • 灵活性:动态语言通常更加灵活,允许在运行时改变对象的类型和结构。

    • 解释执行:很多动态语言的代码是直接在解释器中运行的,不需要编译成机器语言。

    • 代表语言:Python、Ruby、JavaScript、PHP等。

动态语言:指程序在运行时可以改变其结构,例如新的函数可以被引进、已有的函数可以被删除等在结构上的变化等。

事实上,脚本语言都是动态语言,而动态语言都是解释型语言,不管它们是否是面向对象的语言。

7. ipconfig命令

  1. ipconfig/all:能为dns/wins服务器显示它已配置且所要使用的附加信息(如ip地址等),并且显示内置于本地网卡中的物理地址。

  2. ipconfig/release:也只能在向dhcp服务器租用其ip地址的计算机上起作用。如果你输入ipconfig/release,那么所有接口的租用ip地址便重新交付给dhcp服务器。

  3. 对于/reset和/reload,ipconfig不支持这两个参数。

8. 文法的分类

0型文法:也称为短语结构文法和无限制文法。对产生式没有任何限制。产生式的左侧可以包含任意数量的符号(至少包含一个非终结符),右侧也可以包含任意数量的符号。

1型文法:也称为上下文有关文法。每个产生式的左侧必须至少包含一个非终结符,且左侧和右侧的符号数量必须相等或右侧的符号数量更多(除了特殊情况S→ε)。

2型文法:也称为上下文无关文法。每个产生式的左侧只有一个非终结符,右侧可以是任意数量的符号(包括空串)。程序设计语言的语法基本上全是这个文法。

3型文法:也称为正规文法。是限制最严格的文法类型。

两个月冲刺中级软件设计师,欢迎大家一起讨论交流,同时也希望各位小伙伴们指出错误,我这边及时修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值