欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《计算机专业英语》电子教案第6章.ppt

    • 资源ID:5051813       资源大小:405KB        全文页数:51页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《计算机专业英语》电子教案第6章.ppt

    计算机专业英语,6-1,Computer English,Chapter 6 Software Engineering,6-2,掌握软件的生命周期的基本术语与知识;了解软件工程的发展趋势;了解软件设计方法;了解软件安全的有关知识;掌握复杂定语(从句)的翻译技巧。,Requirements:,6-3,New Words n.近似,途径 conducive adj.有助于.的evasive adj.逃避的;回避的;推托的framework n.构架,框架,结构,6-4,New Words 统一体modular design 标准设计,模块化设计object-oriented 面向对象的stub n.树桩,桩模块give way to 让路,让步trial-and-error n.试错,反复试验malfunction n.故障,出错waterfall model 瀑布模型analogy n.类似,类推after all adv.毕竟stark adv.完全地trial-and-creative 试验并创造的nonstructure 非结构性intuition n.直觉,直觉的知识contradiction n.反驳,矛盾incremental model 增量式模型update v.修正,更新;n.更新stepwise adj.楼梯式的,逐步的prototype n.原型evolutionary prototyping 演化式原型in favor of adv.赞同,有利于throwaway prototyping 抛弃原型iron out 消除;解决困难等documentation n.文件debugging n.调试spreadsheet n.电子制表软件,电子数据表AbbreviationsCASE(computer-aided software engineering)计算机辅助软件工程GUI(Graphical User Interfaces)图形用户界面,6-5,6.1 The Software Life Cycle,6.1.1 The Cycle as a Whole,Figure 6-1 The software life cycle,The most fundamental concept in software engineering is the software life cycle.,软件生命周期是软件工程中最基本的概念。,6-6,6.1.1 The Cycle as a Whole,The software life cycle is shown in Figure 6-1.This figure represents the fact that once software is developed,it enters a cycle of being used and modified that continues for the rest of the softwares life.Such a pattern is common for many manufactured products as well.The difference is that,in the case of other products,the modification phase is more accurately called a repair or maintenance phase because other products tend to move from being used to being modified as their parts become worn.,在图6-1中展示了软件的生命周期。这个图说明了一个事实:一旦软件开发完成,它就进入了使用和修改的循环,并且这个循环将在软件生命期的剩余时间中不断进行。这样的模式对机器制造的产品而言也是很普通的。不同之处在于,对于其他产品,软件工程中的修改阶段要被更精确地称作修理或者维护阶段,因为其他产品由于部件的磨损会有从使用到修改的过程。,6-7,6.1.1 The Cycle as a Whole,Software,on the other hand,does not wear out.Instead,software moves into the modification phase because errors are discovered,because changes in the softwares application occur that require corresponding changes in the software,or because changes made during a previous modification are found to induce problems elsewhere in the software.For example,changes in tax laws may require modifications to payroll programs that calculate withholding taxes,and all too often these changes may have adverse effects in other areas of the program that may not be discovered until some time later.,当然,软件不存在磨损的问题。但是,软件进入修改阶段或者是因为错误被发现,或者是因为要在软件的应用程序中进行修改从而修改了软件,或者是因为先前的改变又引起了软件其他地方出现了新的问题。例如,税务法案的改变导致对计算扣税的工资程序进行修改,而太频繁的修改则会在软件的其他地方引起反面的作用,而这些是不会被立即发现的。,6-8,6.1.1 The Cycle as a Whole,Regardless of why software enters the modification phase,the process requires that a person(often not the original author)study the underlying program and its documentation until the program,or at least the pertinent part of the program,is understood.Otherwise,any modification could introduce more problems than it solves.Acquiring this understanding can be a difficult task even when the software is well-designed and documented.In fact,it is often within this phase that a piece of software is finally discarded under the pretense(too often true)that it is easier to develop a new system from scratch than to modify the existing package successfully,不管因为什么原因软件进入了修改阶段,这个过程需要人们(通常不是原始的作者)研究程序及其文档,直到程序或者至少是相关部分的程序能够被理解。否则,任何的修改将导致比它所解决问题还要更多的问题出现。即使软件有优秀的设计和齐备的文档,理解也是一个很困难的工作。事实上,常常是在这个阶段,一个有用的软件片段最终就被放弃了(常常是这样),而开发一个新的系统比成功地修改现有软件更容易。,6-9,6.1.1 The Cycle as a Whole,Experience has shown that a little effort during the development of software can make a tremendous difference when modifications in the software are required.经验告诉我们,软件开发过程中的一丁点付出,会在软件需要修改的时候带来巨大的不同。,In turn,most of the research in software engineering focuses on the development stage of the software life cycle,with the goal being to take advantage of this effort-versus-benefit leverage.反过来,大多数软件工程的研究都集中于软件生命周期的开发阶段,它们的目标是要利用这个付出与收益的杠杆作用。,6-10,6.1.1 The Cycle as a Whole,The Traditional Development PhaseThe stages within the development phase of the software life cycle are analysis,design,implementation,and testing(Figure 6-2).,软件生命周期的开发阶段包括分析、设计、实现与测试等步骤(如图6-2所示)。,6-11,6.1.1 The Cycle as a Whole,The Traditional Development PhaseAnalysis The development phase of the software life cycle begins with analysis-a major goal being to identify the needs of the user of the proposed system.If the system is to be a generic product sold in a competitive market,this analysis would involve a broad-based investigation to identify the needs of potential customers.If,however,the system is to be designed for a specific user,then the process would be a more narrow investigation.,分析 软件生命周期的开发阶段以分析开始主要目标是确定用户对所提出系统的需求。如果系统是一个在竞争的市场上销售的通用产品,这个分析将会包括一个广泛的调查来发现潜在用户的需要。但是,如果系统是为特殊用户设计的,那么这个过程就是一个更专业的调查。,6-12,6.1.1 The Cycle as a Whole,The Traditional Development PhaseAs the needs of the potential user are identified,they are compiled to form a set of requirements that the new system must satisfy.These requirements are stated in terms of the application rather than in the technical terminology of the data processing community.One requirement might be that access to data must be restricted to authorized personnel.Another might be that the data must reflect the current state of the inventory as of the end of the last business day or that the arrangement of the data as displayed on the computer screen must adhere to the format of the paper forms currently in use.,当潜在用户的要求被确定之后,要将这些要求汇编成新系统必须满足的需求。这些需求是从应用的角度来表述,而不是用数据处理界的技术术语来表达。一种需求可能是对数据的存取必须限制在有权限的人员,另一种可能是当一个工作日结束时,数据必须反映目前的清单状态,或者可能是在计算机屏幕上的数据必须按照用户目前使用的格式来显示。,6-13,6.1.1 The Cycle as a Whole,The Traditional Development PhaseAfter the system requirements are identified,they are converted into more technical system specifications.For example,the requirement that data be restricted to authorized personnel might become the specification that the system will not respond until an approved eight-digit password has been typed at the keyboard or that data will be displayed in encrypted form unless preprocessed by a routine known only to authorized personnel.,系统的需求被确定以后,它们就转化为更具技术性的说明书。例如,关于数据须限制在某些有权限的人的需求,就可能转化为以下规范直到从键盘输入一个被认可的8位密码,系统才开始响应,或者除非经过只有授权的人才知道的例程预处理,否则数据将以加密的形式显示在屏幕上。,6-14,6.1.1 The Cycle as a Whole,The Traditional Development PhaseDesign Whereas analysis concentrates on what the proposed system should do,design concentrates on how the system will accomplish those goals.It is here that the structure of the software system is established.,设计 分析关注这个系统应该做什么,而设计关注这个系统应该怎样来实现目标。正是通过设计建立了软件系统的结构。,6-15,6.1.1 The Cycle as a Whole,The Traditional Development PhaseIt is a well-established principle that the best structure for a large software system is a modular one.Indeed,it is by means of this modular decomposition that the implementation of large systems becomes a possibility.Without such a breakdown,the technical details required in the implementation of a large system would exceed a humans comprehensive powers.,大型软件系统最好的结构是模块化系统,这是一条被充分证实的原则。确实,正是借助模块化的分解方法,大型系统的实现才成为可能。没有这样的分解,在大型系统实现过程中所需要的技术细节可能会超过一个人的理解能力。,6-16,6.1.1 The Cycle as a Whole,The Traditional Development PhaseWith a modular design,however,only the details pertaining to the module under consideration need be mastered.This same modular design is also conducive to future maintenance because it allows changes to be made on a modular basis.(If a change is to be made to the way each employees health benefits are calculated,then only modules dealing with health benefits need be considered.),然而,有了这种模块化设计,仅仅需要熟悉与在考虑中的模块相关的细节。同样,模块化设计对未来的维护是有益的,因为它允许对基本的模块进行修改。(如果要对每个雇员的医疗福利计算方法进行修改,那么仅仅需要考虑处理医疗福利模块。),6-17,6.1.1 The Cycle as a Whole,The Traditional Development PhaseThere are,however,distinctions regarding the concept of a module.If one approaches the design task in terms of the traditional imperative paradigm,modules consist of procedures and the development of a modular design takes the form of identifying the various tasks that the proposed system must perform.In contrast,if one approaches the design task from the object-oriented perspective,modules are seen as objects and the design process becomes that of identifying the entities(objects)in the proposed system as well as how these entities should behave.,但是,有关模块的概念也是有差别的。如果一个人以传统的命令式语言范式的方法来进行设计工作,模块由不同程序组成,而模块化设计则以确定有待实现系统的不同任务的方式进行。相反地,如果一个人从面向对象的角度来完成设计工作,模块就被看成了对象,而设计过程变成了确定有待实现系统中的实体(对象)以及确定这些实体是如何工作的。,6-18,6.1.1 The Cycle as a Whole,The Traditional Development PhaseImplementation Implementation involves the actual writing of programs,creation of data files,and development of databases.,实现 实现包括程序的实际编写、数据文件的建立以及数据库的开发等过程。,6-19,6.1.1 The Cycle as a Whole,The Traditional Development PhaseTesting Testing is closely associated with implementation,because each module of the system is normally tested as it is implemented.Indeed,each module in a well-designed system can be tested independently of the other modules by using simplified versions of the other modules,called stubs,to simulate the interaction between the target module and the rest of the system.Of course,this testing of components gives way to overall system testing as the various modules are completed and combined.,测试 测试与实现紧密联系,因为系统中的每一个模块都要在实现的过程中进行正常测试。确实,通过使用其他模块的简化版本有时称为桩模块,来模拟目标模块和系统其他部分的交互,从而使设计良好的系统中的每一个模块都可以被独立地测试。当然,在各种模块都开发完成并且整合在一起之后,这个组件的测试将让路给整个系统的测试。,6-20,6.1.1 The Cycle as a Whole,The Traditional Development PhaseUnfortunately,the testing and debugging of a system is extremely difficult to perform successfully.Experience has shown that large software systems can contain numerous errors,even after significant testing.Many of these errors may go undetected for the life of the system,but others may cause major malfunctions.The elimination of such errors is one of the goals of software engineering.The fact that they are still prevalent means that a lot of research remains to be done.,不幸的是,成功地进行系统的测试和调试是极其困难的。经验表明,大型的软件系统可能包含众多的错误,甚至是经过关键测试之后。许多这样的错误在软件的生命期中一直潜伏着,但是也有一些会导致关键性的错误。减少这样的错误是软件工程的一个目标。这些错误的普遍存在说明了在这方面还有许多的研究工作要做。,6-21,6.1.1 The Cycle as a Whole,Recent TrendsEarly approaches to software engineering insisted on performing analysis,design,implementation,and testing in a strictly sequential manner.The feeling was that too much was at risk during the development of a large software system to allow for trial-and-error techniques.,软件工程的早期方法坚持要严格地遵守分析、设计、实现以及测试的顺序。在大型软件系统的开发过程中,感觉到采用试错法是在冒着很大的风险进行开发的。,6-22,6.1.1 The Cycle as a Whole,Recent TrendsAs a result,software engineers insisted that the entire analysis of the system be completed before beginning the design and,likewise,that the design be completed before beginning implementation.The result was a development process now referred to as the waterfall model,an analogy to the fact that the development process was allowed to flow in only one direction.,因此,软件工程师坚持应当在设计之前进行完整的系统分析,同样,设计应该在实现之前完成。这就形成了一个现在称为瀑布模型的开发过程,这是对开发过程只允许以一个方向进行的事实的模拟。,6-23,6.1.1 The Cycle as a Whole,Recent TrendsYou will notice a similarity between the four problem-solving phases identified by Polya and the analysis,design,implementation,and testing phases of software development.After all,to develop a large software system is to solve a problem.,你将注意到由Polya提出的解决问题的4个阶段与软件开发的分析、设计、实现和测试阶段的类似性。毕竟,开发一个大型的软件系统是去解决一个问题。,6-24,6.1.1 The Cycle as a Whole,Recent TrendsOn the other hand,the traditional waterfall approach to software development is in stark contrast to the free-wheeling,trial-and-creative problem solving.Whereas the waterfall approach seeks to establish a highly structured environment in which development progresses in a sequential fashion,creative problem solving seeks a nonstructured environment in which one can drop previous plans of attack to pursue sparks of intuition without explaining why.,另一方面,传统软件开发的瀑布模型法与随心所欲的反复试验并创造性地解决问题的方法是完全相反的。瀑布模型法寻求建立一个高度结构化的环境,希望在这个环境中的开发可以顺利地进行,而创造性的问题解决要寻找一个非结构化的环境,希望在这个环境中可以抛弃先前的计划,来追逐思维的火花,而不用解释为什么。,6-25,6.1.1 The Cycle as a Whole,Recent TrendsIn recent years,software engineering techniques have begun to reflect this underlying contradiction as illustrated by the emergence of the incremental model for software development.Following this model,the desired software system is constructed in increments-the first being a simplified version of the final product with limited functionality.,近年来,软件工程技术已经开始反映这种本质的对立了,这可以由软件开发中出现的增量式模型来说明。根据这个模型,所需的软件系统是通过增量模式来构造的首先开发最终产品的简化版本,它只有有限的功能。,6-26,6.1.1 The Cycle as a Whole,Recent TrendsOnce this version has been tested and perhaps evaluated by the future user,more features are added and tested in an incremental manner until the system is complete.For example,if the system being developed is a student records system for a university register,the first increment may incorporate only the ability to view student records.Once that version is operational,additional features,such as the ability to add and update records,would be added in a stepwise manner.,一旦这个版本经过测试、并且也许经过了未来用户的评估,更多的特性就可以添加进去并且进行测试,这样就以一种增量的方式进行,直到完成系统。例如,如果正在开发的系统是为大学登记员设计的学生记录系统,第一次迭代版本仅仅包括浏览学生记录的功能。一旦这个版本可以运行了,其他特性,诸如增加和更新记录的功能,就可以分阶段地添加到系统中了。,6-27,6.1.1 The Cycle as a Whole,Recent TrendsThe incremental model is evidence of the trend in software development toward prototyping in which incomplete versions of the proposed system,called prototypes,are built and evaluated.In the case of the incremental model these prototypes evolve into the complete,final system-a process known as evolutionary prototyping.In other cases,the prototypes may be discarded in favor of a fresh implementation of the final design.This approach is known as throwaway prototyping.,这种增量式模型是软件开发向原型法发展趋势的一个证据在这种方法中,建立并测试的是不完善系统,它也被称为原型,被评估和测试。在增量式模型中,这些原型进化为一个完整的最终系统这个过程称为演化式原型。对于其他情况,原型的抛弃会有利于新的最终设计的实现,这种方法就是抛弃原型。,6-28,6.1.1 The Cycle as a Whole,Recent TrendsAn example that normally falls within this throwaway category is rapid prototyping in which a simple example of the proposed system is quickly constructed in the early stages of development.Such a prototype may consist of only a few screen images that give an indication of how the system will interact with the user and what capabilities it will have.,一个抛弃原型的例子就是快速原型法,在这个方法中,系统的简单版本在开发的早期就被很快搭建起来。这样的原型也许仅仅包含少量界面图片来展示系统怎样与用户交互以及它将具有的功能。,6-29,6.1.1 The Cycle as a Whole,Recent TrendsThe goal is not to produce a working version of the product but to obtain a demonstration tool that can be used to clarify communication between the parties involved.For example,rapid prototypes have proved advantageous in ironing out system requirements during the analysis stage or as aids during sales presentations to potential clients.,我们的目标不是制作产品的有效版本,而是获得一个示范工具,以便阐明有关方面之间的沟通。例如,在分析阶段解决系统的需求问题,或在销售阶段作为向潜在客户演示的辅助,快速原型具有很大的优势,6-30,6.1.1 The Cycle as a Whole,Recent TrendsAnother development in software engineering has been the application of computer technology to the software development process itself,resulting in what is called computer-aided software engineering(CASE).,软件工程领域中另一个发展是计算机技术在软件开发过程本身的应用,这导致了称为计算机辅助软件工程(CASE)的出现。,6-31,6.1.1 The Cycle as a Whole,Recent TrendsThese computerized system

    注意事项

    本文(《计算机专业英语》电子教案第6章.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开