时间:2023-05-31 09:11:27
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇软件设计与开发,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
摘要:近年来,在学校、单位和各系统内,模仿电视台效果的各种知识竞赛类活动也兴盛起来。但是传统组织形式上的缺点逐渐显现:人工操作方式落后、笨拙、单调,抢答器不普及、不方便、成本高。知识竞赛软件就是简单利用计算机及网络设备等资源,通过软件来实现专业效果的竞赛系统,知识竞赛软件实现竞赛的成本低,便于组织,通用性好。
关键词:知识竞赛;VB;管理信息
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)49-0258-02
一、需求分析
在企事业单位和学校里我们经常能见到一些知识竞赛之类的比赛,对于这一类的程序,通常我们首先想到的就是用快速开发工具来做,使用本系统作为平台,能够把竞赛整个流程有机结合起来。用大屏幕和音响以多媒体的形式向观众展示大赛的各种信息、背景音乐、选手情况、题目内容等,配合主持人的解说,同时,大赛全程都可以由一名幕后人员用一台电脑进行后台监控,扮演“导播”的角色,可以进行选手、题目、竞赛模块的手动切换等辅助操作,保障大赛的顺利进行。
通过调查,要求软件需要有以下功能:(1)要求具有良好的人机界面,操作简单。包括编辑试题软件和答题界面软件。(2)该软件的使用对象负责和管理人员。
二、可行性分析
由于涉及的对象单一,为了便于多人协作出题,比较适合于采用excel管理试题库,运用VB制作界面。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其他程序的功能,因此完全可以实现。
三、软件实现
(1)添加试题功能主要代码
If Trim(Combo1.Text) = "" Then
MsgBox "" & vbCrLf & "试题不完整!", vbExclamation, "警告"
Else
If Trim(Combo1.Text) = "看图题" Then
If (Trim(Text2.Text) = "" Or Trim(Text3.Text) = "" Or Trim(Text4.Text) = "") Then
MsgBox "" & vbCrLf & "试题不完整!", vbExclamation, "警告"
Exit Sub
Else
shu = shu + 1
Form1.EXLSHEET.Cells(k + 2, 1) = k + 1
Form1.EXLSHEET.Cells(k + 2, 2) = Trim(Combo1.Text)
Form1.EXLSHEET.Cells(k + 2, 3) = Trim(Text2.Text)
Form1.EXLSHEET.Cells(k + 2, 4) = Trim(Text3.Text)
Text2.Text = "" : Text3.Text = ""
Label7.Caption = "添加成功!"
Form1.Ti_shu = Form1.Ti_shu + 1
Label6.Caption = Form1.Ti_shu
Exit Sub
End If
End If
(2)修改试题功能主要代码
先读取试题库里的题目,修改后再写入题库。
读取题目主要代码:
Text1.Text = KillSpace(Form1.EXLSHEET.Cells(k + 1, 2))
Text2.Text = Form1.EXLSHEET.Cells(k + 1, 3)
Text3.Text = Form1.EXLSHEET.Cells(k + 1, 4)
Text4.Text = KillSpace(Form1.EXLSHEET.Cells(k + 1, 5))
tj = k
k = k + 1
写入题目主要代码:
Form1.EXLSHEET.Cells(tj + 1, 2) = Trim(Text1.Text)
Form1.EXLSHEET.Cells(tj + 1, 3) = Trim(Text2.Text)
Form1.EXLSHEET.Cells(tj + 1, 4) = Trim(Text3.Text)
Form1.EXLSHEET.Cells(tj + 1, 5) = Trim(Text4.Text)
(3)入背景图功能主要代码
Dim ofn As OPENFILENAME
Dim rtn As String
ofn.lStructSize = Len(ofn)
ofn.hwndOwner = Me.hWnd
ofn.hInstance = App.hInstance
ofn.lpstrFilter = "图片文件(jpg)" + Chr$(0) + "*.jpg" + Chr$(0) + "图片文件(bmp)" + Chr$(0) + "*.bmp" + Chr$(0) + "图片文件(ico)" + Chr$(0) + "*.ico"
ofn.lpstrFile = Space(254): ofn.nMaxFile = 255:ofn.lpstrFileTitle = Space(254)
ofn.nMaxFileTitle = 255: ofn.lpstrInitialDir = App.Path
ofn.lpstrTitle = "导入背景图片" : ofn.flags = 6148
rtn = GetOpenFileName(ofn)
Dim dr As String
If rtn >= 1 Then
Image3.Visible = True
quxiao.Enabled = True
Image3.Picture = LoadPicture(ofn.lpstrFile)
End If
(4)设置功能主要代码
If Form1.BackColor = &H404040 Then Option1.Value = True
If Form1.BackColor = vbBlack Then Option2.Value = True
If Form1.BackColor = vbWhite Then Option3.Value = True
If Form1.Label1.ForeColor = vbWhite Then Option4.Value = True
If Form1.Label1.ForeColor = vbBlack Then Option5.Value = True
If Form1.Label1.ForeColor = vbBlue Then Option6.Value = True
If Form1.Label1.FontSize = 36 Then Option7.Value = True
If Form1.Label1.FontSize = 26.25 Then Option8.Value = True
If Form1.Label1.FontSize = 21.75 Then Option9.Value = True
(5)答题时间功能主要代码
If Val(Text1.Text) < 0 Or Val(Text1.Text) > 60 Then
MsgBox "" & vbCrLf & "r间不能超过60秒!", vbExclamation, "警告"
Exit Sub
End If
Form1.sumt = Text1.Text
If Val(Text2.Text) > Form1.sumt Then
MsgBox "" & vbCrLf & "提醒时间不能答题时间!", vbExclamation, "警告"
Exit Sub
End If
Form1.daot = Text2.Text
Form1.Label5.Caption = Form1.sumt
Form1.s = 0
If mand1.Caption = "下一新题" Then
Form1.Timer1.Enabled = True
End If
四、结论
在本软件系统采用VB+excel编程,界面美观友好,操作简单,易于日后程序更新,效率高是本软件系统的特点。
参考文献:
1计算机软件设计中应用嵌入式实时软件的意义
嵌入式实时软件设计就是包含硬件与软件的综合设计体,不仅涵盖机械知识,结合软件设计使得计算机软件系统更加的强大,也可以提高计算机软件系统控制的能力。对于计算机软件设计部分,嵌入式实时软件开发,有很广的应用领域,嵌入式软件设计中,它包括对于硬件设计和软件设计两部分,嵌入式实时软件作为非一般PC系统开发,在嵌入式实时软件中,应该具备处理器、I/O端口、微处理器以及编程等多个部分。通常,嵌入式实时软件中都具有实时操作功能及多任务操作的功能,采用嵌入式实时软件设计计算机软件,可以在计算机软件系统中,应用层次化模块的结构,确保嵌入式实时操作系统可以和计算机底层硬件相互结合,应用嵌入式实时软件完成硬件系统任务,提高计算机软质量。在计算机软件设计中,应用嵌入式实时软件,还具有处理中断、计算机软件设计中嵌入式实时软件的应用设计文/翟爱章在我国当前计算机软件设计之中,将设计出嵌入式实时软件应用其中,设计出嵌入式计算机软件系统,不仅可以大大提高计算机软件的智能化与实时性,同时也可以有效提升计算机软件设计效率与设计质量。以下本文针对实例,探讨计算机软件设计中嵌入式实时软件的应用设计情况。摘要切换上下文、分配资源的优势,保证软件产品的质量。
2实现嵌入式实时软件应用的设计方案
2.1案例介绍基于计算机软件设计技术,设计微机继电保护器,将嵌入式实时软件设计其中,可以大大提高计算机软件产品的质量。对于本次嵌入式实时计算机软件开发中,是基于硬件以及软件嵌入式系统的开发。本次计算机软件设计中,将会应用数字信号处理器、IO设备、C++语言以及ARM,开发设计计算机嵌入式实时软件。
2.2开发流程及结构开发嵌入式实时软件中,首先,在需求分析阶段,应该明确计算机软件功能需求,做好沟通管理;对于软件的设计阶段以及代码生成阶段、测试固化阶段,都应该秉持嵌入式设计理念,实现对系统的实时控制。在设计本次计算机嵌入式实时软件中,将会对嵌入式实时软件各个功能进行模块化处理,将其分成子模块,并可以利用模块方式对其进行程序开发工作,将嵌入式实时软件中的多个任务划分开来并发执行,实现系统中软件与硬件之间的交互。嵌入式实时软件中,还应该划分任务职责,赋予任务唯一的地址,并采用优先级调度的模式,提高嵌入式实时实时。
2.3硬件设计设计嵌入式实时计算机软件中,选择AT91RM9200微处理器,AT91RM9200处理器有丰富的外设接口,且处理器的控制器也可以实施同步控制,实现系统中事件突发访问的功能,提高计算机嵌入式实时软件响应时间。
2.4软件设计在嵌入式实时软件软件设计中,面向模块组件进行开发,保持软件内任务执行的速度与灵敏性,简化嵌入式实时软件控制流程,面向组件开发过程中,组件被视为通过接口向外界提供服务或者请求服务的黑盒,其中的多个组件也可以被组成更高层次组件,嵌入式实时软件中,其组件多具有独立性强、重用性强的特点,利用这样的嵌入式实时软件开发出的计算机软件系统,可以更好提高计算机软件的实时性与独立性。
3结论
综上所述,经嵌入式实时软件应用到计算机软件设计中,提高计算机软件系统的实时性,并且还需要简化计算机软件系统中的软件代码,节省内存,提高计算机软件系统的运行效率,具备实际应用效益。
作者:翟爱章单位:盐城市时杨中学
当前在软件开发领域存在着两种典型的软件开发模式,其中CMMI标准因为要求软件设计主体遵循较为复杂的设计过程,在软件设计过程中需要产生和维护大量的文档,所以又被称为软件设计的“重载”方法。另一种敏捷开发方法着重于软件开发的效率,又被称为软件设计的“轻载”方法,多年来在软件设计领域都认为CMMI和敏捷开发是对立的,但是笔者并不这样认为,本文将就结合CMMI的Scrum敏捷软件开发问题进行简要阐述。
1Scrum与CMMI结合性
Scrum是上世纪九十年代开发的一种敏捷软件设计模型,这一模型主要有产品负责人、Scrum负责人和Scrum团队组成,具体的组成人数根据设计主体的特点不同又会有不同,在Scrum开发模式下,产品负责人要负责制作和维护产品需求列表,作为每次冲刺的输入,根据产品需求列表的内容,在冲刺之前的贮备会议上制定整个冲刺过程的任务列表,然后就可以进入到软件设计的冲刺阶段,这一时间并不固定,大部分要持续2到4周的时间,在这一过程中每天都要召开囊括所有团队成员的会议,具体设计人员汇报前一天的进度,并对当天的工作进行安排。冲刺开发完成以后进入到冲刺演示阶段,在这一阶段所有的设计人员对设计软件进行演示审核,最终确定所设计的软件是否符合要求。在软件的设计活动中Scrum与CMMI对比主要集中在三级域上,Scrum对CMMI的三级域的不支持支持情况分布如表1所示,由表1中可以明显的看出Scrum过程对CMMI三级过程域的不支持主要集中在过程管理类过程域,并不存在无法克服的结合问题。
2Scrum敏捷软件开发的改造
2.1人员的角色分配在软件设计的CMMI模式中软件项目一般应该具备以下几种角色:项目经理、软件总设计师、软件设计师、软件测试员、软件质量保证员、软件配置管理员。而相应的Scrum中指设置了产品负责人、Scrum负责人和Scrum团队及中国角色,从组织机构和人员分配中可以看出二者的差异,所以在结合过程中应该在Scrum团队中再增加软件质量保证员和软件配置管理员的角色。
2.2制定项目计划在具体的软件设计活动中Scrum敏捷开发采取的是一种动态项目管理方式,如图1所示,为了适应不断变化的软件设计需求,Scrum模式下软件设计的冲刺执行与项目规划是并行的,通过对上一阶段工作的总结并制定下一步工作计划来保证项目的延续性和正确的方向性。在CMMI模式中项目管理是从最初的项目设计开始的,通过将设计目标有机分化为独立组成部分来实现设计工作的延续,在有机部分设计过程中通过对分项的独立管理和整体的统筹管理保证设计方向的正确性。在项目管理活动中对二者的结合通过将CMMI项目策划的过程域对应到两个层次应用来实现,这两个层次分别被命名为目标层和冲刺层。项目层对应用户的要求设定产品任务列表,而冲刺层则对应任务列表结合软件质量保证员和软件配置管理员的新角色,保证软件设计的正确方向性。
2.3与过程和产品质量保证过程域的结合在具体的软件设计活动中Scrum开发方式通过增加CMMI模式中的软件质量保证员的角色来保障证PPQA过程域的实现,在结合型的软件设计模式中质量保证员的主要职责是:第一、全程参与冲刺的策划活动,制定《冲刺质量保证计划》,明确需要审查的过程和工作产品。第二、实施质量保证活动,在具体的冲刺活动中依据《冲刺质量保证计划》对设计的过程、产品和服务进行检查与评价。第三、对不符合项目标准的内容进行跟踪,并将软件开发活动中存在的问题汇总成《冲刺质量保证报告》,在冲刺演示会议上传达给组成人员,展示出开发活动中存在的不合理现象和表现出的问题,由团队协商予以解决,如不能在团队内部解决,质量保证员有权直接上报直至有效解决。
3结论
当前计算机软件技术已经渗透到社会经济生活的各个领域,社会发展对软件开发的需求极为强烈,在这种形势下对结合CMMI的Scrum敏捷软件开发的研究具有鲜明的现实意义,本文从Scrum与CMMI结合性、Scrum敏捷软件开发的改造两个方面对这一问题进行分析,以期为结合CMMI的Scrum敏捷软件开发水平提高提供支持和借鉴。
作者:张思凯 单位:曲阜师范大学软件学院软件工程专业
关键词:软件工程 设计模式 通信监测系统 探究
中图分类号:TP393.07 文献标识码:A 文章编号:1007-9416(2013)11-0016-01
Internet技术的迅猛发展令我国顺利进入信息化时代,实现了计算机技术、通信技术、信息技术向集成技术发展的趋势转化。但由于网络通信的开放性、自由性,这在一定程度上加大了网络的复杂度,为此研究与开发通信监测系统十分必要。不过,网络通信监测系统是一个多层次、复杂性的软件工程,传统的软件开发思想与方法难以满足当前网络发展对通信监测系统的高要求,因而将软件工程思想、理论与技术引用在网络通信监测系统的研究与开发中,运用软件设计模式分析与开发通信监测系统可以取得较为理想的效果。
1 通信监测系统
NGN(下一代网络)的出现是Internet技术发展的产物,标志着新一代电信网络时代的到来,从而实现了网络的语音、视频、数据等功能服务。但网络通信功能强大在为人们带来便利的同时,在另一方面也加大了网络通信监控与管理的难度,因而需要构建一个多层性、功能强大的网络通信监测系统。这个通信监测系统的运行原理是,采集网络上的传输数据,并利用数据处理平台来分析与处理这些采集数据,从而产生统计数据、性能数据、CDR数据,并形成告警,将其统一到数据库中存放。而后,通信监测系统中的前端业务分析应用平台在进行业务分析的过程中,可通过调用数据库来提供数据分析参考依据。而利用软件工程中软件设计模式思想来设计通信监测系统,能够为系统的稳定性、可靠性提供有效保障。
2 软件设计模式的概念及其优势
关于软件设计模式的概念,即将软件设计过程中的问题集合成一个可复用面向对象的解决方案,从而便于其他软件开发者参考借鉴。在具体应用中,软件设计模式具有四个方面的优势:
(1)提供经过验证的设计经验与技术,利用文字表述将其转化成设计模式,从而为软件开发者提供借鉴依据,以减少不必要的试验失误;(2)在设计模式中提供重用面向对象代码,开发者可重复利用已有成功的设计与结构,进而提高设计速度与软件质量;(3)分离程序中的可变部分、不可变部分,以减少耦合现象,既利于扩展与维护代码,又减小程序理解难度;(4)设计模式中提供清晰的表述,以及对象关系的意图,开发者还可以对设计模式中的系统文档进行维护与改进以便完善设计模式,提高设计模式的作用。
3 基于软件设计模式的通信监测系统探究
以通信监测系统中的ADAPTER(适配器)模式设计为例,根据软件设计模式原理,通信监测系统中的协议监测模块并不需要全部都重新开发,而可以借鉴和复用已有的、成功的协议监测模块,在此基础上进行新协议监测模块的开发。在设计过程中,需要着重解决一个问题,就是设计新旧模块的统一接口,以实现新旧模块的融合,进而完成通信监测系统中ADAPTER(适配器)模式的设计。
如图1所示,对象匹配器是Adapter适配器的主要部分,其中COldProtocol是设计模块中提供的已有可复用协议模块,而GetParameter与SetParameter是该协议模块的两个接口,分别负责获取与修改参数的操作。在ADAPTER(适配器)模式的设计,可复用已有的协议,而在新的协议中合并获取与修改参数步骤,通过修改为RemoveParameter使之成为可一步完成的操作。而后,进行适配器统一接口的转换,使原有接口满足新系统的接口要求,如:
要完成新旧协议模块的整合,还需要将COldProtocol类的一个实例传给CAdaptedProtocol类的构造函数,如此就可以实现对象适配器版本CAdaptedProtocol与COldProtocol类协同工作,以实现通信监测系统对所有协议模块的统一管理。
4 结语
通过上述分析可知,软件设计模式具有很高的应用价值,其能够对成功系统设计进行分离,从而实现优秀设计经验与技术的可复用。而将软件设计模式应用于通信监测系统设计中,就可以复用已有的设计经验与技术,进而更好的完成通信监测系统的开发与应用。
参考文献
关键词:计算机;软件设计;可维护性;软件工程师
目前,计算机网络技术已经应用于我们生活的方方面面,这不仅提升了人们生活的质量,还使计算机软件得到了快速发展。人们的思维模式以及工作、生活习惯等的改变很大程度上是受计算机软件的影响,而计算机软件也在不断的采取一些措施,比如以升级、维护、推新等来满足人们生活中日益增多的需求。然而,在对计算机各类软件进行维护、升级或替换时,常遇到一些技术上的阻碍,比如,某软件的基础语言比较混乱或没有逻辑性,导致使用者很难理解如何使用该软件。因此,在这类软件的维护和升级中,软件工程师都需要重新编码和开发软件,进而成本增加。由此可见,软件工程师在软件开发之前就应该考虑加大软件设计过程中的维护力度。
1衡量标准
目前,还没有对计算机软件在设计过程中的维护进行全方位量化评价的方法。虽然已经出现了一些标准可以对计算机软件设计过程中的可维护性进行某些层面的指导,但如果要用实质性的措施来对计算机软件进行适度的、定量的维护,则难度较大。某机构在这方面工作中进行软件的开发、管理和维护的同时,也总结了计算机软件维护的特征,采取了多种衡量方式,包括了质量监管、测试和制订标准对比。
2影响因素
虽然计算机软件设计过程中是具有可维护性的,但依然有一些会对计算机软件设计过程中的可维护性造成影响的因素存在。2.1可检测性如果某软件具备易被人们理解的特点,则会直接影响该软件后期的维护或修改,进而对软件的后期测试和后期诊断的难易指数和详尽程度造成影响。在软件的后期测试和诊断过程中,科学的设计、合理的编辑、层次分明的结构是极为重要的,其能明显降低该过程中可能产生的一些错误。不仅如此,在整个测试过程中,软件工程师应依据实际情况选择合适的测试工具和测试模式。2.2可修改性在计算机软件的设计过程中,软件在修改方面的难易指数和最初设计该软件的理念和原则是密切相关的。比如,信息的定位、信息的隐含和凝结性、信息的可控范围及其关系等因素都会对软件的修改过程造成影响。2.3可控性除了对软件设计师之外,软件的可控性还能为其他人提供操作上的便利。软件设计师在对原始软件版本进行修改时,应熟练掌握软件的组成、功能、界面等方面的内容,还应掌握该软件的整体难易程度,包括软件整体结构是否合理、语言选择是否合理、设计文本是否准确等重要因素。2.4可重复性可重复性指的是设计软件的过程中一些相同的事件不必修改或只简单修改就能在其他程序设计环境中正常运行的性能。在此情况下,能使这些软件更易在轻微修改后便能在其他软件中应用,从而加快其适应新运行环境的速度。因此,可重复性的软件具有较强的适应环境的能力,在维护方面也更省时省力。
3措施方案
在软件设计过程中,程序设计员要及时对软件进行升级和维护,软件维护这项工作是非常重要的。因此,为了更好地提升计算机软件设计过程中的可维护性,提出了以下3点有效措施。3.1明确目标要想更好地推进计算机软件设计中的维护工作,应明确该工作的目标,使软件设计的可维护性具备其自身相应的特点,从而满足当代人类社会的各类需求。在某些情况下,很多可维护性是可以相互影响和相互结合的,这就可以有效的降低维护成本。3.2提升科学性为了更好地推进软件设计中的可维护性工作,要科学地应用一些软件,合理地选择适合开发该软件的工具,从而确保软件的质量。不仅如此,还应尽量减少在软件设计和开发上所投入的成本,并大力提升软件的稳定性。3.3改进说明文件程序设计的相关说明书能在整体上对解读该程序的使用流程起到指导性的作用。程序编辑的过程中所产生的新数据和各类补充内容的说明都是程序主体的组成部分。程序设计中的说明性文件主要是为了使用户更清楚地理解该程序的实际操作流程等,因此,改进程序的说明文件从而某种程度上来看是为了提高该程序的可懂性和可行性,而能轻易地理解程序的文档也能更加方便程序设计员对该软件的升级、维护或管理。在保证软件程序的质量及其各项功能的同时,整体提高该软件的可维护性是非常重要和非常必要的。可维护性的提升不仅仅只是为了适应当代电子通讯和网络发展的需要,尽量满足当今社会的需求,还是为了大大降低软件公司在软件设计、讨论、开发、维护、管理等上的投入,保证公司和设计人员的收益,为该软件的用户群体带来便利。
4结束语
计算机研究领域日益扩大,软件的设计和开发项目也越来越多,这些都是目前社会发展大环境下的产物。不仅如此,软件事业与人们的生活也在相互影响、相互推进。从软件的设计、编码、开发、升级到维护和管理,耗费的都是人力、时间、财力。因此,软件的维护是非常重要的,应重视软件设计、开发过程中的可维护性。只有这样,才能在保证该事业收益的同时,为使用者提供更多的便利。
参考文献
[1]冯春雨.浅析计算机软件设计过程中的可维护性[J].科技创新与应用,2012,4(05).
[2]周艳萍.计算机软件设计过程中的可维护性分析[J].吉林广播电视大学学报,2014(10).
关键词:计算机软件设计;嵌入式软件;设计
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)32-0064-02
随着我国计算机技术及软件技术的迅速发展,嵌入式软件也有了飞跃的进步,被人们开发出来的嵌入式先进设备也被广泛运用到日常生活中及各行各业中,改变了我们的生产生活。在计算机软件设计中应用嵌入式软件,可以改善软件系统的性能,降低了软件产品出现问题的几率,还可以优化软件系统,使软件系统更加稳定和可靠。嵌入式软件在计算机软件设计中的应用具有一定的研究价值。
1 嵌入式软件的基本认识
随着社会不断朝着信息化的方向发展,计算机在人们日常生活中的重要性越来越突出。在计算机软件设计中,由于嵌入式软件具有较强的稳定性,并且操作简单,深受计算机行业人士的喜爱。嵌入式软件在计算机软件设计中也有着重要的地位,不仅能够大大地提高软件产品的质量,还能够避免软件产品中的问题及不足。在计算机软件设计的时候,可以以嵌入式软件的执行预测、缓存机制及动态分配为基础,优化计算机软件实时处理功能。嵌入式软件在计算机软件设计中主要是硬件处理及软件处理两方面的应用,在计算机软件设计中,要以系统为支撑,然后通过程序员编写程序。在此过程中对多个任务进行同时处理的系统就是嵌入式处理器。嵌入式处理器能够在极短的时间内处理多个任务,并且还能够实时保存信息资源。嵌入式软件有两个优点:其一,由于嵌入式软件的模块化,它可以检测软件并且对其进行修复;其二,嵌入式软件可扩展软件处理器,在计算机进行软件设计和操作的时候,可以使用最低的功率进行,使嵌入式软件的优势可以最大程度的得到发挥,嵌入式软件在计算机软件设计中有着主导作用。
2 计算机软件设计中的嵌入式软件设计策略
2.1 嵌入式软件的开发步骤及设计
2.1.1 嵌入式软件的开发依据
在计算机软件设计中应用嵌入式软件的原理主要是计算机在处理紧急的软件时,嵌入式软件可以利用实时处理功能构建CORBA模型。另外,嵌入式软件还能运用远程调控功能为计算机软件设计提供多种设计任务,降低计算机软件设计的时间,提高计算机软件设计效率及质量。下文就以CORBA模型为例子,研究嵌入式软件在计算机软件设计中的应用,探索嵌入式软件是否可以对计算机软件设计进行创新及完善。
2.1.2 嵌入式软件的开发步骤
在计算机软件设计中使用嵌入式软件,可以有效提高计算机软件的设计水平,优化计算机软件的开发流程,进一步提高软件系统的可靠性。在计算机软件设计中使用嵌入式软件的时候,首先就要确定软件的开发流程,全面了解计算机中的软件及硬件结构,使两者能够分离,使软件不再依靠硬件,从而提高计算机软件的安全性及可靠性。应用嵌入式软件还能初始化计算机软件中的数据,并格式化计算机软件中的数据结构,为了能够使计算机软件中的设计能够更加完善,可以直接对软件及硬件进行操作。嵌入式软件的开发流程见图1。
嵌入式软件的开发流程的步骤分为:其一,全面掌握计算机软件系统的需求,并且对其进行分析了解;其二,根据计算机软件的需求,程序员就可以编写程序代码;其三,对软件性能进行测试,并且对测试结果进行分析,从而能够优化计算机软件设计。由此可见嵌入式软件的开发流程是比较简单的,这也为计算机软件提供了可靠性的保障。在软件设计中,应该着重注意软件数据的初始化工作和格式化工作。
2.2 嵌入式软件在计算机软件设计中的应用
2.2.1 对计算机软件多任务进行划分
嵌入式系统中的应用软件可以保障系统功能的完善,并且还肩负着资源管理及任务间的通信责任。对软件的资源管理及任务通信进行实现的是计算机系统中的微内核,其也是计算机软件的基础程序。应用嵌入式软件,就要对软件不断地进行优化设计及协调,并且优化嵌入式RTOS模型,使软件系统中的任务可以独立工作。
对计算机软件中的任务进行划分,需要将数据进行转换,之后再进行分析应用程序。影响任务划分主要是由于应用系统数据通信之间的异步关系,其可以从两方面进行考虑:其一,系统中的输入/输出系统。输入/输出系统中的驱动要以软件系统中的应用程序及中断为基础才能够实现,其中应用程序就占了CPU大部分的空间,所以就要通过中断以此来提高计算机软件中的实时性及实用性;其二,软件系统内部功能。计算机软件系统中的并行任务有周期任务、应用控制任务及用户接口任务等等,为了将这些任务合为一个任务,就要对任务的激活进行全面考虑。为了能够使计算机软件设计流程更加简单,可以使用同一种事件驱动,来提高软件的资源共享。
2.2.2 存储映像布局及任务组织
在对系统应用功能划分为多个独立任务之后,就要对其进行组织,组织任务的方式主要是以各个任务之间的关系为基础进行的,这些任务的组织及管理功能与嵌入式操作系统有着一定的联系。另外,由于嵌入式操作系统并不完善,所以就要应用程序保存在FLASH或者ROM中。为了之后操作系统可以正常运行,就要在组织任务的时候对其进行科学的安排,并且对计算机软件中的系统布局进行优化及完善。软件系统布局主要重点考虑存储映像布局和物理零地址存储器,系统在加电之后,可以在物理零地址上设置代码。嵌入式软件中的应用系统是由ROM启动,物理零地址可以存储计算机系统中的向量。此方式最大的优点就是简单快捷,能够提高处理器在调取向量的速度。
2.2.3 任务调度及实时性应用
在计算机软件设计中应用嵌入式软件,要重点考虑嵌入式系统的实时性,主要分为两方面:其一,软实时性。主要是使系统能够在规定的时间内完成任务,如果没有完成可以延迟;其二,硬实时性。主要是使系统能够在规定的时间内完成任务,如果没有完成,则会有严重后果。所以计算机软件系统的调度应该采用优先的方式,这种方式主要是指微内核可以根据系统中的紧急任务来对软件系统进行优先顺序的安排,并且可以根据不同的优先等级对系统进行划分,以使响应时间可以有效降低。
2.2.4 初始化系统
在计算机软件设计中使用嵌入式软件,还要重点考虑对系统的初始化及执行。编写初始化系统代码是在嵌入式系统的微内核及硬件抽象层中的,主要是对系y进行初始化及引导。与计算机软件系统不一样的是其并没有BIOS系统,所以,开发软件的工作人员就要设计方案来引导系统和编写初始化代码,对这些代码进行执行之后,再进行工作,比如存储系统的初始化、RAM变量的初始化及设置异常中断向量等等。最后再通过设置相应的指令来缓冲嵌入式软件系统,随后进入系统进行调度。
3 结束语
本文首先阐述了嵌入式软件的含义及特点,对嵌入式软件设计的方式进行了分析,研究了在计算机软件设计中使用嵌入式软件的作用。由此可以看出来嵌入式软件的发展趋势将会越来越好,并且值得我们推广。
参考文献:
[1] 章慧云.嵌入式实时软件在计算机软件设计中的应用[J].信息技术与信息化,2014(12):184-185.
摘要:为加强学生软件设计能力,本文对计算机专业软件设计能力培养模式进行了探索与实践,对教学内容优化,构建新型四层递进式课程体系;强化实践能力培养,构建立体化实践教学体系,在提高计算机专业学生的软件设计开发能力上取得了比较明显的效果。
关键词:软件设计能力;内容优化;实践教学
一、优化教学内容,构建新型课程体系
1.优化教学内容。计算机软件技术应用领域广泛,知识更新快,实践性强,既要求扎实而广博的理论基础又要求良好的实践动手和自我学习能力。针对这一特点,以计算机科学与技术本科人才培养方案为基础,以基本素质和工程能力培养为主线,以面向信息领域市场、面向区域经济建设为需求,坚持“基础、应用、实践”的原则,突出软件开发与设计的能力培养,在专业教学中强调理论与实践并重,知识、能力和素质协调发展,对教学内容进行了大幅优化设计。在基础能力方面优化了程序设计基础课程,新增了算法分析与设计、面向对象分析与设计课程;在软件设计高级理论方面优化了软件工程课程,新增了软件测试与质量保证、软件体系结构与中间件技术课程;在综合实践应用方面新增了Java程序设计、系统集成与项目管理、xml与电子服务课程。通过一系列教学内容的改革和优化,兼顾了软件设计理论的深度、广度和实用性,更加符合以软件设计能力培养为核心的教学主线要求。2.构建新型四层递进式课程体系。软件设计和开发是计算机科学与技术专业本科人才能力培养的核心和基础。通过深度剖析计算机软件设计能力的培养特点,总结以往教学经验,以培养学生软件设计能力为核心,构建了从程序设计基础到软件开发综合实践的四层课程体系,每层都有相应课程群以及阶段性培养目标。(1)基础理论层。以计算机导论、操作系统、数据结构、编译原理、计算机组成原理为核心课程群,目标是奠定计算机系统的基础理论知识。(2)基础训练层。以程序设计基础、数据结构与算法等为核心的课程群,目标是打牢程序设计基本能力,并初步掌握面向对象软件设计方法。(3)高级理论层。以软件工程、软件测试与质量保证、软件体系结构与中间件技术为核心课程群,目标是系统掌握软件体系结构、软件设计开发和软件项目管理的理论知识,为高级应用实践打下坚实基础。(4)综合应用层。以系统集成与项目管理、xml与电子服务、Java程序设计为核心课程群,目标是面向应用,全面提高软件项目设计开发的综合能力。四个层次之间环环相扣、互为基础、由低到高、循序渐进,逐步培养学生良好的软件理论素养和扎实的设计开发功底,为国家和社会培养合格的IT人才。3.强化实践能力培养,构建立体化实践教学体系。良好的软件设计能力不仅需要深厚的理论基础,也需要较强的实践功底。鉴于计算机软件技术具有实践性强、知识更新快的特点,我们设计了立体化三层实践教学体系,包括基础训练层、综合训练层、实践应用层。(1)加强课内实践教学,培养学生基本编程应用能力。基础训练层是由程序设计基础、数据结构、Java程序设计、编译原理和操作系统等课程的课内实验组成。在课程实验设计中加大了综合设计类实验的比例,减少了基础验证性实验比例。其中基础验证性实验与课堂讲授同步,加深对某个知识点的理解,紧跟老师引导完成练习。综合设计类实验对多个知识点进行综合训练加深对课程内容的整体认识,还需要提交实验报告。注重综合设计能力的培养。综合训练层是由程序设计基础、数据结构和软件工程等课程的课程设计组成。通过设计小型综合项目,培养知识的综合运用能力。课程设计的实施分为开题、系统设计、编码实现、系统测试、系统评价与验收,提交课程设计报告。要求分组完成,最后答辩评分、评优。我们对课程设计考核进行了改革,制定了具体的课程设计考核制度与考核方法,将课程设计考核变为答辩方式考核,包括小组答辩和年级优秀课程设计答辩两个过程和层次进行。(2)引导课外实践,培养学生创新思维能力。实践应用层是由各类大学生竞赛活动、大学生SRP训练项目、大学生创新计划、毕业设计、教师的科研课题、工程实训和软件开发小组等各种形式的实践活动为依托。通过各类竞赛,激发学生对软件设计的兴趣和主动性,鼓励学生积极参与教师科研项目、大学生创新计划、大学生SRP训练项目和毕业设计,培养和锻炼软件设计开发能力。
二、小结
围绕计算机基础、程序设计基础主线展开教学,使学生能够具有扎实的基本功,为高层次人才和创新能力的培养打下坚实的基础。对相关的课程进行整合,形成课程群,突破学期、授课教师、课程各自独立的局限,实现总体设计、综合布局、交叉穿插、协同配合的新模式。
参考文献:
[1]谢中科,肖增良.程序设计系统化思维培养模式的探讨[J].计算机教育,2014
[2]戎玫,张广泉,王辉.强化实践创新能力突破软件人才瓶颈[J].实验室研究与探索,2013.
作者:高攀 郭理 单位:石河子大学信息科学与技术学院
1 计算机软件设计的现状
1.1 计算机软件的分类。计算机软件技术主要是对软件进行操作的一项技术。主要研究内容分为两个方面:一是怎样优化相应支撑体系;二是对相应的方法手段进行开发探索。计算机软件系统是可运营的一种系统,已经形成了层次分明的模型体系,主要可以分为以下三类:应用软件;支撑软件;系统软件。
1.2 计算机软件技术的规划。在当代,各个国家对计算机软件的设计都特别重视。很多国家投入大量的人力物力,并出台一系列软件设计政策进行鼓励计算机软件的设计开发。大部分国家主要将开发重点放在计算机软件开发方法上,我国对发展软件业给予了重视,被行业在信息产业纲要里放在了最重要的位置,可见,国家对计算机软件的设计与研发的重视。
1.3 计算机系统软件的研发现状。计算机系统软件是更具硬件特征的软件系统,计算机系统软件分为不同的种类,以后分别具体分析各种不同种类的系统软件现状。
1.3.1 操作系统的研发现状。计算机靠操作系统发挥基本功能,对计算机最为重要。操作系统不仅管理各种硬件,如显示器、打印机等等;同时,也起到对软件的运营进行统筹管理的功能,对软件的运营系统进行操作;可以作为支撑软件支撑相应应用软件,使人机界面更加的先进。操作系统也对用户能够开发应用系统提供保障,是一种基础设施。近年来,计算机网络技术在不断发展,未来的操作系统会朝着更加智能化,网络化等方向发展。
1.3.2 商业操作系统研开现状。操作系统嵌入技术是一种新兴的技术。嵌入技术是把计算机软件与硬件与机电设备进行结合,作为一个新的系统,使得这个新的系统具有很多原来的设备所不具有的优点。嵌入技术在各个领域得到广泛应用。现在,嵌入系统已经产生很多产品并且投入运用,取得了良好的成果。以后,也会越来越引起厂商对这一领域进行投资,促进这个领域的发展。
1.3.3 数据库操作系统研发现状。(1)网络化。数据库系统的重要组成部分是可以支持网络型的,是数据库系统的支柱。对数据库系统研发被各数据库公司以及学术界放在首要位置,作为发展的中心。比如,被微软公司作为公司某项重要计划核心部分的就是SQL Server;(2)数据库系统的安全及相应技术。在现代计算机系统中计算机处于核心地位,人们把注意力越来越多的放在数据库的安全上。当前世界上多数国家都出台了一些数据库系统的安全规定。其中,美国制定的两个规则起到主导作用,分别是《可信计算机系统的评估标准》与《可信计算机系统的评估标准》标准;(3)嵌入式技术。嵌入式技术已经被国内外专家们当作重点进行研究与开发,取得了很大的进展。已经应用在各个领域。这一技术涉及了很多其他的数据库领域,比如移动通信技术、分布式计算技术等领域;(4)软件工程环境研发现状。这项技术主要侧重怎样合理安排方法、工具、技术。这个概念从推出到现在已经延续了40多年之久。软件工程环境是在一起的软件构件,实现工作活动的自动化支持。从刚开始的整体的研发到后来的逐步分散化。上世纪九十年代,CASE工具得到广泛应用,发展成CASE工具集成。
2 计算机软件设计与实现当遵循的原则
2.1 准确抓住用户的需求。由于用户对软件的要求各不相同,软件的设计时为了满足用户的需求,因此,计算机软件的设计要在和客户不断沟通交流及对行业领域进行研究获取用户的需求,才能真正确定软件设计的方向,更加适应于用户和市场要求。
2.2 应当不断重构。计算机软件设计不是一个一步到位的过程,而是循序渐进。设计者对计算机软件的设计是一个不断改进、不断完善的过程,不应该担心软件设计之初有哪些不足,而是应当不断重构,最终使产品达到完美。在真正知道客户的需求之后,应当先进行方案的设计,先进行初级设计,然后在不断完善,逐渐满足客户的所有需求。而不是先设计出一个完美的方案,然后进行修改,这个方案比较急于求成,设计出来的软件优化空间很小。新加功能与对软件的改善应当轮流进行,增加新功能的时候,充分保证现有代码的正确性,同时对代码进行适当的修改,从而使所有的新功能测试都能通过。而对设计进行改善时,应当保证用现有的测试用例能验证修改的正确性。
2.3 应当始终面向代码。所有的软件设计在编写代码之前都是一个想法,是没有现实意义的空想,编写代码是软件设计最有价值的部分,也是将空想变成真实的一种手段。很多完美的想法方案由于代码的不完全实现导致没能达到预期效果。所以,在软件设计的过程中必须将代码的编写放在首要位置,将好的构思,马上用代码表现出来,并且进行对代码的准确性与系统相容性进行检测。
3 计算机软件设计的方法
计算机软件是按照特定的规格进行设计的,根据一些条件,主要有结构化程序设计、面向对象的程序设计、由顶至下设计法这三种软件设计方法。
3.1 结构化程序设计。在计算机软件设计中,具有良好结构的程序,在编码、检测和维护中都比较省力。它的主要流程是先了解用户的需求,以此为软件设计的切入点,根据实际功能将系统分成一些子系统,再根据实现的功能把子系统分割成模块,针对模块布置各个模块的具体要求与说明,明确各个模块是按怎样的方法实现和程序中的其他部分对接。
3.2 面向对象的程序设计。面向对象就是由实例入手,找到实际问题系统里面存在的实体,分析试题的属性、特征等,以此构成各对象类间的结构层次,最后构建出完整的软件系统。主要有封装性、继承性、多态性三个特点。
封装性主要针对数据并且对数据的操作实现一体化;继承性主要针对某类继承它所属代码的属性及操作;多态性则是类等级中各层共享同一函数的名字。
3.3 由顶至下设计法。此方法处理分层问题最有效,将整个系统功能的最抽象表述作为最高层次,从这个层次出发设计子系统,然后依靠这些子系统实现较高层次的系统功能,再以子系统作为基础是基础更详尽的子系统。这个方法可以分清各种复杂的处理层次,并且多个要素间关系清晰。
嵌入式软件对于实时性的要求比较高,因此在进行嵌入式软件的设计和实现过程中,需要充分考虑到实时性的特点。嵌入式软件其实属于软件设计的重要分支,因此在进行嵌入式软件的设计过程中,保留了很多传统软件的设计方法,其主要的设计方法和设计思路体现在以下几点:(1)由于嵌入式软件在开发和设计的过程中,离不开相关的电子产品的需求,所以在进行软件的设计和开发过程中,考虑到能够更好地满足需求,因此必须要充分考虑到嵌入式软件的应用场景,必须要与嵌入式的硬件相结合,才能使得嵌入式软件的功能能够更好地满足需求.(2)嵌入式软件在设计的过程中,为了更好地突出实时性这一特点,需要选择实时性比较高的开发语言进行开发,而且在设计软件的功能和相关架构的过程中,也需要考虑到实时性的问题。(3)需要进行固化和固化测试,软件测试也是软件设计的重要过程,因此在嵌入式软件的设计过程中,还需要考虑到相关的测试内容。由于嵌入式软件与硬件的联系紧密,因此在进行测试的过程中需要进行固化和固化测试,不仅能够测试出嵌入式实时软件在功能方面的问题,而且可以有效地测试出软件在与硬件结合方面存在的问题。
2嵌入式软件在可扩展性方面的设计
不仅仅在传统的软件设计过程中需要考虑到可扩展性的问题,而且在嵌入式软件的设计过程中也需要考虑到这一点。这是因为目前市场上大多数的电子产品更新换代的速度比较快,为了更好地配合电子产品在硬件方面的改进,嵌入式软件也需要进行相应的调整。但是,如果不考虑嵌入式软件的可扩展性问题,电子产品更新换代就需要重新进行嵌入式软件的设计,可能会造成人力和物力的浪费。嵌入式软件可扩展性方面的设计主要包括以下几个方面:
2.1相关的硬件驱动机制
由于嵌入式软件在操作硬件的过程中,需要利用相关的驱动机制,所以为了更好地进行可扩展性方面的设计,在进行嵌入式软件设计的过程中。需要不断完善相关的硬件驱动机制:第一,尽量使用硬件配套的驱动机制对硬件实施操作,这是因为硬件的驱动机制是针对专门的硬件进行设计和实现的,能够更好地对硬件进行操作,如果采用其他的硬件驱动机制,很可能会造成操作命令的混乱,影响系统硬件的操作和使用。
2.2嵌入式软件的模块设计
为了更好地进行嵌入式软件的开发,提高嵌入式软件的可扩展能力,可以借鉴传统软件在设计过程中的一些优化策略,主要体现在以下几个方面:(1)对嵌入式软件进行模块的划分,划分嵌入式软件的模块能够对嵌入式软件的功能进行更加深入的了解,可以将功能紧密的部分构成一个统一的模块,模块与模块之间可以采用一定的通讯方式进行交流。(2)采用面向对象的软件设计方式,目前很多传统的软件都采用了面向对象的软件设计方式,并且取得了良好的效果,使得软件的可扩展性得到了一定程度的提高。因此,在进行嵌入式软件的设计过程中可以借鉴这一成功经验,更好地提高嵌入式软件的可扩展能力,方便日后的修改和维护。
3嵌入式软件在可靠性方面的设计
对于嵌入式软件来讲,不仅仅对实时性和可扩展性方面有着重要的需求,而且对于可靠性方面也有着重要的需求。所以,为了更好地进行嵌入式软件的设计,也需要考虑到可靠性方面的一些因素,从而使得嵌入式软件能够更好地满足需求。为了更好地进行嵌入式软件可靠性方面的设计,可以采取以下几点措施:
3.1尽量排除软件使用过程中的干扰因素
深入理解嵌入式软件过程中的干扰因素,并且在进行嵌入式软件设计的过程中能够寻找到这些干扰因素的解决方法。可以借鉴已有的抗干扰的软件设计策略,同时也可以根据嵌入式软件的应用场景,设计更加适合的抗干扰解决方案。
3.2选择合适的语言进行软件开发
目前大多数的硬件驱动机制是利用汇编语言进行编写的,但是汇编语言对于软件开发者来讲学习难度比较大,所以目前一般的硬件驱动都是用C语言来编写的,但是C语言在执行效率上没有汇编语言高效,所以在进行开发的过程中需要进一步考虑效率的问题。
3.3加入一定的容错技术
在进行嵌入式软件设计的过程中,需要考虑到很多错误的产生,例如:使用者的操作错误,干扰因素造成的错误等等,因此在进行软件设计的过程中,需要将可能出现的错误都考虑到,并且在实现的过程中加入一定的容错技术,可以选择空间冗余技术、标志位技术、校验技术、指令冗余技术等等,利用这些技术能够很好地规避软件在使用过程中出现的错误,从而能够更好地保证嵌入式软件的可靠性。
4小结
1.准备阶段
教学内容:软件工程概述;补充介绍选题方法。实践内容:分组与选题。(1)分组。将一个班的学生分为若干个项目组,每组3~5人,每组有一名组长作为项目经理组织后续的项目开发,负责给成员分配角色,如系统分析员、软件设计师、软件开发工程师、软件测试工程师。根据角色,每个成员都有相应的任务。(2)选题。在项目驱动教学法中,项目选择是关键步骤,关系到整个项目能否顺利实施。因此,在各组自选项目时要注意:尽量选择自己熟悉的流程来构建软件系统,如图书馆借还书系统;所选系统有3~5个功能模块,过于复杂则难以把握,过于简单则缺乏整体性;尽可能选择与实际需要相结合的项目、科研创新基金项目等;项目开发所需的软硬件都是可获得的,所需开发技术是学生已掌握的或短期内可掌握的。最后,教师要认真审查学生选题,避免重复,控制规模,确保可实现。
2.需求分析阶段
教学内容:软件需求分析原理、结构化分析法、面向对象分析法;补充介绍主流建模工具、开发平台、Web开发环境。实践内容:深入了解和分析需求,形成文字化需求说明;安装建模工具,使用Rose/Visio进行需求建模,绘制用例图和活动图,完成软件需求分析报告。配置开发环境,熟悉开发环境的使用,编程实现“登录”功能。教师及时批阅和评价需求分析报告,重点检查用例分割的粒度是否合适,指出学生在运用方法和工具解决实际问题时存在的不当之处,对突出问题进行集中讲解,确保学生建立正确的认识,树立信心。
3.软件设计阶段
教学内容:软件设计原理、结构化设计法、面向对象设计法;补充介绍平台设计、界面设计及工具的选择、数据库设计及数据库管理系统的选择、程序设计语言及编程环境的选择、出错处理。实践内容:在Rose/Visio中绘制类图、顺序图、状态图;用PDL对关键处理进行描述;对典型界面进行设计;数据库基表设计;完成软件设计报告。编程实现“读取数据库数据并显示到页面”的过程。教师及时批阅和评价软件设计报告,重点关注类图的合理程度、顺序图表达细度等,指出存在的问题,确保学生充分经历软件设计阶段的各种设计任务。
4.实现和测试阶段
教学内容:软件测试方法、主流测试工具介绍。实践内容:编写系统源代码;设计测试用例,进行单元测试、集成测试和系统测试;完成系统测试报告。教师及时批阅和评价测试报告,指出可能存在的漏洞。在系统完成后,根据开发文档对系统进行整体检查,重点关注学生常常疏忽的出错处理问题,在软件用户友好性方面提出更高要求,增强其专业素质。
5.结束语
初步的教学尝试表明,在项目驱动的软件工程教学模式下,教师和学生的工作量都有大幅增加。教师必须熟悉开发过程和主流开发平台,必须有实际开发经验以应对学生遇到的各种问题,必须积极引导和评价以增强学生开发软件的自信心和成就感。学生则必须依据自身能力进行自主学习与协作学习,在项目开发过程中充分发挥主观能动性和创造性思维,全面提高其作为软件专门人才的综合素质。
作者:陈海燕 张育平 臧洌 沈国华 单位:南京航空航天大学
【关键词】数据库设计;软件工程;作用分析
1软件工程技术的相关背景和基本概念及原理
1.1软件工程技术概述
软件工程技术是一种新兴的信息工程技术,现已被广泛的运用在人们生产和生活的各个领域。软件工程技术的开发与应用,显著的提高了计算机水平和推动了科学技术的发展,将软件工程技术运用到数据库的设计过程中也是非常常见的。传统的软件开发从某种意义上来说就是一种从“高层概念”到“低层概念”的映射,以实现高层逻辑转变为低层逻辑。但是就大型软件系统而言,软件的开发工作涵盖的内容和范围更多、更广,包含了技术人员、相关技术、开发途径以及成本和进度等许多方面,所以可以将软件工程技术综合定义为是一类可以用来满足客户需求并以软件产品和工程为对象的学科,其应用原理包括计算机科学理论和工程管理原则,主要内容是设计模式、程序语言设计和数据库等方面。早期的软件工程技术开发模型主要为瀑布式,随着科学技术,尤其是计算机技术的不断发展,其开发模型已经逐步演变成为螺旋式的迭代开发,再到目前的软件工程技术敏捷开发,软件技术不断的发展和完善,越来越成熟。当然,不管是处于哪个时期,软件工程技术都要遵守采用科学的手段进行管理,同时通过合作的形式来提高软件生产效率的基本原则,国内外的许多专家和学者通过软件工程技术发展的过程总结出了许多新的软件开发方法,并由此诞生了软件工程学。软件工程学是对软件工程技术相关理论知识的归纳与总结,很大程度上解改善了软件工程技术的现状,但是由于软件工程学科本身具有理论性强、实践局限性较大的特性,致使软件危机仍然活跃在人们的生产生活中。近年来,通过不断的研究与探索,软件工程领域出现了许多新的思想和方法,像软件再开发利用、软件自动生成器等等,推动着软件工程技术向自动化和标准化方向发展。
1.2软件设计中的工程技术分析
软件设计中的工程技术主要包含的是软件的生存周期、规格说明书以及软件设计。其中软件的生存周期主要由要求分析、规格说明、设计、编码、测试和维护这六个环节组成。前两个环节主要是根据客户的要求来进行的,要求达到明确软件设计目的的任务,后面四个环节是针对计算机系统而言的,要求通过各种技术手段来实现由之前两个环节确定的软件设计目的。软件开发的最终目的是为人们的生活服务,所以在进行软件设计的时候一定要严格执行软件生存周期中的要求分析和规格说明,也就是说一定要按客户的要求进行设计;规格说明书环节就是指把用户的需求输入并整理结果,从而得到软件的具体规格说明;软件设计环节就是通过计算机技术以及其它的一些硬件设备来实现规格说明书中的内容,最终实现软件的开发。
2软件工程技术在数据库设计中的实际应用分析
2.1用于分析数据库的可行性
使用软件工程技术,结合既有的计算机技术及人工控制条件,对数据库的经济效益、技术以及操作方便性等方面进行考察,从而实现对数据库设计任务可否完成的初步估计。在分析时要注意记录分析结果,整理并书写相关的可行性报告。
2.2用于制定数据库的开发计划
当数据库可行性的分析工作结束后,结合可行性报告,如果认为该项目具备很强的可行性,则可以开始制定该数据库的开发计划。数据库项目的开发计划内容应该包括有关人员的组成、人员的分配、项目进度、项目验收方式与验收标准和开发过程中的重点环节等等。除此之外,要注重用户界面的开发,只有方便、美观且友好的用户界面才会被客户接受,所以在数据库项目开发计划中应该包括用户界面的开发工作。
2.3用于分析数据库系统的需求
将软件工程技术运用于对数据库需求的分析工作,分析的主要内容包括:数据的需求、运行环境的需求、系统性能的需求等等。通过分析数据库的需求,可以了解建立数据库需要的软件配置标准和运行环境,从而为开发数据库提供参照标准和数据支持。
2.4用于数据库的设计阶段
数据库的设计和建立是数据库系统的关键环节。数据库的设计质量直接影响着数据库系统的运行效率和效果。一个成功的数据库软件系统一方面可以简化运算方式,提升运行效率,另一方面还可以帮助数据库的用户简便快捷的获取需要的信息,同时还需要保证数据库中数据的完整性,为完成数据库的设计提供便捷。设计数据库的基本操作是分析。首先要分析数据库的概念和结构,大致掌握用户的具体需求,然后依据这些来拟定一个数据库系统的实体联系图;其次是分析数据库的逻辑结构,将理论中的E-R图转换为程序语言,以使其与DBMS系统相匹配,从而实现将实体之间关系转化数据库系统之间的关系。另外,数据库系统的物理结构的设计内容应该包括数据的存取方法和数据的存取结构。通常,数据库的物理结构设计分为两个环节,其一是确定数据库系统的物理结构,其二是评估该物理结构的运行效率,通过综合考虑这两个环节来对数据库物理结构的合理性进行最终的评价。
2.5用于数据库的详细设计和概要设计
数据库系统的详细设计是设计程序框架,而不是编写程序。总的来说,数据库系统的概要设计分为两个阶段:第一,制定数据库系统的实施方案;第二进行软件结构设计。
3总结
总而言之,将软件工程技术应用与数据库的设计具有重要的战略意义,一方面可以提高数据库设计的工作效率,另一方面还可以增加数据库的灵活性和适应性。所以在软件工程技术的实际应用中,要不断的探索与研究,对其应用方式进行改进和完善,以保障数据库的顺利设计与建立。
参考文献
[1]曹杨帆.数据库设计中软件工程技术的作用[J].电子技术与软件工程,2016(03):202.
1过程控制的导引头系统软件开发流程研究
过程控制下导引头系统软件开发流程主要分为以下几个阶段:
1.1需求分析该阶段是导引头系统软件开发的首要阶段,在这一阶段中,开发人员应以总体设计方案为依据,通过UML进行导引头系统软件对象的综合分析及其建模,同时进行导引头系统软件业务的活动图及用例图、系统的用例图及状态图等相关UML文的绘制,以形成导引头系统软件的需求分析文档,并形成导引头系统软件工作的分解结构,从而给编程人员代码编写工作的进行提供参考依据,帮助相关开发人员更好的掌握导引头系统软件开发的实际情况,实现对导引头系统软件项目的有效控制。
1.2软件设计在完成导引头系统软件需求分析之后,开发人员根据需求情况进行软件设计方案的制定,并进行相关设计。完成设计工作之后,评审人员还要对软件设计的文档严格、科学的评审,并根据总体方案对软件设计存在的问题及缺陷进行有效的查找,最后通过软件设计的文档在软件设计的阶段尽可能的将问题解决,从而达到减少后续导引头系统软件开发负担的目的。
1.3代码实现在这一阶段,传统导引头系统软件开发只是完成相关代码的编写,只有很少部分的编程人员掌握程序的代码,并且缺乏统一、规范的管理,从而造成软件错误、重复工作以及软件版本更改、管理混乱现象的频繁出现。为此,在导引头系统软件开发流程中,应建立起软件开发数据库,用以存放软件开发中的各种项目计划、源代码、任务列表以及工作文档。还应根据导引头系统软件开发的实际需要配置TFS管理工具,以实现对软件开发数据库的有效管理控制。这一阶段代码实现的过程主要是:(1)代码的编写。开发人员登陆到TFS中并建立相应的工作空间,并按照负责人下达的相关任务列表完成代码的编写。(2)代码提交。开发人员将前一天完成的源代码下载到计算机完成代码的编写,再经签入操作将编写完成的相关源代码提交到软件开发数据库之中。(3)代码审查。负责人通过组织成员讨论的方法对开发人员提交的各个代码进行严格、详细的逐行走查,以及时发现代码出现的问题,并按照代码审查的各种标准给出审查结果。(4)代码修改。导引头系统软件开发人员以代码审查结果为依据进行代码的修改,并将修改后的版本再次提交到软件开发数据库中。TFS会对版本更新情况进行相应的记录及储存,以为编程人员进行代码的查看及使用提供方便。除此以外,TFS还能对软件开发中出现的问题及其更改情况进行记录,并生成状态报告及统计数据,以为后续开发工作的进行提供相应的参考依据。
1.4软件测试导引头系统软件开发中的软件测试主要从以下四个步骤展开:首先,单元测试。在编写完一个软件程序的功能模块之后,开发人员应对代码模块实施有效的单元测试,并对代码模块是否实现相关规定功能进行检查。单元测试要对错误处理、数据结构、独立路径、模块接口及边界条件等几方面的内容给予重点关注。其次,集成测试。以软件结构为依据,将测试后的代码模块装成系统,可采用增值式的集成方式。再次,配置项的测试。为较好的验证导引头系统是否正确及完整,是否符合相关功能要求,就一定要进行配置项的测试。配置项的测试主要是检查软件是否任务书及说明书中的相关要求,配置是否正确。最后,系统测试。系统测试就是测试导引头系统软件在复杂的环境中能否在引导头的整机上正常、稳定的运行。测试时主要是将配置项的测试软件放入具体的运行环境之中,并与其他的系统成分相组合进行测试,以保证测试的有效性。
2结语
总之,以过程控制为依据,加强对导引头系统软件开发流程的研究对引导头的整机运行非常重要,因此,开发人员要对导引头系统软件开发流程进行有效的了解、研究,才能提高导引头系统软件的稳定性、有效性及可靠性。
作者:郝昌臻 侯留洋 单位:郑州大学信息工程学院