时间:2022-04-21 07:13:28
导言:作为写作爱好者,不可错过为您精心挑选的10篇软件开发论文,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
将软件开发周期从几年缩短到一个月甚至两个星期,这需要制定详尽的软件开发和交付流程。而详尽的软件开发和交付流程也是实现Scrum所必须遵守的。在Scrum中一个交付周期被称为一个Sprint。在每个Sprint开始之前,要有一个Sprint的计划会议(Sprintplanmeeting)。Sprint计划会议是在业务分析师和用户确定好当前阶段的需求分析之后,将可以进行开发的部分按照需求的优先级顺序排列好开发任务(Story),再由开发人员对任务进行难度评分,最后团队根据可变因素如团队成员情况,开发环境状态等确定下一个Sprint的任务。为了加强团队内部的沟通和及时掌握开发交付情况,Scrum要求团队每日开站立会议(Standupmeeting),站立会议通常1到2分钟每人,主要说明前一天的工作内容,存在什么问题,以及今天的工作计划。当然在每个Sprint快结束的前一天,要开评审会议,来报告进度,通常情况下是软件会议制定软件当前Sprint的软件计划。中国有句古话叫做“吾日三省吾身”,每个Sprint结束还有一个最为重要的会议就是回顾会议(Retrospectivemeeting)。回顾会议主要是总结上一个Sprint,保持优点,克服缺点。确保每个会议的有效性是Scrum实现的基础。
2.浅谈软件项目开发过程中的需求分析
3.软件开发方法的创新发展过程研究
4.基于Java语言的安卓手机软件开发
5.软件开发的风险分析与控制
6.软件开发过程模型的发展
7.需求工程对于软件开发的重要性
8.软件复用技术及其在软件开发中的应用
9.试论VB编程语言在软件开发中的应用
10.软件开发的风险分析与控制
11.分析软件开发中数据库设计理论的实践
12.基于WBS-RBS的软件开发风险识别与控制
13.敏捷软件开发的双迭代模型
14.基于MATLAB的汽车制动系统设计与分析软件开发
15.软件开发劳动计量方法与软件成本估算
16.基于计算机软件开发的JAVA编程语言分析
17.一种以软件体系结构为中心的网构软件开发方法
18.基于构件的软件开发的方法与实践
19.ABC:基于体系结构、面向构件的软件开发方法
20.面向软件开发信息库的数据挖掘综述
21.浅谈三层架构在软件开发中的应用
22.使用开源软件进行软件开发的风险分析
23.汽车电子控制单元软件开发模式研究
24.软件开发与层次化思维方式
25.SQA规范对于教育软件开发的启示
26.基于证据理论的软件开发风险评估方法
27.软件开发人员绩效管理中的问题及对策
28.敏捷型软件开发方法与极限编程概述
29.信息化软件开发项目经理绩效考评研究
30.基于“众包”的软件开发模式
31.软件开发模型研究综述
32.支持第四代语言的并行进化式软件开发模型CESD
33.光滑粒子动力学核心算法与软件开发中的关键问题
34.面向重用的软件开发价值链
35.基于MVC模式的应用软件开发框架研究
36.支持模型驱动式软件开发的建模语言框架研究
37.3G智能终端软件开发实验教学改革的思考
38.软件开发国际合作模式研究
39.地理信息系统专业学生GIS软件开发能力的培养
40.有色Petri网在软件开发中的应用
41.浅谈软件开发的成本核算
42.一种高效率的软件开发方法——以用户为中心的软件开发方法(UCD)
43.软件开发成本估算技术综述
44.基坑双排桩支护结构设计计算软件开发及应用
45.软件构架设计在软件开发中的意义
46.面向软件开发信息库的数据挖掘综述
47.谈软件开发中的需求分析
48.浅谈插件化软件开发
49.计算机软件技术在植保软件开发中的应用
50.Onboard:以数据驱动的敏捷软件开发协同工具
51.软件开发综合能力培养的案例教学
52.软件配置管理在软件开发平台中的应用
53.软件开发成本估算模型的研究
54.软件开发绩效评价指标体系的构建
55.浅谈计算机软件开发技术的应用研究与趋势
56.军用软件开发工程化质量管理研究
57.计算机软件开发中的分层技术探讨
58.基于学生软件开发团队的沟通机制研究
59.项目管理在软件开发中的应用
60.面向农业软件开发的构件库研究与实现
61.搭建式GIS软件开发及其对软件工程的影响
62.软件开发过程中的质量管理探析
63.软件开发本体构建与模块化的应用研究
64.基于CDIO的高职软件开发专业课程体系设计
65.典型建筑火灾风险评估体系及其软件开发
66.有效的软件开发项目风险管理模型
67.框架技术在软件开发中的研究与实践
68.浅论新时期计算机软件开发技术的应用及发展趋势
69.基于软构件的软件开发框架研究
70.面向软件开发信息库的数据挖掘综述
71.模型驱动的软件开发模式研究
72.以《数据结构》为核心的软件开发课程群建设
73.护理信息网络化管理的研究与软件开发
74.分层技术在计算机软件开发中的应用
75.软件开发生命周期法比较之敏捷与传统
76.基于虚拟硬件在环的控制软件开发
77.项目管理在软件开发中的应用分析
78.项目管理在软件开发中的应用研究
79.软件开发中的设计原则
80.基于学习遗忘作用的人员调度实验设计及其软件开发
81.基于网络的可信软件大规模协同开发与演化
82.华池油田结垢预测及软件开发
83.探析计算机软件开发的规范化
84.软件开发自动化平台的研究与应用
85.架构和面向对象技术在PLC软件开发中的应用
86.国外XBRL软件开发技术比较及启示
87.企业软件开发标准化探讨
88.智能手机操作系统及其Google Android上的软件开发
89.浅析软件测试在软件开发中的重要意义——从软件功能测试的作用谈起
90.软件开发方法及其应用
91.使用嵌入式Linux操作系统进行软件开发的特点及优势
92.基于VB中MSComm控件的通信软件开发与实现
93.软件开发管理中的沟通与协调问题研究
94.基于Java语言的安卓软件开发的研究
95.关于计算机软件开发语言的研究
96.新时期计算机软件开发技术的应用研究
97.培养大学生软件开发创新能力的探索与实践
2C++程序设计语言跨平台开发的策略
我们在编写程序代码的时候,总是要把编辑策略放在首位,针对于不同的OS,在其上创建和编辑文本文件,就要遵循不同的规则。比如行结束符,在Windows操作系统和DOS操作系统中普遍采用回车键,而在Unix中却使用的是换行符号。这种细微的差别就是跨平台软件开发必须考虑的问题。那么当我们要想把其中一个平台上编写的代码放在另一个操作系统上运行,极有可能出现不被正确解释的现象。另外,对于不同的操作平台其tab键的功能也有很大的区别,主要体现在间距上。那么我们在编程的时候要注重这些差别,保证代码的书写和阅读对于不同的操作平台都是一致的,增加程序的可读性,进而也就实现了跨平台的思想。所以在每次开发之前都需要针对开发策略制定相应的规则:统一使用四个空格键来代替tab,也就是\t格式。Windows下的源文件代码需要存储在UNIX的文件格式,或者说是在Windows下的文件编写完成之后,通过DOS2UNIX命令实现文本格式的转换。
3处理器差异的控制
鉴于C++语言自身语言的特点,建立了一个跨平台的抽象代码库,在不同的平台和编译器上进行合理的规划代码。C++语言里普遍使用了抽象,像BOOST和StardardTemplateLibrary。Boost标准类在不断的发展和改进过程中,完全能够帮助跨平台操作中的软件和程序来适应OS系统库的内部接口的不同,可惜这些不足以解决全部问题,主要是因为目前Boost没有包含所有的库函数的类库,又会出现不确定的情况,那么关于C++语言的部分也应该及时的维护和更新。在平台上,利用库封装代码,又在不同的平台下调用已达到统一代码的目的。
4利用wxWidgets开发跨平台软件
wxWidgets是一种跨平台开发的软件包,目前使得在跨平台的图像设计方面使用自身的程序。因为其兼容性相当的好,对于Windows,Linux,Unix等都兼容。而且,wxWidgets的底层是用C++程序设计语言实现的。下面用一个实例将说明wxWidgets的跨平台问题。首先创造一个wxFrame的实例,并制定长宽和屏幕上的位置。然后,新建一个垂直的sizewidget和顶层窗口的子sizer。然后,再创建一个垂直sizerwidget和一个水平子sizer。最后创建wxStatic实例以及为这个敞口应用中添加事件响应。以下将展示一部分核心代码。在设置完这个窗口之后,还需要新建一个类实现一写功能。
2软件开发的测试匮乏
银行在应用软件开发后,需要安排相关的测试技术,检测应用软件的安全及可用性,同时检测银行软件开发程序是否合理,测试属于银行应用软件开发的主要技术,能够保障银行软件的安全应用。实际银行软件开发后,测试技术出现严重的匮乏情况,例如:某银行开发的AS400,其中的应用软件是由开发人员监督测试的,本身不具备完整的测试系统和专业的测试人员,引发严重的技术问题,最主要的是整个测试过程中并未发现任何程序问题,与软件开发技术的实际不符,应用软件在AS400的开发过程中,需经多次测试技术监督后,才能达到安全的状态,表明软件开发测试技术的缺陷。
3开发文档不足
银行应用软件的开发文档是指软件设计、编程到开发所有的文档资料,跟随应用软件的开发而产生,其与应用软件的程序一致,属于一项不能缺失的资料。银行应用软件开发人员不重视开发文档,将软件开发的重点放在实践部分,忽略开发文档的存储,直接影响了银行软件的应用与维护,导致银行软件因缺乏维护根本而失效,降低软件开发使用的寿命,更重要的是科研知识得不到充分应用。
4银行应用软件开发问题的解决对策
4.1引进软件开发新技术
银行应用软件开发需要专业的技术支持,开发人员既要熟悉银行软件的业务知识,又要具备专业的技能,开发银行应用软件项目时,才能保障银行软件具备优质的实践性。银行在应用软件开发技术方面,可以采取引进的思想,推进新技术的发展,针对软件开发新技术的引进,提出两点技术性的原则,如:(1)引进更为精细化的大数据处理,比如Oracle、DB2等,应用在银行软件开发中,发挥此类技术精确、专业的能力,确定新技术后才能辅助于银行应用软件的开发技术。(2)通过软件开发新技术的引进,实现全能技术,银行软件开发系统内比较常见的是C语言、Java和vb,开发人员必须掌握所有语言基础,同时还要对其中一门语言做到精通,用于适应银行系统内繁琐的IT运行,有利于银行应用软件技术的精细化发展。
4.2完善软件测试技术
银行应用软件开发的测试技术,偏重于业务类的软件。结合银行应用软件开发的过程,分析软件测试技术的应用,其在应用软件开发测试中体现在三个方面,分析如:(1)界面测试。(2)容错性测试。(3)响应测试。
4.3强化文档管理
银行应用软件开发可以通过评审的方式,强化文档管理。因为文档管理在软件应用中发挥重要的作用,既可以做为通信工具,又可以指导软件操作,所以开发人员需要保障文档资料的完整性,确保文档资料符合标准。
2软件工程开发技术
2.1软件标准化应用技术
软件标准化应用技术又分成软件标准和软件过程标准,其是软件构件和软件重用技术开发与发展的先决条件,可有效保障软件工程产业的健康发展。软件标准化应用技术直接关系到软件工程各项指标能否达到相关标准,其也是衡量软件工程成熟度的重要条件。国际标准化工程和系统工程委员会详细指出了软件工程的标准结构,加之美国国防部关于软件标准相关内容的提出,并列成为当代软件工程的两大重要标准。
2.2软件构件和软件重用技术
软件构件和软件重用技术一直是软件工程开发中的重要环节。软件重用是开发和研究软件的必要手段,构件作为一项基础条件有着不可小觑的重要作用。其中,软件重用技术可让软件工程师从大量写代码的工作中解脱出来,促使其更好的投入到更具适用性软件系统的开发中,从而确保空间和相关问题的一致性。软件构件技术是实现重用技术的前提,两者相辅相成,互相促进。这一过程中,各类开发工具是软件开发和应用的依托,如集成开发环境、构件库管理及运行环境等。
2.3中间件技术的采用
中间件平台作为软件系统开发和运行的支撑,是实现构件技术的前提。中间件适用于合适的平台上,加速软件的隔离和抽象,最终形成构件。因此,中间件技术在软件行业中备受青睐,根据分布对象、通信、事务处理、调用远程过程、访问中间件这五大类进行划分,具有划时代的意义。
3软件工程开发过程
3.1用户需求分析
用户需求分析即为在构建或改变软件系统时,应根据新系统的定义、范围及功能等内容进行用户群体需求分析,并综合分析数据准确把握系统定位,以开发出优质的系统软件。该过程中,协调需求分析员和软件工程师之间的关系是十分关键的,两者强强合作后,应首先找准目标用户群,并针对用户的实际需求确定系统软件的各项功能,最终制定出最佳系统开发方案。
3.2软件系统分析
软件系统分析主要是指归纳和整合需求调查中的各项数据和相关资料,并针对软件内部实际管理和信息处理情况进行分析。软件系统分析的主要目的是为了落实用户的相关需求,并寻求出最具适用性的解决方法,其是软件设计过程中不可或缺的组成部分。
3.3软件测试
在整个软件系统进入使用之前,软件测试是最为重要的环节之一,在进行软件测试时,不仅能对软件的需求进行分析,还能对软件的功能及性能进行验证。软件测试是指,根据运用软件的测试方法和测试工具,按照测试流程及测试方案,对被测试软件的功能与性能进行检测。在对软件进行测试的过程中,编程人员可以按照不同的软件和不同的架构编写出各种测试系统以及测试方案和工具,以控制将有可能出现的问题。在软件开发的整个过程中,都要紧抓各个开发环节及时进行同步的测试内容,并且针对测试中发现的问题加以解决,同时完善相关的开发程序。在此之后进行重复测试,在反复测试中不断完善各种问题,直到软件最终成为完整产品。
4软件工程开发的基本特征与应用情况
4.1明确性
软件工程在进行软件设计时就已经根据人们多种多样的需求制定了明确的目标。软件工程设计的任务是在工程实施或者产品投产之前,为这项工程或产品提供各种需求的标准,这一任务正是体现了软件工程中“需求分析”的特点,并且需求分析的质量对软件开发的成败有着直接影响。在这个阶段中,开发技术人员需要不断的与用户进行沟通和交流,完全明确软件开发项目的概念,最终形成一个完整的、清晰的、明确的开发目标。
4.2完整性
在用户或者服务器系统的应用中,保证信息准确无误的重要条件是数据及数据处理的完整性。因此,在软件开发的过程中,确保数据及数据处理完整性的逻辑要求是最为严密的。例如,有时在处理一个事物的过程中,会修改多个表格数据,如果在修改中发生了任何细小错误,都必须放弃整个处理过程,而不是其中的一个过程,然后返回最开始的阶段,以确保操作的完整性,从而保证了数据及数据处理的完整性。
4.3规范性
应用软件的开发工作在不同人员进行修改时需要能较为容易的接手,因此开发应用软件必须保证规范性。由于软件在开发的过程中需要按照一定的规则进行对象组合,所以能符合标准。但是如果是群体开发软件,由于每个程序员的想法及工作习惯都不相同,因此不容易符合标准,而软件开发的标准极为重要,必须保证其规范性,所以在软件开发的过程中,程序员之间需要多沟通交流,确保软件的顺利开发。
4.4易维护性
由于在软件开发的过程中,对象组合具有继承性,在对祖先对象进行修改时,也会对其继承对象造成直接影响,提高了软件程序在一定程度上的维护性。并且,逻辑规定和语法规定相同,群体开发软件不会因为个人特有的思想与工作习惯受到影响,从而使软件开发的维护性得到了保证,也提高了相互之间互相弥补的可能性。
4.5创新性
科学技术需要发展,发展离不开创新。随着工程技术的不断创新,软件开发出的产品在满足人们高要求的同时不断进步,为了获得广大用户的信任与支持,系统分析员在进行系统分析时,应当全方位了解广大用户的需求,针对用户的各种需求提出可行性方案,并且在不断的与用户交流中完善与改进方案,在如此反复中完成整个设计开发的过程。
软件开发论文参考文献:
[1]胡迎锋,基于嵌入式Linux系统的应用程序开发[J].商场现代化,2010,(11):6.
[2]何先波,嵌入式软件开发平台中的文件系统封装机制[J].计算机应用,2010,(1):118-120,123.
[3]高晶、王建华,JNI技术在嵌入式软件开发中的应用[J].哈尔滨师范大学自然科学学报,2007,(6):62-65.
[4]周淳、邓中亮,嵌入式组件技术的研究及应用[J].现代电子技术,2009,32(6):50-52.
[5]HenrikKniberg.ScrumandXPfromtheTrenches[M].C4MediaInc,2007
[6]商惠华.计划驱动下敏捷开发过程的软件质量管理[J].汕头大学学报(自然科学版),2011(4)
[7]陈国栋,罗省贤.Scrum敏捷软件开发方法实践中的改进和应用[J].计算机技术与发展,2011(12)
软件开发论文参考文献
[1]李郁峰,陈念平.建设计算机实验教学中心培养应用型人才[J].实验科学与技术,2008,6:172-174,230.
[2]吴徽,刘陠升.VMware在Linux实验教学中的应用[J].沈阳教育学院学报,2009,10:99-101.
[3]董良,宁方明.Linux系统管理[M].北京:人民邮电出版社
[4]矫文成,张冬丽.应用软件项目管理研究[J].软件导刊,2006,13:172-174
[5]吴晓琴.浅析面向对象程序设计特点[J].安徽大学学报(自然科学版),2006,3:267-269
[6]杨鸿雁,耿新青.数据库系统原理课程群建设与实践[J].鞍山师范学院学报,2010,6:375-376
[7]何方,马武刚.面向对象设计UML技术在考试系统设计中的实践[J].安阳师范学院学报,2006,5:125-128
软件开发论文参考文献:
[1]于世文,丽.敏捷软件开发方法在软件维护中的应用研究[J].计算机仿真技术,2012(15):13-16.
[2]高宇,冯向忠.敏捷软件开发方法在软件维护中的应用研究[J].科学学研究,2013(10):11-12.
[3]谢东强.敏捷软件开发方法在软件维护中的应用研究[J].计算机应用与软件,2014(13):22-24.
[4]李晓鹏,等.软件功能测试[M].清华大学出版社,2015.
2软件维护不够规范化
任何产品在售出后,消费者都有享受产品的售后服务的权利,而商家也必须承担为消费者提供售后服务的义务。对于计算机软件,也同样有着“售后服务”,即软件开发者对于软件的后期维护和调试。在当前的软件维护过程中,主要存在着两方面问题:一是一些软件开发者将完成的软件交付后,就一走了之,面对软件使用者在软件使用过程中出现的问题也常常置之不理,推卸责任;二是有些软件开发者在处理软件使用者所遇到的问题时,超出市场的价值规律,漫天开价,索取高昂的维护和调试费用,有些使用者出于无奈也常常忍气吞声,吃了哑巴亏。可以说,以上这四方面的不规范问题不仅影响计算机开发人员的工作形象,还会形成计算机软件领域的同业恶性竞争,长久之,将会使充满信心的软件开发这一朝阳产业变得暗淡无光,最终使软件使用者和消费者蒙受损失。
3加强计算计软件开发规范化对策思考
3.1提高计算机软件开发规范化的认识
计算机软件开发是一项与人们学习、工作和生活有着密切联系的系统性工程,计算机软件只有在人们的认可和使用中才能发挥出自身的作用和价值。然而当前计算机软件过程中所存在的规范化问题,已经对计算机软件在市场中的推广和使用造成了很大的影响。要使这一问题得到根本解决,首先必须从思想观念上进行转变。为此,我们只有不断提高软件开发的准入门槛,提高软件开发者对于软件开发规划范的责任意识,使其从思想层面加强对自身的工作要求。同时,还应当不断完善计算机软件开发方面的相关法律和行业标准,使软件开发的各个过程受到制度监督和法律约束,保证软件开发者以诚信、敬业知心开展计算机软件开发工作。此外,我们还要认真思考,对计算机软件开发的设计、检测、维护等一系列的环节所存在的问题进行深入分析,提出切实可行的对策,最终推动计算机软件开发实现规范化发展。
3.2加强计算机软件设计规范化
计算机软件设计开发主要是依据用户要求设计研发的计算机系统软件或计算机系统中的某一部分应用软件,是一项涉及很多方面的系统工程。因此,软件开发者需要对市场的需求、客户的要求、设计人员的技术层次等方面进行综合的分析,而后开始设计软件。为此,在设计开发前要充分了解软件的运行环境,在深入调研后再进行设计开发。同时根据用户的不同需求,确定设计风格和内容,进而严格遵循计算机软件设计标准,进行概要设计和详细设计,把具体设计策略、软件内部构造和制作流程进行安排部署,并呈现给用户。1)软件概要设计的规范化。概要设计的标准就是按照用户的需求,根据产品的不同建立各个系统模块的目标软件系统,对这些模块的接口下达指令,使他们紧紧联系在一起并链接到下一个模块,做到层层相联系。为此,开发者要不断规范概要设计,有能力建立起能够管理整个软件系统的数据库,并使其中的每个模块都要形成相配套的管理方案,并在这一过程中,把各模块的接口尽可能的简单化处理。不仅各模块都能分工合作,还能紧密的联系,这样才能有效保证了系统持续稳定的运行,进而保障用户能够清晰地理解软件的设计。2)软件详细设计的规范化。所谓软件详细设计,就是对概要设计标准全面进行细化,把概要设计一项一项地分解开来,使概要设计的内容得到更加详尽的解释说明,然后把各个模块进行系统、精确、全面的阐述,最终使各个模块的概要设计功能进一步细化分解。为此,开发者要具体围绕算法和软件内部构造这两个方面,及时规范模块的输出输入以及它们的性能,把每一个模块进行细化,划分具体的功能。需要注意的是,开发者在进一步规范计算机软件设计研发中,必须要使软件的设计具有精确的算法和内部构造,这样不仅会对拟写的源代码有帮助作用,还会使软件设计更为的科学合理。最后软件开发者还要根据用户需求,在积极完善详细设计标准的基础之上,才可以进行系统规范的计算机软件设计研发。在研发过程中,仍需要对软件各个模块都进行程序上的划分,只有在准确评估了检测报告后,利用各个模块接口的精准性能,才能对计算机软件进行系统的、有程序的、循序渐进的设计研发,才能保证计算机软件的先进、合理和高效。
3.3计算机软件开发编码的规范化
在进行软件的设计与开发方面,要首先对软件进行的设计有一个相对清晰的标准,即对软件进行概要设计的标准以及软件详细设计的标准,在设计完成后,要对软件进行加工编码工作。为计算机软件进行编码,是开发设计计算机软件的重中之重,只有将计算机编码开发设计正确,才能够保证程序的完整无缺,进而保证软件的正常运行。计算机软件在编码过程中,要按照软件设计规范化的标准,并把用户需求的方方面面都考虑在内,然后根据软件的运行环境,进行软件编码,这样才能设计开发出适合用户特点、满足用户需求、操作简便的计算机软件。
3.4加强计算机软件检测规范化
我们在检测软件过程中,发生错误是在所难免的,如何避免和消除所犯的错误,使软件能够较长时间使用,是软件检测必须面对的实际问题。这样的问题存在于软件设计研发的各个阶段,软件检测的效果同样也决定了软件的使用寿命和软件设计研发的质量。因此,必须加强软件的检测工作,切实地解决好软件研发过程中存在的问题。目前,我们主要检测用户所要求的软件功能以及计划内容、性能需求等。所以,我们必须要保证在检测软件的过程中要有用户共同参与,专业人员要把软件设计思路和所想达到的目的进行系统了解,利用专业知识和规范化检测方法对所开发的软件进行详细认真的检测,从而发现设计漏洞和存在的问题,看是否达到了用户的要求。同时,要进一步规范检测过程,对软件系统的各个功能模块要进行全面完整的检测和测试,同时对检测的数据和检测结果进行存档,以备在修改时能够及时找到问题所在,通过对存在问题加以修改和完善,使软件性能得到进一步提高,反复修改检测后,把软件的性能调试到最好的使用效果。此外,还要组成独立的软件测试小组对软件进行反复验证和全方位测试,确认软件的各种性能达到良好的效果。在检测工作结束后,要撰写检测报告,对软件设计研发及检测结果进行全面分析总结,做出正确的评估。计算机软件设计研发是根据用户需求来实现的,是一种计算机系统或系统中的部分软件,计算机软件不是每一台计算机都相同的,它是根据用户的不同需求而添加的,它包括办公软件、商业软件、家庭应用软件等不同类型,软件的研发是由用户需求、专业人员设计、最后经过测试和用户认可的一种产品,软件的使用者要想得到合法的软件使用权,就必须得到软件研发机构的许可,这样,一个计算机软件才具有了真正的生命力。
3.5加强计算机软件维护规范化
计算机软件产品维护也是软件开发规范化的最后一道程序,它主要是把在运行过程中出现的问题进行及时维修,把在测试中遗漏的错误进行修改,不断完善软件的各种性能,让软件更好地适应运行环境。软件维护同样要具有规范化要求,我们必须要使软件开发者认真按照程序进行操作,不能出现旧的问题没有解决有出现了新的问题,要减少软件维修的所产生的负面影响,维护和维修过程要有详细记录,填写维修报告,做到软件维修正规化和标准化,从而实现软件功能的不断扩展和补充,使软件达到最好的运行和使用效果。此外,还要培养软件开发者在维护软件工作中的责任心意识,要从市场实际出发,遵循价值规律,诚信真实地开展软件维护,最终使软件开发行业的环境得到净化,促进整个行业向前发展。
2、程序验证
本文利用MSRE的实验数据对程序进行验证,MSRE功率为8MW,慢化剂为石墨,氟化盐以648.9℃的温度流经由石墨栅阵构成的矩形管道。根据橡树岭国家实验室(ORNL)熔盐堆运行报告[5]建立MSRE的简化模型(图1)。近似的MSRE几何模型为圆柱体,半径为71.2cm,高度为200.7cm,堆芯填充石墨栅阵,高度为17.15cm的上下腔室分别在石墨栅阵顶部和底部。石墨管道中燃料流速与上下腔室中的流速不同。计算中使用的热工水力参数取自文献[6]。燃料组成部分取自MSRE运行报告,为减少实验结果与计算结果的偏差,模拟过程选取了2套不同的DNP数据:①基于ENDF/B-VI库由HELIOS组件计算产生;②由ORNL提供的缓发中子数据。堆芯内有效DNP份额的计算方法取自文献[7]。
2.1MSRE稳态运行下DNP损失
第1个基准题计算MSRE稳态运行下的DNP损失。MSRE实验结果与文献[8]的计算结果作为参考解。本文计算了MSRE在采用235U燃料和233U燃料的2种情况下的缓发中子份额损失。表1、表2列出了2种燃料类型下本文计算的六组缓发中子份额损失与参考值的比较。从表中可以看出,本文的计算结果与试验值吻合较好,与其他单位的计算值差别不大。偏差的原因主要来自:①进行MSRE模拟时采用的简化几何模型不同;②评价缓发中子份额损失的模型不同。
2.2MSRE起泵和停泵瞬态
第2个基准题模拟MSRE在无保护状态下的燃料起泵和停泵瞬态过程。在这2个瞬态过程中,堆芯通过调节控制棒的位置使功率保持不变,反应性的损失可通过控制棒的位置进行计算。与上一基准题类似,模拟过程中使用了2组缓发中子数据。起泵过程中,燃料流量在10s内从0升高到正常值,停泵过程中,燃料流量在22s内从正常值降低为0。燃料流量的变化数据取自文献[9]。由图2可知,MOREL能很好地模拟MSRE在起泵和停泵过程中缓发中子份额的变化。MSRE在实验过程中对控制棒的提棒速度有一定限制,本文模拟过程中没有考虑到这个因素,这可能是高估反应性损失的一个原因。从图2可知,在约13s时,反应性损失曲线有一个波动,这是由于堆芯外未衰变的先驱核重新进入堆芯。
2软件功能设计
1)管理端软件功能。管理端软件设计有“校验任务管理”、“文档管理”、“校验历史调阅”与“相关信息配置”四大类功能,下图3所示为管理端软件的功能设置图。管理端软件界面从左到右分别为基本信息录入栏、功能按钮区和待检验任务列表栏三个区域,界面简洁,功能按钮作用一目了然,软件的使用非常简便。下图4为管理端软件主界面设计。2)测试端软件功能设计。测试端软件整合了接收待检验任务、检验测试、数据上传、服务器数据库配置、检验仪器设置等功能,软件的核心是实现检测数据的自动识别与保存,并将测试数据与检验结论上传至服务器上的SQLServer数据库中。测试端软件界面风格和特点与管理端基本一致,其主界面见下图6所示。选中即将要实施的检验任务,其参数将显示在左面的基本信息栏中,如果信息中有差错,检验人员可以现场进行修改。在对基本信息核对无误后,点击“开始校验”按钮,将进入下图7所示的测试界面。测试数据与结论将自动保存到本机后台的Accesss数据库中,在网络环境下,点击“数据上传”(见图6),所有检验结束任务的测试数据与检验结论将通过网络写入服务器上的SQLServer数据库中。点击管理端软件上“文档管理”(见图4)按钮,将弹出下图8所示界面。在文档管理功能模块中,可以预览限速器检验报告与检验原始记录,并能够直接输出打印。检验报告可以通过网络进入审核和签发流程,检验报告中的检验员、报告审核与审批人员均使用电子签名签署检验报告。
引言:随着存储程序式通用电子计算机在上世纪40年代的诞生,和计算科学的快速发展以及取得的大量成果。计算科学这一学科也也应运而生。《计算科学导论》正如此书的名字,此书很好的诠释了计算科学这一学科,并且指导了我们应如何去学好这一学科。使得我们收获颇多。并且让我深深的反思了我的大学生活。正如赵老师书中所讲的:“计算科学是年轻人的科学,一旦你选择了计算科学作为你为之奋斗的专业类领域,就等于你选择了一条布满荆棘的道路。一个有志于从事计算科学研究与开发的学生,必须在大学几年的学习中,打下坚实的基础,才有可能在将来学科的高速发展中,或在计算机产品的开发和快速更新换代中有所作为。
<一>什么是计算科学和它的来历
计算科学主要是对描述和变换信息的算法过程,包括其理论、分析、设计、效率分析、实现和应用的系统研究。全部计算科学的基本问题是,什么能(有效的)自动运行,什么不能(有效的)自动运行。本科学来源于对数理逻辑、计算模型、算法理论、自动计算机器的研究,形成于20世纪30年代的后期。
随着存储程序式通用电子计算机在上世纪40年代的诞生,人类使用自动计算装置代替人的人工计算和手工劳动的梦想成为现实。计算科学的快速发展以也取得大量成果,计算科学这一学科也也应运而生。
<二>计算科学的发展
a、首先先介绍图灵机
图灵机的发明打开了现代计算机的大门和发展之路。图灵机通过一条两端可无限延长的袋子,一个读写头和一组控制读写头的(控制器)组成它有一个状态集和符号集,而此符号集一般只使用0和1两个符号。而就是这个简洁的结构和运行原理隐含了存储程序的原始思想,深刻的揭示了现代通用电子数字计算机的核心内容。现在通用的计算机是电子数字计算机,而电子数字计算机的发展是建立在图灵机的基础之上。他的二进制思想使计算机的制作的简化成只需两个稳定态的元器件。这在今后的计算机制作上无论是二极管或集成电路上都显示了明显的优越性。
b、计算机带动的计算学科
1946年随着现代意义上的电子数字计算机ENIAC的诞生。掀起了社会快速发展的崭新一页。计算机工作和运行就摆在了人们的面前。
1、计算机语言
我们要用计算机求解一个问题,必须事先编好程序。因此就出现了最早的机器指令和汇编语言。20世纪50年代后,计算机的发展步入了实用化的阶段。然而,在最初的应用中,人们普遍感到使用机器指令编制程序不仅效率低下,而且十分别扭,也不利于交流和软件维护,复杂程序查找错误尤其困难,因此,软件开发急需一种高级的类似于自然语言那样的程序设计语言。1952年,第一个程序设计语言ShortCode出现。两年后,Fortran问世。作为一种面向科学计算的高级程序设计语言,Fortran的最大功绩在于牢固地树立了高级语言的地位,并使之成为世界通用的程序设计语言。Algol60的诞生是计算机语言的研究成为一门科学的标志。该语言的文本中提出了一整套的新概念,如变量的类型说明和作用域规则、过程的递归性及参数传递机制等。而且,它是第一个用严格的语法规则——巴科斯范式(BNF)定义语言文法的高级语言。还有用于支持结构化程序设计的PASCAL语言,适合于军队各方面应用的大型通用程序设计语言ADA,支持并发程序设计的MODULA-2,支持逻辑程序设计的PROLOG语言,支持人工智能程序设计的LISP语言,支持面积对象程序变换的SMALLTALK、C等。
2、计算机系统和软件开发方法
现代意义上的计算机绝不是一个简单的计算机了而也包括了软件(系统软件、应用软件)。各种各样的软件使得计算机的用途大大增强。而软件开发也成为了一个重要课题和发展方向。软件开发的理论基础即是计算模型。随着计算机网络、分布式处理和多媒体的发展。在各种高级程序设计语言中增加并发机构以支持分布式程序设计,在语言中通过扩展绘图子程序以支持计算机图形学程序设计在程序设计语言中已非常的流行。之后,在模数/数模转换等接口技术和数据库技术的支持下,通过扩展高级语言的程序库又实现了多媒体程序设计的构想。进入20世纪90年代之后,并行计算机和分布式大规模异质计算机网络的发展又将并行程序设计语言、并行编译程序、并行操作系统、并行与分布式数据库系统等试行软件的开发的关键技术依然与高级语言和计算模型密切相关,如各种并行、并发程序设计语言,进程代数,PETRI网等,它们正是软件开发方法和技术的研究中支持不同阶段软件开发的程序设计语言和支持这些软件开发方法和技术的理论基础----计算模型
3、计算机图形学
在计算机的硬件的迅速发展中。随着它的存储容量的增大,也掀起了计算机的巨大改革。计算机图形学、图像处理技术的发展,促使图形化界面的出现。计算机图形学是使用计算机辅助产生图形并对图形进行处理的科学。并由此推动了计算机辅助设计(CAD)、计算机辅助教学(CAI)、计算机辅助信息处理、计算机辅助测试(CAT)等方向的发展。图形化界面的出现,彻底改变了在一个黑色的DOS窗口前敲代码输入控制命令的时代。同时也成就了一个伟大的公司Microsoft。
4、计算机网络
随着用户迫切需要实现不同计算机上的软硬件和信息资源共享。网络就在我们的需求中诞生了。网络的发展和信息资源的交换使每台计算都变成了网络计算机。这也促进计算机的发展和广泛应用。
<三>计算机学科的主线及发展方向
围绕着学科基本问题而展开的大量具体研究,形成学科发展的主流方向与学科发展主线和学科自身的知识组织结构。计算学科内容按照基础理论、基本开发技术、应用以及他们与硬件设备联系的紧密程度分成三个层面:
1、计算科学应用层
它包括人工智能应用与系统,信息、管理与决策系统,移动计算,计划可视化,科学计算机等计算机应用的各个方向。
2、计算科学的专业基础层
它是为应用层提供技术和环境的一个层面,包括软件开发方法学,计算机网络与通信技术,程序设计科学,计算机体系结构、电子计算机系统基础。
3、计算科学的基础层
它包括计算科学的数学理论,高等逻辑等内容。其中计算的数学理论涵盖可计算性与计算复杂性理论形式语言与计算机理论等。
<四>计算机的网络的发展及网络安全
(1)计算机网络与病毒
一个现代计算机被定义为包含存储器、处理器、功能部件、互联网络、汇编程序、编译程序、操作系统、外部设备、通信通道等内容的系统。
通过上面定义,我们发现互联网络也被加入到计算机当中。说明了网络的重要以及普及性。21世纪是信息时代。信息已成为一种重要的战略资。信息科学成为最活跃的领域之一,信息技术改变着人们的生活方式。现在互联网络已经广泛应用于科研、教育、企业生产、与经营管理、信息服务等各个方面。全世界的互联网Internet正在爆炸性的扩大,已经成为覆盖全球的信息基础设施之一。
因为互联网的快速发展与应用,我们各行各业都在使用计算机。信息安全也显得格外重要。而随着计算机网络的发展,计算机网络系统的安全受到严重的挑战,来自计算机病毒和黑客的攻击及其他方面的威胁也越来越大。其中计算机病毒更是很难根治的主要威胁之一。计算机病毒给我们带来的负面影响和损失是刻骨铭心的,譬如1999年爆发的CIH病毒以及2003年元月的蠕虫王病毒等都给广大用户带来巨大的损失。
我们想更好的让计算机为我们服务,我们就必须很好的利用它,利用网络。同时我们也应该建立起自己的防护措施,以抵抗外来信息的侵入,保护我们的信息不受攻击和破坏。
(2)计算机病毒及它的防范措施:
计算机病毒是一组通过复制自身来感染其它软件的程序。当程序运行时,嵌入的病毒也随之运行并感染其它程序。一些病毒不带有恶意攻击性编码,但更多的病毒携带毒码,一旦被事先设定好的环境激发,即可感染和破坏。
<一>、病毒的入侵方式
1.无线电方式。主要是通过无线电把病毒码发射到对方电子系统中。此方式是计算机病毒注入的最佳方式,同时技术难度也最大。可能的途径有:①直接向对方电子系统的无线电接收器或设备发射,使接收器对其进行处理并把病毒传染到目标机上。②冒充合法无线传输数据。根据得到的或使用标准的无线电传输协议和数据格式,发射病毒码,使之能够混在合法传输信号中,进入接收器,进而进人信息网络。③寻找对方信息系统保护最差的地方进行病毒注放。通过对方未保护的数据链路,将病毒传染到被保护的链路或目标中。
2.“固化”式方法。即把病毒事先存放在硬件(如芯片)和软件中,然后把此硬件和软件直接或间接交付给对方,使病毒直接传染给对方电子系统,在需要时将其激活,达到攻击目的。这种攻击方法十分隐蔽,即使芯片或组件被彻底检查,也很难保证其没有其他特殊功能。目前,我国很多计算机组件依赖进口,困此,很容易受到芯片的攻击。
3.后门攻击方式。后门,是计算机安全系统中的一个小洞,由软件设计师或维护人发明,允许知道其存在的人绕过正常安全防护措施进入系统。攻击后门的形式有许多种,如控制电磁脉冲可将病毒注入目标系统。计算机入侵者就常通过后门进行攻击,如目前普遍使用的WINDOWS98,就存在这样的后门。
4.数据控制链侵入方式。随着因特网技术的广泛应用,使计算机病毒通过计算机系统的数据控制链侵入成为可能。使用远程修改技术,可以很容易地改变数据控制链的正常路径。
<二>病毒攻击的防范的对策
1.建立有效的计算机病毒防护体系。有效的计算机病毒防护体系应包括多个防护层。一是访问控制层;二是病毒检测层;三是病毒遏制层;四是病毒清除层;五是系统恢复层;六是应急计划层。上述六层计算机防护体系,须有有效的硬件和软件技术的支持,如安全设计及规范操作。
2.严把收硬件安全关。国家的机密信息系统所用设备和系列产品,应建立自己的生产企业,实现计算机的国产化、系列化;对引进的计算机系统要在进行安全性检查后才能启用,以预防和限制计算机病毒伺机入侵。
3.防止电磁辐射和电磁泄露。采取电磁屏蔽的方法,阻断电磁波辐射,这样,不仅可以达到防止计算机信息泄露的目的,而且可以防止“电磁辐射式”病毒的攻击。
4.加强计算机应急反应分队建设。应成立自动化系统安全支援分队,以解决计算机防御性的有关问题。
很多公司都有因为电脑被入侵而遭受严重经济损失的惨痛经历,不少普通用户也未能避免电脑被破坏的厄运,造成如此大损失的并不一定都是技术高超的入侵者所为,小小的字符串带给我们的损失已经太多。因此,如果你是数据库程序开发人员、如果你是系统级应用程序开发人员、如果你是高级计算机用户、如果你是论坛管理人员......请密切注意有关字符漏洞以及其他各类漏洞的最新消息及其补丁,及时在你的程序中写入防范最新字符漏洞攻击的安全检查代码并为你的系统安装最新的补丁会让你远离字符带来的危险。经常杀毒,注意外来设备在计算机上的使用和计算机对外网的链接。也可以大大有效的避免计算机被攻击。
<五>总结
在学了计算科学导论之后,让我更深入的了解了我将来要从事的学科。计算科学导论指导着我们该怎么学习计算机。让我更清楚的知道我们信息安全专业的方向。正如计算科学这座大楼一样,在不断的成长。信息安全也必将随着网络的进一步发展而更多的被人们重视。总之学习了这门课之后让我受益匪浅,也知道自己应该好好努力,争取在自己的专业领域上有所成就。
参考文献:
1、《计算科学导论》(第三版),赵志琢著,科学出版社2004版