计算机软件开发研究毕业论文
计算机软件开发研究毕业论文
算机软件开发行业的发展得益于当前信息技术的快速发展和信息受众不断增加,当然计算机软件开发也需要遵循特定的规律,依照其基础架构原理来进行操作,才能够保证计算机软件开发朝着有效性的方向发展。下面是学习啦小编为大家整理的计算机软件开发研究毕业论文,供大家参考。
计算机软件开发研究毕业论文篇一
实时软件开发方法思考
摘要:当今是个信息自动化的时代,软件已应用于人们生活的环境的各个方面。把面向对象的实现方法引入到实时软件系统的开发过程中具有重大的作用,可以达到反复使用,开发周期时间短、软件质量增强、开发有保障以及开发成本低等效能目的。这样就确保了实时软件的良性开发并使这种开发系统化和工程化,更使人们无论在生产方面还是学习方面都会有很大的便利并提升了生产生活的质量
关键词:面向对象;实时软件;开发方法;软件工程
实时系统是计算机系统中特殊的系统,输出值和系统的消耗的时间决定了这个系统的结果是否精确,即用户希望以极短的时间获取最佳最有效的运算结果。在以前实时系统主要服务于国家军事安全方面,今天随着这一系统的研发,它广泛应用我们社会生活的各个方面和各个环节,其应用范围从洗衣机、烤箱到自动化的生产线、医学辅助机械、交通运输控制、天气预报预测、航天动力工程等等。在软件开发中实时系统中的软件部分逐渐成为一个不可缺少的独立部分,贯穿于软件开发的始终。
1.阐释实时软件的内涵
实时软件是实时系统中的软件。当外部世界发生变化时,相应地实时系统就会对这种变化做出动作进行回应,并在规定的时间内、依靠严格的控制、最大化地获取数据来实现这一功能。特别要指出的是,这些控制是有严格规范的,这便对实时系统的应用进行了限制,只应用于它相对应的方面。另外,实时系统具有高标准的要求,主要可以体现在以下方面:其一、时间方面,必须在规定的时间内处理完突发事物,如果超过时间就会造成不可弥补的损失;其二、正确性方面,在规定的时间内对突发事物做出合理的逻辑判断和处理,这就确保了结果的正确性。同时,存在着对实时系统的实时性有一个普遍的误区,他们狭隘地臆断实时就是速度要快。以第一时间对外部情况做出反应是实时系统的一个优点,快速反应是实时性的一个要求,但是两者有着本质的区别,不可混淆概念。有时快速反应并不意味着实现了实时性。所谓的实时性是指要求圆满处理完外部相应的事物和要求必须在规定的时间内。除了具有一般软件系统的特点外,实时系统软件还具有:首先,时间限制,即实时性。要求在规定的时间内对于外部的发生的事物系统要做出反应并处理好;其次,稳定性。如果系统重启和故障恢复系统会很快复原且数据不受损;再次,多任务、并行性、分布性。实时系统可以同时同步对于外部世界或者分布较广的多个问题和任务,进行有效的处理并有效地保证处理的结果具有可靠性。而这种处理的有效性和可靠性是由系统的实时性决定的;最后,对于操作系统的底层具有开发性,实时操作系统就是实时软件应用中所使用的操作系统,要求在优先调配机制和内存锁定机制控制下,实现多任务同时同步处理。特别要注意的是,对于系统中的语言开发原则也要坚持实时性原则,选择实时性语言,以求对多个任务进行并行处理。
2.探讨实时软件开发方法
与普通的实时软件相比,复杂性是两者的共性,实时系统的软件还具有自己的特殊性要求,那就是时间控制的因素,这就是实时软件的结构和开发方法的优势。
2.1实时分析技术
以面临解决的事实问题或既定的目标为依托,全面解析实时系统的软件和硬件部分,而后对硬件和软件进行拆解,以求对设计实时软件奠定根基,这就是实时系统在分析阶段中所要完成的任务。建模和仿真技术是实时系统进行分析才应用的技术。对实时系统元素进行建模时要求分析人员必须利用好数学辅助工具,另外,把握时间长短和对资源大小进行估量是分析人员在这一过程中特别要注意的问题。根据在对数据流进行分析的基础上,分析人员要建模实时系统的硬件和软件元素,控制以概率的形式进行,这就是数学分析方法应该注意的。同时,对系统时间和资源大小如何进行评估,就要求分析人员以网络分析、序列论、图形论和数据模型等方式来推导出来。RMS理论为基础,能够分析并行的多任务的分析技术,是为了辅助RMAM的分析方法而设立的理论。判断在实时系统中在调度方面利用RMS处理并行任务是否能够满足他们的实时性的依据,那就是看有没有采用采用RMA分析技术。分析系统的性能需要使用仿真和建模工具,利用这两种工具软件工程师还能够构建一个模型,通过这样的形式,可以有效地理解系统的运作。为建立一个实时系统的概念模型需要通过系统的状态图、活动图和模块图,这就是系统的建模方法。然后在在建立的模型的基础上,分析和仿真系统的行为和执行情况,并测试系统是否具有一致性和完整性,最后,汇总在真实系统中的各种数据和特性。
2.2实时设计和实现技术
在给定的时间控制情况下如何完成系统的目标是实时设计阶段中主要面对的任务。处理实时软件中的优先权的选择、多任务和并行、同步和异步、时间约束等问题是设计实时软件所必须考虑的因素。通常都是通过扩展一些非实时设计方法是实时软件的设计方法所采用的手段,而基于过程的模块化的设计方法是传统的实时软件的设计方法才采用的手段。不仅可以采用自顶向下和结构化的程序设计,而且可以采用图形化的语言描述设计,还有一些运用有限状态机、Petir网、消息传递系统或一某种专门语言等是使用面向数据的设计方面向对象的实时软件开发方法所研究的基础性方法。
2.3传统实时软件开发方法应该注意的问题
由于实时软件的应用于各个领域,这样就使实时软件面临的问题越来越多,最终使实时软件很复杂了。在过程的设计方法上而建立的传统实时软件已不能够适应变化的新情况了。它主要存在以下问题:首先,分别对过程和数据进行处理,这样就使真实世界的实际情况失去了本来面目,更加剧了分析和设计实际世界的难度;其次,没有统一性的划分原则对采用层次化的功能模块划分系统,最为严重的是,某个别的开发人员的主观看法完全左右了对组织软件单元,系统的划分,这样就失去了客观性加剧了实时软件开发的困难;最后,由于人为的局限性使得对调度的分析和描述过程也相当的复杂。
3.结语
随着电子信息技术的发展,我们研究实时软件开发时,要具有勇于突破和敢于创新的斗志,在对现实情况进行分析和研究的基础上,要不断对实时软件进行改进,以达到它更好地服务于社会的目的。
参考文献:
[1]肖亚利.面向对象的实时软件开发方法研究[D].四川大学,2003.
[2]沈芳平.锅炉热效率计算方法研究与软件开发[D].东南大学,2004.
计算机软件开发研究毕业论文篇二
软件开发敏捷管理方法研究
摘要:21世纪是计算机崛起和发展迅速的时代,面对着用户多样化、个性化的需求,软件开发必须积极适应这一变化,从项目、技术等多方面灵活应对,以提高软件的适应性,降低开发成本。传统的软件开发理论已经失去了作用,而敏捷管理方法为这一问题更好地解决提供了有益的指导,它能够有效地提高软件的质量,更好地提升用户的满意度。
关键词:敏捷管理;软件开发;应用
随着信息技术的发展,用户对软件的需求也逐渐提高,这就对软件开发者提出了更高的要求。由于传统软件开发理论的不足,软件开发一般耗时较长,用户从中的收益较小,而敏捷管理方法以实践为基础,为软件开发提供了新的思路,充分提高了软件的适应性,有效地满足了用户的需求。
一、敏捷管理方法概述
软件开发的难度随着用户的需求在逐步提高,市场竞争的激烈化也刺激着软件开发者必须使用新的软件工程管理理论。目前,敏捷管理方法包括极限编程、自适应软件开发等,这些方法都以用户的需求为中心,减少了所需要的文档,提高了软件的灵活性。敏捷软件开发主要有一下几条原则:要尽早、持续地交付有价值的软件供用户使用;即使到了开发后期也能够满足客户的需求,为客户的利益着想;经常性的交付可工作的软件;在软件开发期间,开发人员要和业务人员积极沟通;为软件开发者提供他们所需要的环境,给予充足的支持;在开发团队内部,要面对面的交流,以提高信息传递效率;软件开发必须保证可持续的、恒定的开发速度;积极关注技能的创新;从最简的工作开设等。这些原则涵盖了敏捷管理的核心思想,颠覆了传统的重载软件的过程,显示了以人为本、以技术为支持、注重实效的思想,国内外的实践也证明了敏捷管理方法在软件开发中的重要作用。与传统的管理方法比较,敏捷管理主要有以下几个优点:
①较强的灵活性。敏捷管理方法较为灵活,以现有的事物为基本管理职责,由市场驱动竞争力的储备,能够有效地满足用户需求的变化。
②错误率低。敏捷管理方法将设计工作与编码工作融合到了一起,能够及时发现错误。
③项目风险较低。敏捷管理方法提高了有价值、可运行软件的发布速度,使用户能够尽早地使用软件。
④能够提高人员的能动性。敏捷管理为员工提供了充足的资源,对客户的个性需求有较强的应对能力。⑤降低了成本。敏捷管理方法降低了文档的维护成本,面对面的信息交流也较低了交流成本,同时轻快开发过程也降低了时间成本。
二、敏捷管理方法在软件开发中的应用
1、团队管理
软件开发不是由个人单枪匹马就能够完成的,它需要团队的合作,因此,“以人为本”是团队管理的基本原则。团队管理需要以项目为中心,为开发人员提供必要的环境和技术支持,同时还要给予积极的鼓励。一方面,要“恩威并济”。团队管理需要融入一定的纪律,保证软件开发的标准性,同时也要容忍一定的个体变化。在传统的管理方法中,严格的纪律保证了很多行业的高生产力,但在软件开发中,如果项目负责人单从自身的角度出发制定严格的标准,而忽视了员工的独特思想,则很可能造成很多不利的影响。另一方面,促进团队合作。敏捷软件开发需要促进人与和人之间、小组和小组之间的合作,不再以命令的形式调节他们之间的关系,而是以互信为基础。第三,提高开发人员的荣誉感。团队管理的困难之一在于提供适应性强的奖励机制,如果单纯以奖金的形式进行奖励,长时间也会影响团队的动力,因此,需要以更好的形式激励团队。为员工提供一定的荣誉感,能够让员工真实感受到自己劳动成果的价值,能够更加有效地激发员工的主动性、积极性和创造性。第四,提高信息的反馈效率。敏捷管理方法较为灵活,但评估起来较为困难。国内外的实践表明,在管理过程中实施积极的、经常性的反馈,并认真分析评估反馈结果能够及时地、清楚地了解团队的精神状态和项目进展情况,从而为项目负责人优化管理方法提供了科学的参考。反馈方法较多,如检测用户故事的完成数、验收测试通过率等,另外也包括每周的评估等。启动团队是软件项目开发的重要步骤,每一个团队的启动都需要一定的时间和过程,是工作关系的构建,只有做好启动团队工作才能够有效地促进项目开发目标的实现,确定团队和员工的工作目标。一般的,从组建团队开始,调查员工的基本情况,如工作能力、人际关系等,然后分配责任,最后在启动项目前,召开团队会议,制定团队目标、做动员等。
2、开发管理
在敏捷软件管理中,多以迭代开发为主,但对管理人员的缺乏可操作性的指导,同时也缺少开发方法的阐述,缺少了单元测试、验收测试。由于项目团队的规模、人员构成、项目目标等方面的不同,软件开发项目没有统一的开发策略,只有结合具体情况制定开发策略才能够满足实际的需要。敏捷管理方法指导下的开发策略需要注意以下几个问题:第一,努力实现软件的可运行。从阶段性设计看,可运行的软件代表了团队的开发成果,为团队带来了成就感和信心;从用户的角度出发,只有给用户展示了可运行的软件才能够让他们真实地看到自己的需求是否得到了满足。第二,制定周密的开发计划。传统的软件开发在项目进度方面的掌握程度较低,系统正式完成的时间不确定,因此,敏捷开发要求将开发进度可衡量化,将每一个任务制定一定的点数,将所有任务的点数相加就是本次开发所需要的工作量,用所完成的任务点数比上总任务点数就是开发进度百分比。第三,尽量减少文档的数量。在开发时要根据实际需要增减文档的制定,降低项目的风险。第四,加强交流。敏捷开发要求开发成员之间要加强交流,保证数据采集、团队合作、软件设计的效率。第五,积极考虑客户的需要。敏捷开发要积极满足用户的需要,让用户直接参与软件开发的过程中,让客户亲临现场,与其探讨软件开发中的各种问题,提高软件的实用性。
3、需求管理
需求管理以掌握用户对软件的需求为目的,是项目启动的第一步,是一支指挥棒,以灵活的变动将“用户故事”和“现场客户”结合起来,表达了用户真正的、迫切的需求。“用户故事”是一种较为简单的搜集客户需求的新方式,独立表达了用户的需求,用户可以随时删除也可以随时加入,是一种概述性的描述;“现场客户”是指让用户代表亲临开发现场给予指导。用户故事与现场客户两种方法的结合,让客户对团队开发软件的细节有更加深入地了解,同时也能够给予必要的指导,节省了交流时间,提高了开发的效率。
4、发布规划
在对用户故事进行轻重排列后,从业务和技术方面逐一制定实现计划。在业务方面要积极考虑业务价值加大的用户故事;在技术方面,技术小组从技术难度及风险的角度出发,划分功能区,要将所存在的问题说明给客户,让客户做出选择。
5、迭代规划
敏捷开发要求尽可能为客户提供可工作的软件,因此,要尽量缩短迭代的周期,一般为1~4周。迭代的优先级由技术组确定,但其价值又客户决定。在第一次迭代中,小组要建立基本的开发设施,另外,要避免技术迭代,减少耗时。对团队开发来说,在历经几个月甚至几年的时间才有所突破,每一次的迭代都是一次成就,是一种较好地员工激励形式。
6、任务分配
在客户将用户故事提出后,开发团队商讨如何分界为几个任务,然后分配给开发人员。第一步,客户提出用户故事。客户将用户故事宣布告知给开发团队,团队成员可以提出问题,以充分理解客户故事。第二,讨论任务。开发团队在讨论过后将用户故事分成多个任务,做好接受任务的准备。第三,选定任务。团队成员选定合适的任务,做好估算工作。
7、软件设计管理
在敏捷设计中,迭代开发的过程要力求减少文档,另外,敏捷管理要努力实现全局视图和软件源代码一起演化,从当前的系统需求出发构建所需的基础结构,保持结构的简洁、干净,病富有表现力,同时还要提高其灵活性。在分配给开发人员任务之后,要测试代码,提高源代码的质量,让开发人员有更加充足的信心,同时,测试也能够迫使程序员从不同的角度观察所要编写的程序。软件开发都是由结对的程序员使用同一台电脑实现的,由一位出入代码,另一外观察代码及其需要改进的地方,两者可以交换角色,最后所生成的代码成果由两人共享。结对关系每天至少要改变一次,以减少两者的压力,提高编码质量,同时也能够促进他们编码技术的提高。
8、跟踪
跟踪能够让程序员、客户及管理者明确工作进度、质量等问题,同时也能够发现潜在的问题等。一方面,要跟踪资源,即计划和实际的对比、团队成员的人数、客户参与次数、测试人员数量、参与开发的计算机数量等,这些是软件开发的必要条件。另一方面,跟踪范围,即跟踪故事的变化情况。第三,跟踪质量,即测试表所显示的通过测试数及未通过测试数。第四,跟踪团队成员,即观察开发成员的问题、开发成员之间人际关系问题,看其是否全身心地投入等。
9、测试验收管理
当一个迭代完成后,用户会与团队商议下一步的需求。测试验收过程中,越早的发现问题,就能够缩短程序投入运行所需的时间,期间,客户需要提供验收测试,所提供的测试越多,项目进展速度就越快,价值也就越高。客户可以通过制定的形式采集所需要的素材,通过自动的脚本根据客户的需求运转。一旦某项测试通过需求,则决不允许该测试再次失败,随着测试的不断累积会形成一个测试集合,它能够测试系统的运行,一旦测试失败,系统的创建也就失败。因此,要保证需求的实现,避免其遭到破坏。
三、结语
敏捷管理方法渗透于整个软件开发过程中,是一个长期的信息构建原则,而不是某一个独立的事件它,适应了复杂软件开发的要求,同时也适应了软件技术发展的需要。随着客户对软件要求的不断提高,敏捷开发适应了复杂的环境,并且尽可能地保持软件开发的简单化和系统化,适合团队型的开发项目,它能够及时反馈信息,有效提高客户的满意度,也能够保证系统的质量。
参考文献:
[1]沈成莉.敏捷项目管理在软件开发中的实践应用[D].复旦大学2009
[2]唐俐威.软件开发的敏捷管理方法应用研究[D].哈尔滨工业大学2006
[3]向佐龙.敏捷管理方法在软件开发中的应用研究[D].武汉理工大学2007
计算机软件开发研究毕业论文篇三
云计算与软件开发架构设计研究
摘要:光纤通信、多媒体技术、大数据存储等技术的快速改进为云计算的应用和发展提供了强大的基础。云计算可以将软硬件资源虚拟化,实现信息分片存储和计算处理,能够为人们进行自动化、智能化、信息化办公、学习和生活提供多种功能,分别是应用软件部署功能、中间件通信功能、基础硬件实施按需出租功能,并且利用云计算环境的C/S架构、B/S架构,实现用户多种接入方式,提高软件的运行性能,具有重要的作用。
关键词:云计算;软件;C/S架构;B/S架构
1引言
光纤通信、多媒体、大数据等计算机技术的快速改进和普及,为云计算的诞生和应用提供了强大的基础,利用云计算技术可以实现数据的分片存储、并发计算、虚拟化硬件资源等功能。目前,云计算技术已经在电子商务、金融证券、电力通信等领域得到了广泛应用,比如天猫商城利用云计算可以容纳数以亿计的用户同时访问;支付宝利用云计算技术可以实时的统计用户转账消费记录,保障支付宝金额数据的准确性;证金公司开发的结算系统利用云计算技术可以收集分布于全国各地的证券交易数据,实时的进行交易结算;铁路售票采用云计算技术可以满足数以亿计的用户同时访问系统,实时更新每一列客车的出票情况、余票情况等。云计算环境下软件系统需要采用一个强大的软件架构实现数据通信、资源共享,目前常用的架构主要包括C/S架构和B/S架构,其可以将软件系统划分为多个逻辑独立层次,每一个层次都可以使用接口相连,实现业务处理、数据存储等,并且具有良好的可扩展性、可移植性和可维护性。
2云计算信息系统功能设计
与传统通信技术相比,云计算可以采用矩阵的连接方式将数以千万的服务器、终端等计算机设备连接在一起,为用户提高更强大的数据通信、计算能力。云计算信息系统功能主要包括三个方面,分别是应用软件部署功能、中间件通信功能、基础硬件实施按需出租功能。
2.1应用软件部署功能
应用软件部署功能可以为用户提供多种软件系统部署功能,为应用软件分配存储空间、接入接口、云端管理接口,用户只需要输入云端账号和密码,就可以进入到应用软件进行操作,并且访问数据资源。
2.2中间件通信功能
云计算可以将硬件服务资源虚拟化,并且利用中间件实现通信功能,利用接口提供数据上下通信、资源调度、服务器负载均衡、用户访问管理、应用服务管理、计费管理和安全管理等功能,便于提高性能服务水平,实现多种应用软件与软硬件资源通信。
2.3基础硬件实施按需出租功能
云计算环境下,其可以为用户提供按需定制服务,不需要独占硬件资源,仅需要占据逻辑的服务资源即可完成业务操作,保证足够多的用户并发访问基础硬件资源,能够实现逻辑业务处理。
3云计算信息系统架构设计
3.1C/S架构设计
云计算环境下,软件设计师最常用的架构就是两层的C/S架构,该架构包括客户端和服务器端两个关键组成部分。基于云计算的分布式管理系统采用C/S架构进行开发,其需要安装一个客户端应用程序,为用户提供一个逻辑业务请求输入交互界面,并且客户端可以通过互联网与服务器端进行连接,传输逻辑业务处理流程。服务器端是系统的核心组成内容,服务器承载了逻辑业务处理、数据业务处理两个关键功能,可以将用户发送过来的功能处理任务进行有效地解析,进而可以实现数据的插入、修改、删除和查询。
3.2B/S架构设计
云计算技术的应用使得软件系统积累了海量的而数据资源,保存了成千上万的用户信息,为了提高分布式软件的交互性能、处理速度,许多计算机学者提出了一种三层的B/S架构,该架构包括表示层、业务功能处理层和数据功能处理层。
3.2.1表示层
表示层是B/S系统与客户进行交互的界面,用户在IE浏览器中输入系统的网络链接地址,就可以登陆到系统进行操作。表示层可以通过Web页面接收用户的功能任务请求,并且可以把业务功能处理和数据功能处理结果反馈给用户,并且反馈模式采用WebFormat模式,更加形象、条理的展示处理结果,便于用户查看处理结果。
3.2.2业务功能处理层
业务功能处理层是B/S架构的核心。业务功能处理层部署于Web服务器,其作为连接数据库、用户的纽带,承担着功能任务封装、数据业务解析、处理结果整合等关键功能。目前,业务功能处理层采用JavaBean接口、ADO.NET接口等程序实现上通、下达的功能,并且能够识别多种数据库处理语言,比如关系数据库、对象数据库等,采用Format格式反馈处理结果给表示层。
3.2.3数据功能处理层
数据功能处理层主要负责接收数据处理任务,其可以根据Web服务器解析出来的数据库操纵语句,比如SQL语句、关系代数语句等,根据这些语句的操作意义与数据库管理系统进行交互,数据库管理系统启动数据库操作引擎,可以对数据库中的数据实现查询、插入、修改和删除等,并且把数据操作的结果反馈给Web服务器,由其将处理结果整合在一起反馈给用户。B/S体系架构可以将云计算信息系统划分为三层,每一层之间负责处理相关的业务流程,并且能够通过接口进行通信,具有较强的逻辑独立性、可移植性、可扩展性。
4结束语
随着计算机技术的快速发展,云计算、大数据等在分布式管理系统中将会得到更多的应用,设计一个良好的系统架构可以提高软件执行效率,进而提高用户访问、资源调度、负载均衡能力,满足软件操作需求。
参考文献
[1]马宝军.基于云计算的电子商务平台搭建方案与分析[J].信息通信技术,2014(1):55-61.
[2]张标.云计算应用时代开启及案例分析[J].计算机光盘软件与应用,2014(8):19-21.
[3]宁艳.基于C/S架构的移动学习系统的设计与实现[J].计算机光盘软件与应用,2014(2):90-93.
[4]娄德成,韦银.基于B/S架构的嵌入式远程视频监控系统的设计[J].微型电脑应用,2014,30(9):51-53.
有关计算机软件开发研究毕业论文推荐: