软件工程师必备知识范文

2023-11-23

软件工程师必备知识范文第1篇

1定义

机械工程师是指在机械工程行业从事工作,并且具备一定经验和水平的人。机械工程师一般分为三个级别,初级机械工程师、中级机械工程师、高级机械工程师。机械工程师通常是指三个级别机械工程师的统称,还可以专指中级机械工程师。

2证书简介

机械工程行业有多个机构颁发不同种类的证书。下面分别介绍:

一、国际注册机械工程师

国际注册机械工程师资格认证(ICME)是由机械工程师学会(IME)开展的专业工程师资格认证,国际注册机械工程师资格认证体系通过统一资格考试、面试、专业能力评估、业绩考核、行业权威人士推荐和同行评议相结合等多种方式对专业技术人员进行评价。属于国际同行认可的技术(或从业)资格认证。

认证级别

初级国际注册机械工程师(Junior International Certified Mechanical Engineer,英文缩写JICME)

国际注册机械工程师(International Certified Mechanical Engineer,英文缩写ICME)

高级国际注册机械工程师(Senior International Certified Mechanical Engineer,英文缩写SICME)

认证方式

主要通过机械工程师学会办事处颁发,机械工程师学会各地办事处有:

机械工程师学会 中国总部

地 址: 中国上海市浦东新区商城路518号内外联大厦22楼

机械工程师学会 香港总部

地 址: 香港湾仔港湾道6~8号瑞安中心216~218室

机械工程师学会 澳大利亚

Add: 12 Halwest place, Sunnybank hills, QLD, Australia, 4109

机械工程师学会 美国

Institute of Mechanical Engineers ( USA )

Add: 1936 Huntington DR. Suite 107 South Pasadena CA91030

机械工程师学会 日本

Institute of Mechanical Engineers ( Japan )

Add:日本东京都新宿区新宿5-9-20 マイエイム渡辺ビル203

机械工程师学会 韩国

Add:501 Trade Tower, World Trade Center ,Gangnam-gu, Seoul 135-729, Korea 机械工程师学会 捷克

Czech Mechanical Engineering SocietyAdd: Novotného lávka 5, 116 68 PRAHA 1, Czech Republic

二、机械工程师

机械工程师是由中国机械工程学会开展的机械工程师资格认证通过统一资格考试、业绩考核和同行评议相结合的方式对专业技术人员进行评价。

认证级别

机械工程师

专业工程师

高级机械工程师

认证方式

凡申请机械工程师资格认证的人员,必须通过统一资格考试,并成绩合格,还须参加中国机械工程学会组织的专业工程师资格考试,成绩合格,然后由各地分会颁发证书。

3报考条件

勘察工程师:

第一条 资格考试分为基础考试和专业考试。基础考试合格并符合本办法规定的专业考试报名条件的,可参加专业考试。专业考试合格后,方可获得《中华人民共和国勘察设计注册机械工程师资格证书》。

第二条 基础考试分2个半天进行,各为4个小时。专业考试分专业知识和专业案例两部分内容,每部分内容均为2个半天,每个半天均为3个小时。

第三条 符合《勘察设计注册机械工程师制度暂行规定》[2]第八条要求,并具备下列条件之一的,可申请参加基础考试:

(一)取得本专业(指机械设计制造及其自动化、材料成形及控制工程、过程装备与控制工程专业,详见附表1,下同)或相近专业(指金属材料工程、包装工程、印刷工程、纺织工程、食品科学与工程等专业,详见附表1,下同)大学本科及以上学历或学位。

(二)取得本专业或相近专业大学专科学历,累计从事机械专业建设工程设计工作满1年。

(三)取得其他专业大学本科及以上学历或学位,累计从事机械专业建设工程设计工作满1年。

第四条 基础考试合格,并具备下列条件之一的,可申请参加专业考试:

(一)取得本专业博士学位后,累计从事机械专业建设工程设计工作满2年;或取得相近专业博士学位后,累计从事机械专业建设工程设计工作满3年。

(二)取得本专业硕士学位后,累计从事机械专业建设工程设计工作满3年;或取得相近专业硕士学位后,累计从事机械专业建设工程设计工作满4年。

(三)取得含本专业在内的双学士学位或本专业研究生班毕业后,累计从事机械专业建设工程设计工作满4年;或取得含相近专业在内的双学士学位或研究生班毕业后,累计从事机械专业建设工程设计工作满5年。

(四)取得通过本专业教育评估的大学本科学历或学位后,累计从事机械专业建设工程设计工作满4年;或取得未通过本专业教育评估的大学本科学历或学位后,累计从事机械专业建设工程设计工作满5年;或取得相近专业大学本科学历或学位后,累计从事机械专业建设工程设计工作满6年。

(五)取得本专业大学专科学历后,累计从事机械专业建设工程设计工作满6年;或取得相近专业大学专科学历后,累计从事机械专业建设工程设计工作满7年。

(六)取得其他专业大学本科及以上学历或学位后,累计从事机械专业建设工程设计工作满8年。

第五条 截止2002年12月31日前,符合下列条件之一的,可免基础考试,只需参加专业考试:

(一)取得本专业博士学位后,累计从事机械专业建设工程设计工作满5年;或取得相近专业博士学位后,累计从事机械专业建设工程设计工作满6年。

(二)取得本专业硕士学位后,累计从事机械专业建设工程设计工作满6年;或取得相近专业硕士学位后,累计从事机械专业建设工程设计工作满7年。

(三)取得含本专业在内的双学士学位或本专业研究生班毕业后,累计从事机械专业建设工程设计工作满7年;或取得含相近专业在内的双学士学位或研究生班毕业后,累计从事机械专业建设工程设计工作满8年。

(四)取得本专业大学本科学历或学位后,累计从事机械专业建设工程设计工作满8年;或取得相近专业大学本科学历或学位后,累计从事机械专业建设工程设计工作满9年。

(五)取得本专业大学专科学历后,累计从事机械专业建设工程设计工作满9年;或取得相近专业大学专科学历后,累计从事机械专业建设工程设计工作满10年。

(六)取得其他专业大学本科及以上学历或学位后,累计从事机械专业建设工程设计工作满12年。

(七)取得其他专业大学专科学历后,累计从事机械专业建设工程设计工作满15年。

(八)取得本专业中专学历后,累计从事机械专业建设工程设计工作满25年;或取得相近专业中专学历后,累计从事机械专业建设工程设计工作满30年。

4就业前景

引言:机械工程师具有很多共性特征,比如他们讲 “理”、讲原则、实事求是、重视实证;也重技巧,重经验,抽象思维能力强。作为一群每天和机器打交道的人,机械工程师的心思也应当如机器运转般缜密。那么,如何成为一个好的机械工程师?机械工程师的主要工作又是什么呢?

进行详细介绍。 复合型人才的发展需要 结合我国对复合型人才培养的实际需要,21世纪的制造业是以系统集成和交叉融合为基本理念的新型制造业,因此,在所有未来机械工程师必须具备的能力中,首先应该特别强调创新意识。 善于学习也是机械工程师的必备品质。对于机械工程师来说,不但要有内容类知识(是什么、为什么)、方法类知识(怎么做、谁来做),还要有规则类知识(约束着“怎么做”和“谁做”、什么能做、什么不能做……)。机械工程师应当保持发扬自己传统的优良品质,全面加强信息技术和管理技术的学习掌握,把自己塑造成为新时期机械制造业和非机械产业都需要的复合型工程师。 机械工程师应当保持发扬自己的优良传统:如认真严密,全面权衡,追求准确性;善于分析,逻辑性强、力求系统性;结合实际、加强动手,提升操作性等等,归根结底,是要在不断地学习和实践中实现自我完善。同时克服机械思维、见物不见人、技术至上忽视市场等弱点,全面加强信息技术和管理技术的学习掌握,把自己塑造成为新时期机械制造业和非机械产业都需要的复合型人才。 机械工程师——职业概述 机械工程师是从事机械工程领域内的设计、制造过程的控制、以及机械设备和动力设备维护的专业技术人员。主要从事工具、机器和其他设备设计,安装,操作和维护等工作,该职业对从业者分析判断能力、解决问题能力的要求都很高。

机械工程师的工作环境从安静、现代、开放式的办公室到工厂车间或室外环境各有不同,这主要取决于工作类型的差异。和大多数工程技术人员一样,机械工程师的工作环境基本舒适,工作条件较为优越,较少职业病隐患,更鲜有灾害威胁,但必须抱有对职业的执着热爱和奉献精神,项目期限紧迫时更要做好加班加点的准备。 机械工程师——职业大揭秘

揭秘一 工作内容

1. 负责机械设备及有关零部件的图纸设计、安装和试运行;

2. 制定机械设备的操作规程;

3. 对机械设备中存在的缺陷及时进行技术改造或调整,确保设备运处于良好状态;

4. 制定机械设备的预防性维修、保养及大修计划,并负责对维修工作的组织、实施及检查,确保维修质量;

5. 定期对机械设备进行升级改造以提高生产效率。

揭秘二 职业要求 在专业方向和学历水平上,机械工程师需要具有机械类专业,本科及以上学历。 在实际经验和工作能力方面,有一定年限的行业从业经验,能将专业知识原理,运用于具体实践,包括精通工程制图、工程材料、产品设计、制造工艺等工程设计类技能;熟悉质量保证、质量控制等的基本规程,了解管理、经济等其他领域知识,并能熟练进行计算机和网络的应用,机械制造自动化的操作等。同时兼具较强的分析综合能力和动手操作能力,具备独立思考意识,尤其是开拓创新精神,始终保持学习的姿态和存疑的态度,具有缜密的思维和严谨的作风。务实踏实的工作态度、敬业风险的工作精神、协作互助的团队意识等也是对一名优秀机械工程师的基本要求。

揭秘三 职业资格 与机械工程师职业相关的职业资格有一个:

1、证书072《中国机械工程师资格认证ACME》

揭秘四 职业前景 机械工业是我国调整经济结构的重头戏,关系到经济的造血能力、扩大内需能力、科技的蓄积能力和开发创新能力,发展机械工业也是提升生产效率最重要的手段之一。

机械工业是各种科技人才的蓄水池,要求生产人员具备综合的素质和全面的技能。机械工业实力越强,科技人才效率越高,拉动社会生产力发展的效果越明显。 我国的机械工程科学虽已取得长足进展,但与国际先进水平仍存在很大差距。在本领域学术界,人们期待着诞生更多在国际上有重大影响的科技成果和著名科学家,拥有一大批国际一流的国家实验室和工程研究中心,创造大量自主创新的重大科技成果并转化为生产力。 而在科学向产业过渡的领域中,伴随着企业生产规模的日益扩大,面对优秀机械工程类人才青黄不接的现状,机械工程师无疑将扮演越来越重要的角色,在机电、材料、制造、信息、电子等领域的研发、生产和管理工作中发挥作用。 揭秘五 薪资行情 刚踏上工作岗位的机械工程师薪水并不高,由于往往仅有理论,没有一定的实践经验,他们的月薪一般在1000-1500元左右。如果有了5年以上的工作经验,月薪一般在4000元至6000元不等。任职于一些跨国公司,技术娴熟的机械工程师的月薪可达8000元,甚至上万。 揭秘六 适合人群 根据知遇网的职业要素模型,机械工程师需要具备的能力倾向如底图所示。

职业发展“路在何方” 如果向更高层面,机械工程师可朝着产品研发经理和生产经理的职位发展,但根据新时期的新要求,机械工程师也必须拓宽思路,开掘多元发展渠道。 随着工作经验的积累,机械工程师可以得到职责更广的工作,包括技术服务和开发干事、团队领导、研究指导等。一些机械工程师会把他们的技术知识应用于市场营销;另一些则会开设自己的业务或咨询公司。 还有一条发展途径就是进入研究领域,这要求工程师继续深造学习,拥有硕士或博士学位的机械工程师更易于进入研究和教学岗位工作,机械工程师的发展路径 。

1 产品工艺工程师:让科学技术真正变为生产力

2 质量管理专员:“过程”品质的“把关人”

3 供应链专员:让供应链的“大树”茁壮成长

4 汽车电子工程师:开启汽车未来发展的新纪元

5 汽车技术支持工程师:汽车销售中离不开的技术保障

6 电器研发工程师:让我们的生活更上一层楼

7 数码产品开发工程师:让数码产品更加完美

8 模具工程师:专用工具行业里的艺术家

9 售前技术工程师:销售人员的技术支柱 10售后技术工程师:让销售环节善始善终

11【职场榜样15】钟亮:“标志着中国创新力量的兴起”

软件工程师必备知识范文第2篇

第一部分:硬件知识

一、 数字信号

1、 TTL和带缓冲的TTL信号:逻辑门电路

2、 RS232和定义:异步传输标准接口,通常以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。数据传输速率为每秒50、7

5、100、150、300、600、1200、2400、4800、9600、19200波特。

3、 RS485/422(平衡信号)半双工/全双工

4、 干接点信号:无源开关,具有闭合和断开的2种状态,2个接点之间没有极性,可以互换。各种开关如:限位开关、行程开关、脚踏开关、旋转开关、温度开关、液位开关等; 各种按键; 各种传感器的输出,如:环境动力监控中的传感器、水浸传感器、火灾报警传感器、玻璃破碎、振动、烟雾和凝结传感器; 继电器、干簧管的输出。

湿接点信号:有源开关;具有有电和无电的2种状态;2个接点之间有极性,不能反接。

二、 模拟信号视频

1、 非平衡信号:非平稳信号是指分布参数或者分布律随时间发生变化的信号。现实世界中我们所碰到的信号大都是非平稳信号。平稳和非平稳都是针对随机信号说的,非平稳信号分析和处理的一般方法有时域分析、频域分析、时频联合分析。

2、 平衡信号:信号在传输过程中,如果被直接传送就是非平衡信号,如果把信号反相,然后同时传送反相的信号和原始信号,就叫做平衡信号,平衡信号送入差动放大器,原信号和反相位信号相减,得到加强的原始信号,由于在传送中,两条线路受到的干扰差不多,在相减的过程中,减掉了一样的干扰信号,因此更加抗干扰。这种在平衡式信号线中抑制两极导线中所共同有的噪声的现象便称为共模抑制。所以平衡线路只需要在输入输出信号增加一个差动放大器就可以实现。

三、 芯片

1、 封装

2、 7407:TTL 集电极开路六正相高压驱动器。1入2出 3进4输出 5进6输出9进8输出 11进10输出 13进12输出。

3、 7404:六组反向器。1入2出 3进4输出 5进6输出9进8输出 11进10输出 13进12输出。

4、 7400:四组与门。1.2入3出,4.5入6出,9.10入8出,12.13入11出。

5、 74LS573:八位三状态输出D触发器。

6、 ULN2003:高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。

7、 74LS244:3态8位缓冲器,一般用作总线驱动器,没有锁存的功能。

8、 74LS240:3态总线转换器,一般用于总线的电平匹配问题,为单向传送。

9、 74LS245:3态总线转换器,一般用于总线的电平匹配问题,为双向传送。

10、74LS138:3线-8线译码器

74LS238:加法器

11、 CPLD(EPM7128)

12、 1161

13、 max691

14、 max485/75176

15、 mc1489

16、 mc1488

17、 ICL232/max232

18、 89C51

四、 分立器件

1、 封装

2、 电阻:功耗和容值

3、 电容

1) 独石电容

2) 瓷片电容

3) 电解电容

4、 电感

5、 电源转换模块

6、 接线端子

7、 LED发光管

8、 8字(共阳和共阴)

9、 三极管2N5551

10、 蜂鸣器

五、 单片机最小系统

1、 单片机

2、 看门狗和上电复位电路

3、 晶振和瓷片电容

六、 串行接口芯片

1、 eeprom

2、 串行I/O接口芯片

3、 串行AD、DA

4、 串行LED驱动、max7129

七、 电源设计

1、 开关电源:器件的选择

2、 线性电源:

1) 变压器

2) 桥

3) 电解电容

3、 电源的保护

1) 桥的保护

2) 单二极管保护

八、 维修

1、 电源

2、 看门狗

3、 信号

九、 设计思路

1、 电源:电压和电流

2、 接口:串口、开关量输入、开关量输出

3、 开关量信号输出调理

1) TTL―>继电器

2) TTL―>继电器(反向逻辑)

3) TTL―>固态继电器

4) TTL―>LED(8字)

5) 继电器―>继电器

6) 继电器―>固态继电器

4、 开关量信号输入调理

1) 干接点―>光耦

2) TTL―>光耦

5、 CPU处理能力的考虑

6、 成为产品的考虑:

1) 电路板外形:大小尺寸、异形、连接器、空间体积

2) 电路板模块化设计

3) 成本分析

4) 器件的冗余度

1. 电阻的功耗

2. 电容的耐压值等

5) 机箱

6) 电源的选择

7) 模块化设计

8) 成本核算

1. 如何计算电路板的成本?

2. 如何降低成本?选用功能满足价格便宜的器件

十、 思考题

1、 如何检测和指示RS422信号

2、 如何检测和指示RS232信号

3、 设计一个4位8字的显示板

1) 电源:DC12

2) 接口:RS232

3) 4位3”8字(连在一起)

4) 亮度检测

5) 二级调光

4、 设计一个33位1”8字的显示板

1) 电源:DC5V

2) 接口:RS232

3) 3排 11位8字,分4个、3个、4个3组,带行与行之间带间隔

4) 单片机最小系统

5) 译码逻辑

6) 显示驱动和驱动器件

5、 设计一个PCL725和MOXA C168P的接口板

1) 电源:DC5V

2) 接口:PCL725/MOXA 8个RS232

1. PCL725,直立DB37,孔

2. MOXA C168P,DB62弯

3) 开关量输出信号调理:6个固态继电器和8个继电器,可以被任何一路信号控制和驱动,接口:固态继电器5.08直立,继电器3.81直立

4) 开关量输入调理:干接点闭合为1或0可选,接口:3.81直立

5) RS232调理:

1. LED指示

2. 前4路RS232全信号,后4路只需要TX、RX、0

3. 无需光电隔离

4. 接口形式:DB9(针)直立

第二部分:软件知识

一、 汇编语言

二、 C51

该部分可以从市场上买到的N种开发板上学到,至于第一部分,需要人来带吧。

为什么要掌握这些知识?

实际上,电子工程师就是将一堆器件搭在一起,注入思想(程序),完成原来的这些器件分离时无法完成的功能,做成一个成品。所需要的技能越高、功能越复杂成本越低、市场上对相应的东东的需求越大,就越成功。这就是电子工程师的自身的价值。从成本到产品售出,之间的差价就是企业的追求。作为企业的老板,是在市场上去寻找这样的应用;对电子工程师而言,是将老板提出的需求或者应用按照一定的构思原则(成本最低、可靠性最高、电路板最小、功能最强大等)在最短的时间内完成。最短的时间,跟电子工程师的熟练程度、工作效率和工作时间直接有关。这就是电子工程师的价值将电子产品抽象成一个硬件的模型,大约有以下组成:

1) 输入

2) 处理核心

3) 输出

输入基本上有以下的可能:

1) 键盘

2) 串行接口(RS232/485/can bus/以太网/USB)

3) 开关量(TTL,电流环路,干接点)

4) 模拟量(4~20ma、 0~10ma、0~5V(平衡和非平衡信号))

输出基本上有以下组成:

1) 串行接口(RS232/485/can bus/以太网/USB)

2) 开关量(TTL、电流环路、干接点、功率驱动)

3) 模拟量(4~20ma, 0~10ma,0~5V(平衡和非平衡信号))

4) LED显示:发光管、八字

5) 液晶显示器

6) 蜂鸣器

处理核心主要有:

1) 8位单片机,主要就是51系列

2) 32位arm单片机,主要有atmel和三星系列

51系列单片机现在看来,只能做一些简单的应用,说白了,这个芯片也就是做单一的一件事情,做多了,不如使用arm来做;还可以在arm上加一个操作系统,程序既可靠又容易编写最近三星的arm受到追捧,价格便宜,以太网和USB的接口也有,周立功的开发系统也便宜,作为学习ARM的产品来说,应该是最好的;作为工业级的控制,是不是合适,在网友中有不同的看法和争议。本公司使用atmel ARM91系列开发的1个室外使的产品,在北京室外使用,没有任何的通风和加热的措施,从去年的5月份到现在,运行情况良好。已经有个成功应用的案例。

但对于初学者来说,应该从51着手,一方面,51还是入门级的芯片,作为初学者练手还是比较好的,可以将以上的概念走一遍;很多特殊的单片机也是在51的核的基础上增加了一些I/O和A/D、D/A;也为今后学习更高一级的单片机和ARM打下基础

再说了,哪个老板会将ARM级别的开发放在连51也没有学过的新手手中在51上面去做复杂的并行扩展是没有必要的,比如,扩展I/O口和A/D、D/A等等,

可以直接买带有A/D、D/A的单片机;或者直接使用ARM,它的I/O口线口多。可以使用I2C接口的芯片,扩展I/O口和A/D、D/A,以及SPI接口扩展LED显示,例如MAX7219等芯片

市面上一些比较古老的书籍中还有一些并行扩展的例子,如:RAM、EPROM、A/D、D/A等,我觉得已经没有必要去看了,知道历史上有这些一回事就行了

软件工程师必备知识范文第3篇

软件投入使用后就进入软件维护阶段。维护阶段是软件生存周期中时间最长的一个阶段,所花费的精力和费用也是最多的一个阶段。 8.1软件维护的内容

软件维护内容有四种:校正性维护,适应性维护,完善性维护和预防性维护。

1.校正性维护

在软件交付使用后,由于在软件开发过程中产生的错误并没有完全彻底的在测试中发现,因此必然有一部分隐含的错误被带到维护阶段来。这些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。校正性维护占整个维护工作的20%左右。

2.适应性维护

随着计算机的飞速发展,计算机硬件和软件环境也在不断发生变化,数据环境也在不断发生变化。为了使应用软件适应这种而修改软件的过程称为适应性维护。这种维护活动占整个维护活动的25%。

3.完善性维护

在软件漫长的运行时期中,用户往往会对软件提出新的功能要求与性能要求。这是因为用户的业务会发生变化,组织机构也会发生变化。为了适应这些变化,应用软件原来的功能和性能需要扩充和增强,为达到这个目的而进行的维护活动称为完善性维护,占整个维护活动的50%。

4.预防性维护

为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。这是为以后进一步的运行和维护打好基础,占整个维护工作的4%。 8.2 维护的特点

8.2.1非结构化维护和结构化维护

软件的开发过程对软件的维护过程有较大的影响。若不采用软件过程的方法开发软件,则软件只有程序而无文档,维护工作非常难,这就是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,这容易进行维护工作,这是一种结构化的维护。 1.非结构化维护

因为只有源程序,而文档很少或没有文档,维护活动只能从阅读、理解、分析源程序开始。这是软件工程时代以前进行维护的情况。 2.结构化维护

用软件工程思想开发的软件具有各阶段的文档,这对于理解和掌握软件功能、性能、系统结构、数据结构、系统接口和设计约束有很大作用。这种维护对减少精力、减少花费、提高软件维护效率有很大的作用。 8.2.2维护的困难性

软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。表现在以下几个方面: 1.读懂别人的程序是困难的。 2.文档的不一致性。

由于开发过程中文档管理不严所造成的,在开发过程中经常会出现修改程序却遗忘了修改与其相关的文档,使得文档前后不一致。 3.软件开发和软件维护在人员和时间上的差异

由于维护阶段持续时间很长,正在运行的软件可能是十几、二十年前开发的,开发工具、方法、技术与当前的工具、方法、技术差异很大,这又是维护困难的另一因素。 4.软件维护不是一项吸引人的事

由于维护工作的困难性,维护工作经常遭受挫折,而且很难出成果,不像软件开发工作那样吸引人。

8.2.3软件维护的费用

软件维护的费用在总费用中的比重是不断增加的。七十年代占35%~40%,八十年代上升到40%~60%,九十年代上升到70%~80%。软件维护费用不断上升,这只是软件维护有形的代价,无形的代价是要占用更多的资源,并在维护时对软件的改动,引入了潜在的故障,从而降低了软件的质量。用于软件维护工作的活动可分为生产性活动和非生产性活动两种。生产性活动包括分析评价、修改设计和编写程序代码等。非生产性活动包括理解程序代码功能、解释数据结构接口特点和设计约束。

维护活动总的工作两由下式表示:M=P+K×exp(C-D)

其中:M表示维护工作的总工作量;

P表示生产性活动工作量;

K表示经验常数;

C表示复杂性程度;

D表示维护人员对软件的熟悉程度;

上式表明,若C越大,D越小,那么维护工作量将成指数增加;C增加表示软件因未用软件工程方法开发,从而使得软件为非结构化设计,文档缺少,程序复杂性高。D表示维护人员不是原来的开发人员,对软件熟悉程度低,重新理解软件花费很多时间。 8.3维护任务的实施 8.3.1维护的组织

为了有效地进行软件维护,应事先开始组织工作,建立维护机构。这种维护机构通常以维护小组形式出现。维护小组分为临时维护小组和长期维护小组。 8.3.2维护的流程

软件维护的流程如下:

(1)制定维护申请报告。

(2)审查申请报告并批准。

(3)进行维护并做详细记录。

(4)复审。 1.制定维护申请报告

所有软件维护申请报告应按照规定的方式提出。该报告也称为软件问题报告。它是维护阶段的一种文档,由申请维护的用户填写。维护申请报告是一种由用户产生的文档,在软件维护组织内部还要制定一份软件修改报告,该报告是维护阶段的另一种文档。

提出维护申请报告之后,由维护机构来评审维护请求。评审工作很重要,通过评审回答要不要维护,从而可以避免盲目的维护。 2.维护过程

一个维护申请提出之后,经评审需要维护则按下列过程实施维护:

(1)首先确定要进行维护的类型。

(2)对校正性维护从评价错误的严重性开始。

(3)对适应性维护和完善性维护。

(4)实施维护任务。不管维护类型如何,大体上要开展相同的技术工作。这些工作包括修改软件设计、必要的代码修改、单元测试、集成测试、确认测试以及复审。每种维护类型的侧重点不一样。

(5)“救火”维护。在发生重大问题时,需要立即解决的问题。

3.维护的复审

在维护任务完成后,要对维护任务进行复审。 8.3.3维护技术

有两类维护技术,它们是面向维护的技术和维护支援技术。

1.面向维护的技术

面向维护的技术涉及软件开发的所有阶段。

2.维护支援技术

维护支援技术包括下列方面的技术:

.信息收集;

.错误原因分析;

.维护方案评价;

.软件分析与理解;

.代码与文档修改;

.修改后的确认;

.远距离的维护; 8.3.4维护的副作用 维护的目的是为了延长软件的寿命并让创造更多的价值,经过一段时间的维护,软件中的错误减少了,功能增强了。但修改软件会造成软件的错误,这种因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用。

维护的副作用有编码副作用、数据副作用、文档副作用三种。

1.编码副作用

在使用程序设计语言修改源代码时可能引入错误。

2.数据副作用

在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。

3.文档副作用

对数据流、软件结构、模块逻辑或任何其他有关特性进行修改时,必须对相关技术文档进行相应修改,否则会导致文档与程序功能不匹配、缺省条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。

【大 中

8.4 软件可维护性

软件的维护是十分困难的,为了使软件能易于维护,必须考虑使软件具有可维护性。 8.4.1可维护性定义

软件可维护性的定义:软件能够被理解、校正、适应及增强功能的容易程度。

软件的可维护性、可使用性、可靠性是衡量软件质量的几个主要特性,也是用户十分关心的几个问题。

软件的可维护性是软件开发阶段的关键目标。影响软件可维护性的因素较多,设计、编码及测试中的疏忽和低劣的软件配置,缺少文档等都对软件的可维护性产生不良影响。软件可维护性可用下面七个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这七种特性的侧重点也是不相同。 8.4.2可维护性的度量

目前有若干对软件可维护性进行综合度量的方法,但要对可维护性作出定量度量还是困难的。还没有一种方法能够使用计算机对软件的可维护性进行综合性的定量评价。

下面是度量一个可维护的软件的七种特性时常采用的方法,即质量检查表、质量测试、质量标准。

质量检查表是用于测试程序中某些质量特性是否存在的一个问题清单。

质量测试与质量标准则用于定量分析和评价程序的质量。由于许多质量特性是相互抵触的,要考虑几种不同的度量标准去度量不同的质量特性。 8.4.3提高可维护性的方法

从下面五个方面来阐述如何提高软件的可维护性:

1.建立明确的软件质量目标

如果要程序满足可维护性七个特性的全部要求,那么要付出很大的代价,甚至是不现实的,但有些可维护性是相互促进的,因此要明确软件所追求的质量目标。

2.使用先进的软件开发技术和工具 利用先进的软件开发技术能大大提高软件质量和减少软件费用。面向对象的软件开发方法就是一个非常实用而强有力的软件开发方法,用面向对象方法开发出来的软件系统,稳定性好,比较容易修改,比较容易理解,易于测试和调试,因此,可维护性好。

3.建立明确的质量保证

质量保证是指为提高软件质量所做的各种检查工作。质量保证检查是非常有效的方法,不仅在软件开发的各阶段中得到了广泛应用,而且在软件维护中也是一个非常主要的工具。为了保证可维护性,以下四类检查是非常有用的:

(1)在检查点进行检查。

(2)验收检查。

(3)周期性的维护检查。 (4)对软件包的检查。

4.选择可维护的语言

程序设计语言的选择对维护影响很大。低级语言很难掌握,很难理解,因而很难维护。一般来说,高级语言比低级语言更容易理解,第四代语言更容易理解,容易编程,程序容易修改,改进了可维护性。

5.改进程序的文档

程序文档是对程序功能、程序各组成部分之间的关系、程序设计策略、程序实现过程的历史数据等的说明和补充。程序文档对提高程序的可阅读性有重要作用。为了维护程序,人们必须阅读和理解程序文档。

一、名词解释

1.校正性维护

2.适应性维护 3.完善性维护

4.预防性维护

5.软件可维护性 6.软件维护的副作用

二、填空题

1.维护阶段是软件生存周期中时间最长的阶段,也是花费精力和费用________的阶段。 2.在软件交付使用后,由于在软件开发过程中产生的错误没有完全彻底在开发阶段发现,必然有一部分隐含错误带到_________阶段。

3.采用手工方法开发软件只有程序而无文档,维护困难,这是一种___________维护。 4.软件维护费用增加的主要原因是维护的_________非常低。 5.软件维护工作的活动分为生产性活动和__________活动。

6.所有软件维护申请报告要按规定方式提出,该报告也称_________报告。

7.有两类维护技术:在开发阶段使用来减少错误,提高软件可维护性的面向维护技术;在维护阶段用来提高维护的效率和质量的_______技术。

三、选择题

1.在生存周期中,时间长、费用高、困难大的阶段是( )。 A.需求分析 B.编码 C.测试 D.维护 2.为适应软硬件环境变化而修改软件的过程是( )。

A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 3.软件维护困难的主要原因是( )。

A.费用低 B.人员少 C.开发方法的缺陷 D.维护难 4.软件维护费用高的主要原因是( )。

A.生产率高 B.生产率低 C.人员多 D.人员少 5.维护阶段的文档是( )。

A.软件需求说明 B.操作手册 C.软件问题报告 D.测试分析报告 6.产生软件维护的副作用,是指( )。

A.开发时的错误 B.隐含的错误 C.因修改软件而造成的错误 D.运行时误操作 7.维护中,因误删除一个标识符而引起的错误是( )副作用。 A.文档 B.数据 C.编码 D.设计 8.可维护性的特性中相互促进的是( )。

A.可理解性和可测试性 B.效率和可移植性 C.效率和可修改性 D.效率和结构好 9.可维护性的特性中,相互矛盾的是( )。

A.可修改性和可理解性

B.可测试性和可理解性 C.效率和可修改性 D.可理解性和可读性

四、简答题

1.软件维护有哪些类型? 2.软件维护的特点是什么? 3.软件维护的流程是什么? 4.软维护的副作用有哪些?

5.可维护性度量的质量特性有哪些? 6.提高可维护性有哪些方法? 参考答案

二、填空题

1.最多 2.维护 3.非结构化 4.生产率 5.非生产性 6.软件问题 7.维护支援

三、选择题

软件工程师必备知识范文第4篇

1、 MATLAB,功能强大的数学软件,可以处理大学里几乎所有的数学问题,作为一名工科

电类大学生,掌握matlab在很多专业上都是很有帮助的。

2、 VC++6.0(VC++2008)、c++是大部分工科大学生必修学科(VC),因为它是语言基础,

VC++6.0是一款比较早的编程软件,界面简单,适合学C++的学生使用,如果要做项目或者学习C#等,也可以用VC++2008.

3、 quatusII,只要是学电类的学生,都必修要知道这款软件,是学习数字电路设计(数电),

模拟电路设计(模电)的仿真软件(也可以用multizim,个人觉得更简单方便),也是Verilog语言的软件,是一款比较重要的软件。

4、 eclipse,java开发平台,编写java程序用的(也可以用JCreator,注意有api文档,和jdk

平台)。

5、 lingo和mathmatica都是数学软件,前者用于优化问题,都是处理数学问题的软件,数

模的会用的比较多。

6、 office,大学生应当熟练用word、ppt、excel,另外画图可以用visio(office不自带,要

去下载),当然outlook也是不错的,另外数据库access也很有必要掌握。

7、 photoshop,如果想学处理图片,这绝对是一款专业的软件,如果不想学这么深,美图

秀秀也不错,当然美图看看可以用来浏览照片,美图拍拍可以拍照片,还是不错的,本人也在实用,感觉不错的。

8、 ulraedit,强大的文本编辑软件,比较好用

9、 lingos词霸,一款比较强大的翻译软件

10、 酷狗7,个人感觉比酷我好

11、 QQ2011,这个不用说了

12、 迅雷,下载软件不用说,当然也可以装个电驴

13、 优酷,有很多视频在优酷上可以看,而且优酷的缓冲也是很强大的

14、 PPLive,网络电视,我个人还是比较喜欢的

15、 POTplayer,是KMPLAYER一个系列的,干净简单,方便

16、 360极速浏览器,个人觉得比较好,速度快,当然ie9也相当可以的

17、 人人桌面,不用多说

18、 飞信,移动用户必备的

19、 360安全卫士,这个应该不用推荐了

20、 杀毒软件大家看着办,我觉得360杀毒已经够了

21、 搜狗拼音输入法,不多说

软件工程师必备知识范文第5篇

大一:

1、Visual Basic:最适合入门的计算机语言,可功能很强,而且用起来无比方便。对我们测控专业的学生来说也很实用,可以在以后的各种与计算机相连的项目中用来设计界面。但不宜过于深入,掌握基本的东西,能做基本的界面即可。还应注意其在数据库程序设计方面的用法。

2、C语言:这个基本不用介绍了,可以说它之于我们就如嗓子之于歌唱家。你说你能不好好学学吗?强烈建议精通!

3、业余适当学习一些业余软件,费时不多,受益多多,比如:Photoshop、Flash等等。这些东西对以后的工作和生活都有很大帮助,但请记住我们的方向,不要沉迷,不要过于深入。

大二:

1、MATLAB:理工科学生不可不知的软件,功能实在是无比强大,因此也就很难掌握。但需注意与自己专业相连,因此我们重点学习其在数值计算、信号处理、控制系统设计等方面的应用。(配套课程:《高等数学》、《线性代数》、《信号与系统》、《自动控制原理》等)

2、Multisim:主要用于电路仿真,当我们学习数电、模电时如果能用其模拟一下课本或作业中的电路,绝对会对我们的学习有不小的帮助。而且操作简单,结果直观,实乃精品。(配套课程:《电工学》、《数字电子技术基础》、《模拟电子技术基础》等)

3、LabVIEW:很多电子工程师都在用它来帮助提高自己的工作效率。相信每一个用过该软件的人都能真正体会到软件编程的快乐。(配套课程:《数据采集》、《自动检测系统》等)

4、Protel:制作电路板的最经典和最为普及的软件。为了我们以后的发展,为了以后设计系统以及做各种项目的需要,此软件我们必不可少。(配套课程:《电路CAD》)

大三:

1、单片机:如果你想找一份好工作,想幸福地生活,单片机你不能不精通。当然,此处我们默认是指课程中广泛学习的MCS-51系列单片机。(配套课程:《单片机基础》)

2、Keil C:学习单片机除了课本上的汇编语言以外,很明显,我们更重要的还要精通单片机开发的C语言,而学习用于单片机开发的C语言,我们当然离不开Keil C!(配套课程:《单片机基础》)

3、Proteus:我们学习单片机最需要的是什么?当然是开发板、编程器,然而这些东西价钱又不是那么便宜,对我们学生来说是一笔不小的负担。很多学生都会被学习单片机的昂贵的开销所吓怕。然而,当你拥有了这款软件,你就会很惊奇的发现那一切都将成为历史;你会发现你所要的、甚至你没有想到的,它都提供给了你。这么一款神奇的软件,我们能够拒绝吗?(配套课程:《单片机基础》)

4、AVR、PIC等:单片机种类繁多,而课本只给了我们一种,很显然这是不够的,我们需要了解更多的东西。那么这两类单片机绝对不能错过,它们都是极为经典的并且在工业中得到广泛应用的优秀单片机。 大四:

1、DSP:和单片机差不多的一类东西,但与单片机的应用方向不尽相同。为把自己打造成一个复合型人才,这些知识当然也就不可缺少了。

2、ARM:它占领了32位单片机几乎8成的份额,而且,你能容忍自己直到32位单片机广泛应用时才去学习它吗?我们当然要事先做好准备、迎接挑战!

3、SOC、CPLD、FPGA等:作为一个立志要有所作为的学生,这些当前电子应用中的前沿知识你能错过吗?那么还等什么呢,趁着这大学里的最后时光,猛学一段吧!

软件工程师必备知识范文第6篇

一、策划书名称

尽可能具体的写出策划名称,如“×年×月××大学××活动策划书”,置于页面中央,当然可以写出正标题后将此作为副标题写在下面。

二、活动背景:

这部分内容应根据策划书的特点在以下项目中选取内容重点阐述;具体项目有:基本情况简介、主要执行对象、近期状况、组织部门、活动开展原因、社会影响、以及相关目的动机。其次应说明问题的环境特征,主要考虑环境的内在优势、弱点、机会及威胁等因素,对其作好全面的分析(swot分析),将内容重点放在环境分析的各项因素上,对过去现在的情况进行详细的描述,并通过对情况的预测制定计划。如环境不明,则应该通过调查研究等方式进行分析加以补充。

三、活动目的、意义和目标:

活动的目的、意义应用简洁明了的语言将目的要点表述清楚;在陈述目的要点时,该活动的核心构成或策划的独到之处及由此产生的意义(经济效益、社会利益、媒体效应等)都应该明确写出。活动目标要具体化,并需要满足重要性、可行性、时效性

四、资源需要:

列出所需人力资源,物力资源,包括使用的地方,如教室或使用活动中心都详细列出。可以列为已有资源和需要资源两部分。

五、活动开展:

作为策划的正文部分,表现方式要简洁明了,使人容易理解,但表述方面要力求详尽,写出每一点能设想到的东西,没有遗漏。在此部分中,不仅仅局限于用文字表述,也可适当加入统计图表等;对策划的各工作项目,应按照时间的先后顺序排列,绘制实施时间表有助于方案核查。人员的组织配置、活动对象、相应权责及时间地点也应在这部分加以说明,执行的应变程序也应该在这部分加以考虑。

这里可以提供一些参考方面:会场布置、接待室、嘉宾座次、赞助方式、合同协议、媒体支持、校园宣传、广告制作、主持、领导讲话、司仪、会场服务、电子背景、灯光、音响、摄像、信息联络、技术支持、秩序维持、衣着、指挥中心、现场气氛调节、接送车辆、活动后清理人员、合影、餐饮招待、后续联络等。请根据实情自行调节。

六、经费预算:

活动的各项费用在根据实际情况进行具体、周密的计算后,用清晰明了的形式列出。

七、活动中应注意的问题及细节:

内外环境的变化,不可避免的会给方案的执行带来一些不确定

性因素,因此,当环境变化时是否有应变措施,损失的概率是多少,造成的损失多大,应急措施等也应在策划中加以说明。

八、活动负责人及主要参与者:

上一篇:如何发挥老干的作用范文下一篇:让快乐走进音乐课堂范文