欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    【大学课件】Software Engineering软体工程(英文课件).ppt

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

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

    【大学课件】Software Engineering软体工程(英文课件).ppt

    1,Software Engineering 軟體工程,http:/www.docin.com/sundae_meng,2,Course Objectives,To learn about all the difficulties in developing software so that we can avoid pitfalls and myths in software design To learn about different software processes so that we can choose a suitable one To learn to design high-quality efficient software so that it is usable and maintainable To learn about advanced methods for software engineering,3,Course Contents,Introduction to Software Engineering Software Processes Requirements Engineering Software Design Object-Oriented Software Development Software Testing and Verification Software Project Management Advanced Methods,4,Chapter 1 Introduction to Software Engineering,An overview of software engineering, including software crisis, myths, methods, evolution, and status,http:/www.docin.com/sundae_meng,5,Contents,Software Crisis Software Myths What is Software Engineering Evolution of Software Engineering State-of-art in Software Engineering,6,The statistics Chaos Report,Standish Group 1995 365 IT executives in US companies in diverse industry segments. 8,380 projects,average cost overrun = 189%,average time overrun = 222%.,61% of originally specified features included,?,In Averages 189% of original budget 221% of original schedule 61% of original functionality,7,Symptom of Software Crisis,About US$250 billions spent per year in the US on application development Out of this, about US$140 billions wasted due to the projects getting abandoned or reworked; this in turn because of not following best practices and standards,Ref: Standish Group, 1996,8,Symptom of Software Crisis,10% of client/server apps are abandoned or restarted from scratch 20% of apps are significantly altered to avoid disaster 40% of apps are delivered significantly late,Source: 3 year study of 70 large c/s apps 30 European firms. Compuware (12/95),9,Software products: fail to meet user requirements crash frequently expensive difficult to alter, debug, enhance often delivered late use resources non-optimally,Observed Problems,10,Why is the Statistics so Bad?,Misconception on software development Software myths, e.g., the man-month myth False assumptions Not distinguishing the coding of a computer program from the development of a software product Software programs have exponential growth in complexity and difficulty level with respect to size. The ad hoc approach breaks down when size of software increases.,11,Why is the Statistics so Bad?,Software professionals lack engineering training Programmers have skills for programming but without the engineering mindset about a process discipline Internal complexities Essences and accidents made by Fred. Brooks,12,How is Software usually Constructed ,The requirements specification was defined like this,The developers understood it in that way,This is how the problem was solved before.,This is how the problem is solved now,That is the program after debugging,This is how the program is described by marketing dept.,This, in fact, is what the customer wanted ;-),13,Software Myths (Customer Perspectives),A general statement of objectives is sufficient to get started with the development of software. Missing/vague requirements can easily be incorporated/detailed out as they get concretized. Application requirements can never be stable; software can be and has to be made flexible enough to allow changes to be incorporated as they happen.,14,Software Myths (Developer Perspectives),Once the software is demonstrated, the job is done.,Usually, the problems just begin!,15,Until the software is coded and is available for testing, there is no way for assessing its quality.,Usually, there are too many tiny bugs inserted at every stage that grow in size and complexity as they progress thru further stages!,Software Myths (Developer Perspectives),16,The only deliverable for a software development project is the tested code.,The code is only the externally visible component of the entire software complement!,Software Myths (Developer Perspectives),17,Software Myths (Management Perspectives),As long as there are good standards and clear procedures in my company, I shouldnt be too concerned.,But the proof of the pudding is in the eating; not in the Recipe !,18,Software Myths (Management Perspectives),As long as my software engineers(!) have access to the fastest and the most sophisticated computer environments and state-of-the-art software tools, I shouldnt be too concerned.,The environment is only one of the several factors that determine the quality of the end software product!,19,Software Myths (Management Perspectives),When my schedule slips, what I have to do is to start a fire-fighting operation: add more software specialists, those with higher skills and longer experience - they will bring the schedule back on the rails!,Unfortunately, software business does not entertain schedule compaction beyond a limit!,20,Misplaced Assumptions,All requirements can be pre-specified Users are experts at specification of their needs Users and developers are both good at visualization The project team is capable of unambiguous communication,Ref: Larry Vaughn,21,Usually small in size Author himself is sole user Single developer Lacks proper user interface Lacks proper documentation Ad hoc development.,Large Large number of users Team of developers Well-designed interface Well documented & user-manual prepared Systematic development,Programs,Software Products,Confused with Programs and Products,22,Software Programming Software Engineering,Software programming: the process of translating a problem from its physical environment into a language that a computer can understand and obey. (Websters New World Dictionary of Computer Terms) Single developer “Toy” applications Short lifespan Single or few stakeholders Architect = Developer = Manager = Tester = Customer = User One-of-a-kind systems Built from scratch Minimal maintenance,23,Software Programming Software Engineering,Software engineering Teams of developers with multiple roles Complex systems Indefinite lifespan Numerous stakeholders Architect Developer Manager Tester Customer User System families Reuse to amortize costs Maintenance accounts for over 60% of overall development costs,24,What is Software?,Software is a set of items or objects that form a “configuration” that includes programs documents data . (“Software Engineering- a practitioners approach,” Pressman, 5ed. McGraw-Hill),25,What is Software (ctd.)?,Or you may want to say: Software consists of (1) instructions (computer programs) that when executed provided desired function and performance, (2) data structures that enable the programs to adequately manipulate information, and (3) documents that describe the operation and use of the programs.,26,What is Software (ctd.)?,But these are only the concrete part of software that may be seen, there exists also invisible part which is more important: Software is the dynamic behavior of programs on real computers and auxiliary equipment. “ a software product is a model of the real world, and the real world is constantly changing.” Software is a digital form of knowledge. (“Software Engineering,” 6ed. Sommerville, Addison-Wesley, 2000),27,Unique Characteristics of Software,Software is malleable Software construction is human-intensive Software is intangible and hard to measure Software problems are usually complex Software directly depends upon the hardware It is at the top of the system engineering “food chain” Software doesnt wear out but will deteriorate Software solutions require unusual rigor Software has discontinuous operational nature,28,Casting the Term,The field of software engineering was born in NATO Conferences, 1968 in response to chronic failures of large software projects to meet schedule and budget constraints Since then, term became popular because software is getting more and more important to industry and business but the “software crisis” still persists.,29,What is Software Engineering?,Different focuses for this term exist in various textbooks. Some are listed below. The application of a systematic, disciplined, quantifiable approach to development, operation, and maintenance of software; that is, the application of engineering to software. (IEEE Standard Computer Dictionary, 610.12, ISBN 1-55937-079-3, 1990),30,What is Software Engineering? (ctd),Software engineering is concerned with the theories, methods and tools for developing, managing and evolving software products. (I. Sommerville, 6ed.) A discipline whose aim is the production of quality software, delivered on time, within budget, and satisfying users' needs. (Stephen R. Schach, Software Engineering, 2ed.) Multi-person construction of multi-version software (Parnas, 1987),31,The practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate and maintain them (B.W. Boehm) The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines (F.L. Bauer),What is Software Engineering? (ctd.),32,The technological and managerial discipline concerned with systematic production and maintenance of software products that are developed and modified on time and within cost constraints (R. Fairley) A discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers (Ghezzi, Jazayeri, Mandrioli),What is Software Engineering? (ctd.),33,Other Definitions of Software Engineering,“A systematic approach to the analysis, design, implementation and maintenance of software.” (The Free On-Line Dictionary of Computing) “The systematic application of tools and techniques in the development of computer-based applications.” (Sue Conger in The New Software Engineering) “Software Engineering is about designing and developing high-quality software.” (Shari Lawrence Pfleeger in Software Engineering - The Production of Quality Software),34,So, Software Engineering is ,Scope study of software process, development principles, techniques, and notations Goals production of quality software, delivered on time, within budget, satisfying customers requirements and users needs,35,Software Process,Waterfall life cycle Prototyping Spiral model Automatic synthesis model Object-oriented model 4 GL model,36,Traditional Software Engineering,Software Systems,Data,Function,Behavior,Entity-Relation Diagram,Data Flow Diagram,State Transition Diagram,37,Object-Oriented Software Engineering,Software Systems,Function,Object,Behavior,Data Flow Diagram,Class Diagram,State Chart,38,Evolution of Software Industry,Independent Programming Service Software Product Enterprise Solution Packaged Software for the Mass,39,Independent Programming Services (Era 1),Feb 1955, Elmer Kubie and John Sheldon founded CUC the First Software Company that devoted to the construction of software especially for hardware company. Promoting Software Industry: two Major Projects, SABRE, airline reservation system, $30 million. SAGE, air defense system (19491962) 700/1000 programmers in the US. $8 billion.,40,Software Product (Era 2),1964 Martin Goetz developed Flowchart Software - Autoflow for RCA, but rejected. Sale to the customer of RCA & IBM. Develop and market software products not specifically designed for a particular hardware platform. MARK IV, a pre-runner for the database management system. IBM unbundled software from hardware.,41,Enterprise Solutions (Era 3),Dietmar Hopp. IBM Germany Systems, Applications and Products (SAP) $3.3billion (1997) Setting up shop in Walldorf, Germany. Marked by the emergence of enterprise solutions providers. e.g. Baan 1978. Netherlands. $680 million (1997) Oracle 1977. U.S. Larry Ellison. ERP, $45 billion (1997),42,Packaged Software for the Masses (Era 4),Software products for the masses. 1979. VisiCalc, Spreadsheet program. August 1981: The deal of the century. Bill Gates bought the first version of the OS from a small firm called Seattle Computer Products for $50,000 without telling them it was for IBM. The development of the IBM PC, 1981, initiated a 4th software era. PC-based mass-market software. Few additional services are required for installation. Microsoft reached revenues of $11.6 billion. Packaged Software Products, $57 billion (1997),43,Internet Software and Services (Era 5),Internet and value-added services period, 1994. W with Netscapes browser software for the internet.,44,Object-Oriented,Ad hoc,Data flow-based,Data structure-based,Control flow-based,Evolution of Design Techniques,45,Related Knowledge,46,IT Market,Hardware products,Hardware maintenance,Software Products & Services,Processing Services and Internet Services,Embedded Software,Professional Service,Software Products,Enterprise Solution,Packaged Mass-Market Software,47,Software Products and Services,Enterprise Solutions IBM Oracle Computer Associates SAP HP Fujitsu Hitachi Parametric Technology People Soft Siemens,Packaged Mars-Market Software Microsoft IBM Computer Associates Adobe Novell Symantec Intuit Autodesk Apple The Learning Company,Professional Software Services Anderson Consulting IBM EDS CSC Science Applications Cap Gemini Hp DEC Fujitsu BSO Origin,48,Software Engineering Today?,Organizations “go with what has worked in the past” Everyone is too busy getting product out the door to spend time in education or training or addressing these problems effectively “Out of date” practices become institutionalized,49,Software Engineering Today?,Few people know, or can integrate, best practices Unable to adopt and utilize proven methodologies in timely fashion Although significant improvements have been made in specific areas, the rapidly evolving nature of the software industry has resulted in little overall improvement in the overall situation.,50,Not Crisis, but a Chronic Problem,The crisis persists After 35 years later, the software “crisis” is still with us Major problems are still the same: poor quality (correctness, usability, maintainability, etc) over budget delivered late, or not at all It is not a crisis but a chronic problem It becomes a persistent, chronic condition that software industry has to face with,51,Whats Wrong?,Does software engineering have no progress at all? Not quite true. We have indeed seen a lot of improvements, e.g. high level programming, object-oriented technology, etc. But it does not achieve its promise, why? production of fault-free software, delivered on time and within budget, that satisfies the users needs, and is easy to maintain, etc.,52,A More Close Look,The comparison with 1995s report does show that there is some progress in the past eight years.,53,So, Whats the Problem?,Software issues: software indu

    注意事项

    本文(【大学课件】Software Engineering软体工程(英文课件).ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开