软件工程英文答案
- 格式:doc
- 大小:372.62 KB
- 文档页数:13
1.Which question no longer concerns the modern softwareengineer? (a)现如今的软件工程师不再考虑以下哪个问题?a. Why does computer hardware cost so much? 计算机硬件为什么如此昂贵b。
Why does software take a long time to finish?c。
Why does it cost so much to develop a piece of software?d. Why can’t software errors be removed from productsprior to delivery?2.Software deteriorates rather than wears out because(c)软件通常是变坏而不是磨损的原因是a。
Software suffers from exposure to hostile environmentsb。
Defects are more likely to arise after software has been used oftenc. Multiple change requests introduce errors in component interactions在组件交互中需求发生变化导致错误d. Software spare parts become harder to order3.Most software continues to be custom built because(d)大多数软件产品是定制的原因是a。
Component reuse is common in the software worldb. Reusable components are too expensive to usec. Software is easier to build without using someone else’s components.d. Off the shelf software components are not commonly available 现成的软件组件不常用4.The nature of software applications can be characterized by their information(d)软件应用的本质可以被特色化,通过他们信息的a. complexityb。
软件工程双语答案1. 什么是软件工程? (What is Software Engineering?)软件工程是一门研究如何以系统化、规范化和可预测的方式开发和维护软件的学科。
它涉及到对软件的需求分析、设计、编码、测试、部署和维护等方面的活动。
软件工程旨在通过工程原理和方法来提高软件开发的质量和效率。
2. 为什么软件工程如此重要? (Why is Software Engineering Important?)软件在现代社会中已经无处不在,它们贯穿于我们的日常生活和工作中。
由于软件的重要性,软件工程变得至关重要。
软件工程的正确实践确保软件在开发和维护过程中的高质量和可靠性。
软件工程还帮助开发团队更好地理解需求、规划项目、管理进度和标准化开发过程,以确保软件项目的成功完成。
3. 软件工程的核心原则有哪些? (What are the Core Principles of Software Engineering?)下面是软件工程的核心原则:•可行性研究 (Feasibility Study): 在项目开始之前,应该进行可行性研究,以评估项目的可行性和风险。
•需求规格说明 (Requirement Specification): 需要清晰、详尽的需求规格说明,以便开发团队准确理解客户的需求。
•设计 (Design): 设计阶段是根据需求规格说明创建软件架构和用户界面的过程。
•编码 (Coding): 编码是将设计转化为实际可执行代码的过程。
在编码过程中,应遵循编码标准和最佳实践。
•测试 (Testing): 测试是评估软件质量和是否满足需求的过程。
测试应该覆盖所有的功能和边界情况。
•部署与维护 (Deployment and Maintenance): 软件的部署和维护需要进行系统化的过程,以确保软件可以稳定运行,并及时修复和更新软件。
4. 软件工程中常用的开发模型有哪些? (What are the Common Development Models in Software Engineering?)软件工程中常用的开发模型有以下几种:•瀑布模型 (Waterfall Model): 瀑布模型是一种顺序开发模型,其中每个阶段依序进行,前一阶段的输出作为下一阶段的输入。
参考答案Chapter 1 Multiple Choice 1-5 DCDBA 6-10 CADBA True/False Questions 1-5 TFTFF 6-10 TFTFT Fill in the Blanks 1.mobile computing device lightweight portable wireless 2.music 3.ARM x86 4.iOS 5.Tablets and phablets 6.books 7.mobile operating system Google 8.smartphone 9.wireless 10.carputers. Chapter 2 Multiple Choice 1-5 BDDCC 6-10 BCBCD True/False Questions 1-5 FTFTF 6-10 FTTFF Fill in the Blanks 1.analysis implementation 2.The Spiral 3. create a project development plan 4.test applications, train users 5. The Y2K problem the introduction of the EURO dentify the system’s components and their interrelationships. 6. i d entify the system’s components and their interrelationships7. extract abstractions. 8.Database reengineering 9. procedural abstractions 10. reverse engineering Chapter 5 Multiple Choice 1-5 BBCDC 6-10 ABAAD True/False Questions 1-5 FFTTT 6-10 TTTTT Fill the Blanks 1.reasoning; knowledge; planning; natural language processing 2.theory research; specialized knowledge application 3.Expert 4.social intelligence; creativity; general intelligence 5.Knowledge-representation 6.experience 7.Regression 8.Robotics 9.humanoid robot Leonardo’’s robot 10.LeonardoChapter 6 1-5 DABCC 6-10 CDBDA 1-5 TFTTT 6-10 TFTTF 1.Big data 2.variety 3.data from the physical world 4.sensors 5.data 6.first 7.simulations 8.share nothing system 9.parallel 10.velocity. Chapter 8 Multiple Choice 1-5 BBDCC 6-10 ACCDB True/False Questions 1-5 FFFTF 6-10 TTTFF Fill the Blanks 1.Internet of Things 2.Mobile internet 3.embedded system 4.wireless sensor network (WSN) 5.ZigBee 6.RFID 7.multi-hop wireless 8.tags 9.sensor 10.smart system 。
软件工程选择题 (中英文)1、软件生命周期管理1.1 什么是软件生命周期?答案:软件生命周期是指软件从开始开发直到退役的整个过程,包括需求分析、设计、编码、测试、部署和维护等阶段。
1.2 软件生命周期中的主要阶段有哪些?答案:- 需求分析阶段:确定软件系统需求、功能和性能等方面的要求。
- 设计阶段:根据需求分析的结果设计出软件系统的结构和组件。
- 编码阶段:通过编写源代码实现系统的功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试等。
- 部署阶段:将软件系统部署到目标环境中,让用户可以使用。
- 维护阶段:对软件进行修复bug、升级和改进等操作,以保证系统的正常运行。
1.3 软件生命周期管理的目标是什么?答案:软件生命周期管理的目标是通过规范的过程和方法来控制软件开发过程,从而提高软件质量、降低风险和成本,以及提高项目交付的可靠性和时间性。
2、需求工程2.1 什么是软件需求?答案:软件需求是对软件系统所需要具备的功能、性能、可靠性和其他特性的描述和规定。
2.2 软件需求的分类有哪些?答案:- 功能需求:描述系统应具备的功能和行为。
- 非功能需求:描述系统性能、可靠性、可用性等方面的要求。
- 用户需求:描述用户对系统的期望和需求。
- 系统需求:将用户需求转化为系统可以理解和实现的需求。
- 验证需求:用于验证软件系统是否满足用户需求的需求。
2.3 软件需求工程的关键活动有哪些?答案:- 需求获取:通过与用户沟通、文档分析等方式获取需求。
- 需求分析:对需求进行分析,识别需求的关联和冲突等问题。
- 需求规格化:将需求用规格化的方式进行描述,如使用用例、功能规格说明等。
- 需求验证:对需求进行验证,包括需求审查、原型验证等。
- 需求管理:对需求进行跟踪和变更管理,确保需求的有效性和一致性。
3、软件设计3.1 什么是软件设计?答案:软件设计是将需求转化为具体的软件系统结构和组件的过程。
2011~2012学年第二学期期末考试《软件工程(双语)》复习范围注意事项:每个学生必须写上本人的学号、任课教师姓名、姓名、班级,另外所有的答案必须全部写在答卷纸上请不要写的试卷上,试题及答卷一同交上。
Part 1 Select the most appropriate choice to answer the following questions or to complete following statements. (1*15 =15 )1.. Which one of following statement about Client-server architecture is not correct? ca)Set of stand-alone servers which provide specific services such as printing, datamanagement, etc.b)Set of clients which call on these services.c)Most of the data is stored in the most important server.d)Network which allows clients to access servers..2. . Several techniques of Requirements discovery are covered in this book. Which one is not the case? aa)Model-driven engineeringb)Scenariosc)Interviewingd)EthnographyPart 2 Mark the right statement √, the wrong statement×(1*15=15)1.In the software architecture design,using large-grain components improvesperformance and maintainability.2.According Lehman and Belady's ‘laws’ , A program that is used in a real-worldenvironment must necessarily change, or else become progressively less useful inthat environment.Part 3 Fill the blankets: (1*15=15)1.the attributes of good software are are Maintainability , Dependability,Efficiency , Acceptability2.General issues that affect most software are heterogeneity , Business and social change ,Security and trust .3.The reasons of software change are 1 New requirements emerge when the software isused ,The business environment changes ,Errors must be repaired ,Newcomputers and equipment is added to the system;The performance or reliability of the system may have to be improved.4.Generic process models are The waterfall model , Incremental development ,Reuse-oriented software engineering.5. A structured set of activities required to develop a software system, which areSpecification , Design and implementation, Validation _, Evolution.Part 4 Answer the following questions in brief. (4*5=20 )1.What are the program testing goals?Program testing goalsTo demonstrate to the developer and the customer that the software meets its requirements.For custom software, this means that there should be at least one test for everyrequirement in the requirements document.For generic software products, it means that there should be tests for all of the systemfeatures,plus combinations of these features, that will be incorporated in the product release.To discover situations in which the behavior of the software is incorrect, undesirable or does not conform to its specification.Defect testing is concerned with rooting out undesirable system behavior such as system crashes, unwanted interactions with other systems, incorrect computations and data corruption.2.What is architectural patterns?Architectural patterns are a means of reusing knowledge about generic system architectures. They describe the architecture,explain when it may be used and describe its advantages and disadvantages.3.What is the difference between software engineering and computer science?Computer science is concerned with theory and fundamentals; software engineering isconcerned with the practicalities of developing and delivering useful software4.What differences has the web made to software engineering?The web has led to the availability of software services and the possibility of developing highly distributed service-based systems.Web-based systems development has led to important advances in programming languages and software reuse.5.What is Software architecture design?Software architecture designThe design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural designThe output of this design process is a description of the software architectureThe architecture of a packing robot control system6.What is Path testing?The objective of path testing is to ensure that the set of test cases is such that each path through the program is executed at least onceBinary search flow graphPart 5 Solve the following problems(30)1.(5) Based on your experience with a bank A TM, draw an activity diagram that modelsthe data processing involved when a customer withdraws cash from the machine.2.(5) Develop a sequence diagram showing the interactions involved in a application.3.(5) Design the application architecture using the MVC pattern.4.(5)Design a set of test data to accomplish the path testing about the following program(Figure 1).5.(10) Based on the statechart which models a application, describe the whole process indetail.。
Lecture 1 An Introduction to Software Engineering1 what does software engineering concern?1) Software engineering is concerned with theories, methods and tools for professionalsoftware development.2) Software engineering is concerned with cost-effective software development.2 What is software?Software includes:①computer programs②data structures③documents3 What is the two types of software productsGeneric software(通用软件) and custom software(定制软件)4 The three key elements of a successful software project are:on time, within budget, satisfies the user’s needs5 Generic activities in all software processes are:Specification(描述), Development(开发), Validation(有效性验证), Evolution(进化)6 The attributes of good software include:Maintainability(可维护性), Dependability(可依赖性), Efficiency(有效性), Acceptability(可接受性)Lecture 2 Software Processes1 What is a software process modelA software process model is an abstract representation of a software process. It presents a description of a process from some particular perspective.2 Draw the graphic presentation of Waterfall model and describe its character.1)这种模型把软件过程划分成几个顺序的阶段。
软件工程考研英语真题答案软件工程考研英语真题答案软件工程考研英语真题一直是考生们备考过程中的重点之一。
在考试中,考生需要通过阅读理解、完型填空、翻译等题型来测试他们的英语水平。
本文将为大家提供一些软件工程考研英语真题的参考答案,希望能对大家备考有所帮助。
阅读理解题答案:1. A2. B3. C4. D5. A解析:这篇文章主要介绍了软件工程中的敏捷开发方法。
敏捷开发方法是一种迭代和增量的开发方法,通过灵活的合作和快速的反馈来满足客户需求。
根据文章内容,选项A、B、C、D分别对应了敏捷开发方法的四个核心原则:个体和互动重于流程和工具、工作软件重于详尽的文档、客户合作重于合同谈判、响应变化重于遵循计划。
因此,答案为A、B、C、D、A。
完型填空题答案:1. C2. B3. A4. D5. C6. B7. D8. A9. C10. B解析:这篇文章主要讲述了软件测试中的一些常见问题。
根据文章内容,选项C、B、A、D、C、B、D、A、C、B分别是填入空白处的正确答案。
这些选项涵盖了文章中提到的各个方面,如测试策略、测试用例设计、缺陷管理等。
因此,答案为C、B、A、D、C、B、D、A、C、B。
翻译题答案:1. 软件工程是一门跨学科的学科,涵盖了计算机科学、管理学、心理学等多个领域。
2. 软件工程的目标是通过系统化的方法,以保证软件的质量、可靠性和效率,满足用户的需求。
3. 软件工程师需要具备扎实的编程能力、良好的沟通能力和团队合作精神。
4. 软件测试是软件工程中的重要环节,可以帮助发现和修复软件中的缺陷。
5. 敏捷开发方法在软件工程领域得到了广泛应用,它强调快速迭代和灵活响应客户需求。
解析:这些翻译题主要涉及软件工程的基本概念和方法。
根据题目内容,正确的翻译分别是:Software engineering is an interdisciplinary discipline that covers multiple fields such as computer science, management, and psychology. Thegoal of software engineering is to ensure the quality, reliability, and efficiency ofsoftware and meet user needs through systematic methods. Software engineers need solid programming skills, good communication skills, and teamwork spirit. Software testing is an important part of software engineering, which can help identify and fix defects in software. Agile development methods have been widely used in the field of software engineering, emphasizing rapid iteration and flexible response to customer needs.通过以上的参考答案,希望能够帮助大家更好地理解和备考软件工程考研英语真题。
软件工程选择题 (中英文)软件工程选择题 (中英文)=========================1.What is the purpose of software engineering?软件工程的目的是什么?A.To develop high-quality software efficiently and effectively.高效、有效地开发高质量的软件。
B.To solve complex problems using computer programs.使用计算机程序来解决复杂的问题。
C.To design user-friendly interfaces for software applications.设计用户友好的软件界面。
D.To ensure the security and privacy of software systems.确保软件系统的安全和隐私。
2.What is the software development life cycle (SDLC)?软件开发生命周期(SDLC)是什么?A.It is a process for designing and building software systems.这是一种设计和构建软件系统的过程。
B.It is a set of software engineering practices and methodologies.这是一套软件工程实践和方法论。
C.It is a framework for managing and controlling software projects.这是一个管理和控制软件项目的框架。
D.It is a systematic approach to developing software products.这是一种系统化的开发软件产品的方法。
3.What is the mn goal of requirements engineering?需求工程的主要目标是什么?A.To identify and document user needs and system requirements.确定和记录用户需求和系统要求。
EXERCISES1.Multiple choices.(1)Typically,the maintenance phase spans . a.1 or 2 years b.2 or 3 years c.3—4 years d.5—10 years(2)Analysis activities of software maintenance involve . a.understanding the scope of a desired change b.understanding the effect of a desired change c.understanding the constraints on making the change d.redesigning the product(3)Consumption of the total life-cycle effort in software maintenance is that in software development. a.less than b.larger than c.equal or less than d.equal or larger than(4)Supporting documents include . a.user’s manual b.design specification c.principles of operation d.test plan(5)In an unmaintainable product it is possible to reimplement a module or subsystem than to modify the existing version. a.more difficult b.easierc.more expensive d.less expensive(6)Correction of a software problem may reinitiate the development cycle in the phase. a.development b.implementation c.analysis d.design(7)Maintenance activities include . a.making enhancements to software products b.developing a new software product c.correcting problems d.adapting products to new environments(8)Enhancing a software product may consume percent of the total life-cycle effort. a.70 b.60 c.50 d.42(9)Adaptation of software to a new environment may involve . a.modifying the software to accommodate a new telecommunications protocol b.moving the software to a different machine c.providing mew functional capabilities d.modifying the software to accommodate an additional disk drive(10)All of software maintenance tasks must be accomplished using a systematic,orderly approach to .a.careful redesign b.redocumentationc.reimplementation d.revalidation2.Fill in the blanks with appropriate words or phrases.(1)After a software product has been delivered to the customers should be provided.(2)Updated versions of the software must then be distributed to .(3)Problem correction involves to correct errors.(4)Design during maintenance involves to incorporate the desired changes.(5)Software maintenance is a of the software development cycle.(6)Primary goal of software development should be production of .(7)The product of software delivered to the customer at the end of the development cycle is only .(8) are potentially useful for software maintenance.(9)A small change in the source code often requires to the test suite.(10)The primary product attributes of software maintainability include .a.modification and revalidation of softwareb.all of the tools and techniques used to develop softwarec.software maintenanced.maintainable software systemse.clarity,modularity,and good internal documentation of source codef.various customer sitesg.extensive changesh.microcosmi.the initial version of the systemj.redesigning the product。
一、写出下列缩写英文的中文涵义[30T]CFD DFD OOASA SD SP CMM CMMI UMLCASE XPC/S B/SA TAM PDL SQA MVC CRC MBSCBSD GUISQLMTTR MTTF MTBF FTR PERT SCM CPMRMMP【参考答案】计算流体动力学(CFD)Computational Fluid Dynamics数据流图(DFD)Data FlowDiagram面向对象分析方法(OOA)Object—Oriented Analysis结构化分析方法(SA) Structured Analysis结构化设计(SD)Structureddevise结构化编程(SP)Structured Programming成熟度模型(CMM)CapabilityMaturity Model能力成熟度模型集成(CMMI) Capability Maturity Model Integration统一建模语言(UML)Unified Modeling Language计算机辅助软件工程(CASE) Computer Aided Software Engineering极限编程(XP)ExtremeProgramming客户机/服务器网(C/S) Client/Server浏览器和服务器结构(B/S)Browser/Server构架权衡分析方法(ATAM)Architecture Tradeoff AnalysisMethod页描述语言(PDL)Program DesignLanguage软件质量保证(SQA)SoftwareQualityAssurance模型—视图-控制器(MVC)ModelView Controller循环冗余码校验(CRC)Cyclical RedundancyCheck相互广播系统(MBS)Mutual BroadcastingSystem基于构件的软件开发(CBSD)Component—Based SoftwareDevelopment图形用户界面(GUI)Graphical User Interface结构化查询语言(SQL)Structured Query Language平均恢复前时间(MTTR)Mean TimeTo Restoration平均失效前时间(MTTF)MeanTimeTo Failure平均无故障时间(MTBF)Mean Time Between Failure正式技术复审(FTR)Formal Technical Review计划评审技术(PERT) Program EvaluationAnd Review Technique软件配置管理(SCM)Software Configuration Management关键路径方法(CPM)Critical Path Method二、概念[34][1]在《计算机科学技术百科全书中》,对计算机软件作出如下定义:计算机软件指计算机系统中的程序和文档,前者是计算任务的处理对象和处理规则的描述;后者是为了便于了解程序所需的阐述性资料。
14. The prototyping approach requires frequent interaction between users and software developers and is applicable to () systems.A. Demand is uncertainB. demand-determinedC. Management informationD. Decision support15. The three basic control structures of a program are ().A. Procedures, subroutines, and subprogramsB. Order, selection, and repetitionC. Recursion, iteration, and backtrackingD. Calls, returns, and transfers16. The main difference between structured and unstructured maintenance is ().A. Is the software structuredB. Whether the software configuration is completeC. Procedural integrityD. Document integrity17. Below is the flow chart of the module under test. The test data are as follows: A=1, B=0, X=3; A is 2, B is 1, and X is 1. Determine which level of logical coverage follows :().A. Determine coverageB. Statement coverageC. Decision/conditional coverageD. Condition covering18. A module () is defined as a collection of all modules that are affected by a judgment within that module. [communication university of China, 2013] A. Control fieldB. scopeC. The width of theD. interface19. The data structure-oriented design method (Jackson method) is a formalized method for (). [communication university of China, 2013]A. The system designB. The detailed designC. The software designD. coding20. The structured design approach is also commonly referred to as () oriented design.A. The data flowB. Data encodingC. The databaseD. The data structure21. The task of the detailed design phase of the software is ().A. Algorithm designB. Functional designC. Call relationship designD. Input/output design22. Each process in DFD has at least ().A. An input streamB. An output streamC. Multiple input-output streamsD. An input-output stream23. The system flow chart is generally used to describe () in the feasibility analysis.A. Current operating systemB. Current logical modelC. The target systemD. The new system24. () tools are not used in the detailed software design process.A. Decision tableB. IPO figureC. PDLD. DFD diagram25. () describe the functions, performance and user interface of the software in detail so that users can know how to use the software.A. Summary design specificationB. Detailed design specificationC. The user manualD. User demand statement26. The car has an engine. The relationship between the car and the engine is ().A. General - specificB. Whole partC. Classification relationshipD. A master-slave relationship27. Object-oriented design is the process of ().A. Software implementationB. Needs to establishC. Establish the problem domain modelD. Establish the solution domain model28. In change control, () can be used to ensure that concurrent changes are made by different users.A. Asynchronous controlB. Synchronization controlC. Access controlD. The baseline control30. Object-oriented methods have many characteristics, such as the software system is composed of objects; (a); Objects can only communicate with each other by passing messages, and so on.A. The development process is based on functional analysis and functional decompositionB. Emphasize the importance of demand analysisC. The objects are divided into classes, each of which defines a set of data and methodsD. Make adjustments to existing classes31. Side effects of software maintenance refer to ().A. Development errorsB. Implicit errorC. Error caused by software modificationD. Run time error32. The main task of detailed software design is to determine the () for each model.A. Algorithms and data structures usedB. External interfaceC. functionD. programming33. To improve the independence of the module, it is best to () inside the module.A. Logical cohesionB. Time togetherC. The function of cohesionD. Communication cohesive35. The end result of the requirements analysis is to produce ().A. Project development planB. Requirements specificationC. Design specificationD. Feasibility analysis report36. The feasibility study involves a needs analysis.A. in-depthB. detailedC. A thoroughD. Simplified or compressed37. The () in the software test method belongs to the static test method.A. The black box methodB. Path coverageC. Error thatD. Artificial detection38. In software development, the structured design method is used for ().A. Test case designB. The profile designC. The program designD. The detailed design39. Software in accordance with the design requirements, under specified time and conditions to achieve failure, continuous operation of the quality characteristics of the requirements called ().A. availabilityB. reliabilityC. correctnessD. integrity40. The following documents are relevant to the maintainer.A. Software requirements specificationB. Project development planC. Summary design specificationD. Operation manualFills up the topic1. In software project management, risk can be divided into: project risk, "retain" and "retain".2.RUP emphasizes on having and having for software development.3. The capability maturity levels defined by the capability maturity model (CMM) include: initial, retain, defined, retain, and continuous optimization.4. A typical phase of the software life cycle is divided into: retain, retain, requirements analysis, outline design, detail design, coding, testing, and retain.5. Debugging can be understood as the intellectual process of associating symptoms with.6. Types of data flow mainly include.True or false1. The information modeling method is to establish the information model from the perspective of data. The most commonly used method to describe the information model is e-r diagram. (a)2. The basic building block of a use case model is the relationship between use cases, roles, and use cases. (a)3. Object-oriented development method regards process as the most basic element, which is the core of analyzing and solving problems. (a)5. In the process of software development, if you can delay the exposure of errors, the cost of fixing and correcting errors will be reduced. (a)6. Most of the work in software maintenance is caused by changes in user requirements.7.In white box testing, test cases that satisfy conditional combination coverage also meet path coverage requirements.(a)8. Software refers to the programming language written by the program, software development is actually writing program code. (a)9. The software design principles of modularity, information hiding, abstraction and progressive refinement help to produce software products with high cohesion and low coupling. (a)10. A data dictionary is a detailed definition of the data flow, process, data store, source and destination of data in a data flow diagram. (to)11. Programming languages should be chosen at software profile design time. (a)12. Risks can be divided into several categories according to the scope of impact of risks, among which project complexity, scale and structural uncertainty are technical risks. (a) 13. In object-oriented software development, objects are instances of classes, and classes are templates for generating objects. (a)14. The feasibility study further investigates whether there are feasible solutions to the problems identified in the problem analysis phase. (a)15. During the overall design, the connection between modules should be strengthened. (to)17. Documentation is the determinant of software maintainability. (to)18. Most of the work in software maintenance is caused by changes in user requirements. (to)19.A good test case is one that finds errors that have not yet been discovered. (to)20. A well-designed software system is characterized by low cohesion and high coupling. (to)21. The object-oriented method takes the class as the most basic element, which is the core of analyzing and solving problems. () [22. UML is a modeling language, not a modeling method.Noun problem1. Brief design [communication university of China 2014]2. Problem analysis chart PAD[communication university of China 2014]3.UML[communication university of China 2014]4. polymorphism5. Boundary value analysis6. Software reengineering7. Information hiding [8. Black box test [9. modular10. cohesion11. abstract12. The data dictionary13. Software project management14. The document15. The incremental model16. Program portability17. coupling18. Reuse [19. Data flow diagramShort-answer questions1. Describe the role of documentation in software engineering.2. Describe briefly the advantages and disadvantages of the waterfall model.3. What is a test and a test?4. What are the tasks at each stage of the software life cycle?5. What is an abstract class? What are the benefits of sometimes using abstract classes when modeling?7. What are the three models of object-oriented modeling, what are their main functions, and which UML diagrams can be used to describe them?8. What is a data flow diagram, what does it do, what are the basic symbols and what do they mean?9. Try to analyze the advantages and disadvantages of waterfall model.10. Choose four of the seven fundamental theorems of software engineering and give a brief description of each of them.11. What is software engineering? The basic principles and objectives of software engineering are briefly described.12. What is software configuration management? What are the main tasks?13. What are the four phases of dynamic testing? Please brief us on the main tasks of each phase.14. What are the characteristics of demand analysis?15. What are the main software development methods?16. According to the waterfall model, order the following tasks: acceptance testing, project planning, unit testing, requirements review, cost estimation, overall design, design review, market research, detailed design, system testing, implementation, and preparation of requirements specifications.Integrated word problem2. Means of transport are divided into air, land and water vehicles, air vehicles are divided into passenger aircraft, cargo aircraft, special aircraft; Land vehicles are divided into trains, cars, trains and cars are divided into buses, freight cars, water vehicles have ships, ships are divided into passenger ships, freighters, passenger and cargo hybrid ships. Set up the object model of the vehicle.4. Answer the questions according to the following statements. [communication university of China, 2013]A movie rental store wanted to develop computer software to manage its day-to-dayoperations. Its main job every day is to receive customers to lend and return films. There are two kinds of films in the store: comedy and horror. When a customer wants to rent a video, the clerk will look up the customer list, and if found, the customer's name and previous rental records will be displayed. The clerk then looks for the inventory record, and if it is still in the store, a rental record will be generated containing the disc number, date, daily rental, and so on. The clerk then records the lease in the customer's name. When the customer returns the DVD, the clerk finds the customer record and enters the DVD number. If a rental record of the DVD is found, the rental will be calculated based on the date of check out and return, daily rental and other information. (1) please determine the classes and objects according to the natural language description of the above software requirements;(2) establish a complete object model (including classes, associations, attributes and services).。
04上半年系统分析师英文真题、译文及答案[1]Developing reliable software on time and within (1)represents a difficult endeavor for many organizations.Usually business solutions have three main aspects:people, (2), and technology.The maion reason for failing software projects has little to do with technology and tools ,and much to do with lack of process (3). Experience has shown that introducing new technology and tools in an immature or undisciplined environment is likely to increase the chaos. CASE tools are not enough ."A fool with a tool is still a fool!"Structured method was the first wave of the software industry. This was the beginning of transforming software development from a “(4)industry”to mass production.Software process movement if the second wave in the software industry.The process maturity movement prepares the way for the third wave of the software industry:”software industrialization”.Software development will become like an assembly and manufacturing process. A critical enabling factor is a disciplined software engineering process with predictable quality, (5)and functionality.(1)A.forecast B.preparation C.budget D.economy(2)A.process B.skill anization D.interface(3)w B.discipline C.plan D.evaluation(4)A.college B.family C.workshop D.cottage(5)A.plan B.schedule C.effort D.product参考译文对很多组织来说,在给定的时间和预算范围内开发可靠的软件,意味着艰难的努力。
Chapter1Section1.11Which question no longer concerns the modern software engineer?A)Why does computer hardware cost so much?B)Why does software take a long time to finish?C)Why does it cost so much to develop a piece of software?D)Why can't software errors be removed from products prior to delivery? Section1.12Software is a product and can be manufactured using the same technologies used for other engineering artifacts.A)TrueB)FalseSection1.13Software deteriorates rather than wears out becauseA)Software suffers from exposure to hostile environmentsB)Defects are more likely to arise after software has been used oftenC)Multiple change requests introduce errors in component interactionsD)Software spare parts become harder to orderSection1.35Which of the items listed below is not one of the software engineering layers?A)ProcessB)ManufacturingC)MethodsD)Tools 第一章第1.1节1哪些问题不再涉及的现代软件工程师吗?A)计算机硬件成本为什么这么多呢?B)为什么软件需要很长的时间来完成吗?C)为什么花费这么多的软件开发一块呢?D)软件错误,为什么不能被删除,从产品交付之前?第1.1节2软件是一种产品,可以使用相同的技术用于其他工程文物制造。
习题参考答案Exercises(Homework): P251.3 What are the four important attributes that all professional software should have? Suggest four other attributes that may sometimes be significant.Answer:Fou.importan.attribute.ar.maintainability.dependability.performanc. ability.Othe.attribute.tha.ma.b.significan.coul.b.reusabilit.(ca .i.b.reuse.i.othe.applications).distributabilit.(ca.i.b.distribute.ov wor.o.processors).portabilit.(ca.i.operat.o.multipl.platform.e. .lapto.an.mobil.platforms.an.inter-operabilit.(ca.i.wor.wit..wid.rang .o.othe.softwar.systems).Decomposition.o.th..ke.attribute.e.g.dependabilit.decompose.t.securit y.safety.availability.etc.i.als..vali.answe.t.thi.question.2.1Giving reasons for your answer based on the type of system being developed, suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems:• A system to control anti-lock braking in a car• A virtual reality system to support software maintenance• A university accounting system that replaces an existing system • An interactive travel planning system that helps users plan journeys with the lowest environmental impactAnswer:Plan-drive.processe.ar.processe.wher.al.o.th.proces.activitie.ar.pl anne.i.advanc.an.progres.i.measure.agains.thi.plan.1.Anti-loc.brakin.syste.Thi.i..safety-critica.syste.s.require..lo.o .up-fron.analysi.befor.implementation.I.certainl.need..plan-drive.app roac.t.developmen.wit.th.requirement.carefull.analysed..waterfal.mode e.perhap.wit.forma.transfor mation.betwee.th.differen.developmen.stages.2.Virtua.realit.syste.Thi.i..syste.wher.th.requirement.wil.chang.an ponents.Incrementa.developmen. with.perhaps.som.U.prototypin.i.th.mos.appropriat.model.A.agil.proces ed.3.Universit.accountin.syste.Thi.i..syste.whos.requirement.ar.fairl. e.i.a.environmen.i.conjunctio.wit.lot.o.othe. stem.suc.a..researc.gran.managemen.system.Therefore..reuse-base. proac.i.likel.t.b.appropriat.fo.this.e.interfac.bu.whic.mus.b.stabl.an.reliable.A.incrementa.developmen.approac.i.th.mos.a e.experienc.wit.th .syste.i.gained.2.4Suggest why it is important to make a distinction between developing the user requirements and developing system requirements in the requirements engineering process.Answer:There is a fundamental difference between the user and the system requirements that mean they should be considered separately.e.requirement.ar.intende.t.describ.th.system’.function.an.f er.understan.thes.re nguag.an.ma.no.b.expresse.i.grea.detail.t.allo.som.implementatio.flexibility.Th.peopl.involve.i er’.environmen.an.applicatio.d omain.e.requirement.an .ar.intende.t.b..precis.specificatio.o.th.syste.tha.ma.b.par.o..syste e.i.situation.wher.developmen.i.outsource.an plet.specificatio.o.wha.shoul.b.developed. e.requirement.hav.bee.establi shed.Excercises(Homework): P1164.2, *4.44.2Discover ambiguities or omissions in the following statement of requirements for part of a ticket-issuing system:er.selec.thei.de stinatio.an.inpu..credi.car.an..persona.identificatio.number.e.pr esse.th.star.button..men.displa.o.potentia.destination.i.activated.al e.t.selec..destination.Onc..destinatio.ha.bee.s er.ar.requeste.t.inpu.thei.credi.card.e.i.the.requeste.t.inpu..persona.identifi er.Whe.th.credi.transactio.ha.bee.validated.th.ticke.i.issued.Answer:Ambiguities and omissions include:●• Can a customer buy several tickets for the same destination togetheror must they be bought one at a time?●• Can customers cancel a request if a mistake has been made?●• How should the system respond if an invalid card is input?●• What happens if customers try to put their card in before selectinga destination (as they would in ATM machines)?●• Must the user press the start button again if they wish to buy anotherticket to a different destination?●• Should the system only sell tickets between the station where themachine is situated and direct connections or should it include all possible destinations?4.4Write a set of non-functional requirements for the ticket-issuing system, setting out its expected reliability and response time.Answer:Possible non-functional requirements for the ticket issuing system include:1.Betwee.060.an.230.i.an.on.day.th.tota.syste.dow.tim.shoul.no.excee..minutes.2.Betwee.060.an.230.i.an.on.day.th.recover.tim.afte..syste.failur.s houl.no.excee..minutes.3.Betwee.230.an.060.i.an.on.day.th.tota.syste.dow.tim.shoul.no.excee.2.minutes.Al.thes.ar.availabilit.requirement..not.tha.thes.var.accordin.t.th. tim.o.day.Failure.whe.mos.peopl.ar.travelin.ar.les.acceptabl.tha.fail ure.whe.ther.ar.fe.customers.4.Afte.th.custome.presse..butto.o.th.machine.th.displa.shoul.b.upda te.withi.0..seconds.5.Th.ticke.issuin.tim.afte.credi.car.validatio.ha.bee.receive.shoul .no.excee.1.seconds.6.Whe.validatin.credi.cards.th.displa.shoul.provid..statu.messag.fo .customer.indicatin.tha.activit.i.takin.place.Thi.tell.th.custome.tha .th.potentiall.tim.consumin.activit.o.validatio.i.stil.i.progres.an.t ha.th.syste.ha.no.simpl.failed.7.Th.maximu.acceptabl.failur.rat.fo.ticke.issu.request.i.1.10000.Excercises(Homework): P143-1445.2, 5.5, 5.6, 5.75.2..mode.o..syste.tha.alread.exists.Explai.wh.i.i.no.alw plet.an.correct.Woul.th.sam.b.t ru.i.yo.wer.developin..mode.o..ne.system?Answer:You might create and use a model of a system that already exists for the followingreasons:1.T.understan.an.documen.th.architectur.an.operatio.o.th.existing system.2.T.ac.a.th.focu.o.discussio.abou.possibl.change.t.tha.system.r.th.re-implementatio.o.th.system.pletel.documen.t uall.t. hel.yo.wor.o.part.o.th.syste.s.onl.thes.nee.t.b.modelled.Furthermore.e.a..discussio.focus.yo.ar.unlikel.t.b.intereste.i.deta il.an.s.ca.ignor.part.o.th.syste.i.th.model.Thi.i.true.i.general.fo.model.o.ne.system.unles..model-base.approac.t plet.mode.i.required.Th.othe. plet.mode.i.whe.ther.i..contractua.re quiremen.fo.suc..mode.t.b.produce.a.par.o.th.syste.documentation.5.5Develo..sequenc.diagra.showin.th.interaction.involve.whe..studen.re gister.fo..cours.i..university.Course.ma.hav.limite.enrolment.s.th.re gistratio.proces.mus.includ.check.tha.place.ar.available.Assum.tha.th .studen.accesse.a.electroni.cours.catalo.t.fin.ou.abou.availabl.cours es.Answer:.relativel.simpl.diagra.i.al.tha.i.neede.here.I.i.bes.no.t.b.to.fuss. abou.thing.lik.UM.arro.style.a.hardl.anyon.ca.remembe.th.difference.b etwee.them.5.6Loo.carefull.a.ho.message.an.mailboxe.ar.represente.i.th.emai.syste e.i.th.syste.implementa tio.t.represen..mailbo.an.a.e-mai.message.Answer:5.7Based on your experience with a bank ATM, draw an activity diagram that models the data processing involved when a customer withdraws cash from the machine.Answer:Notice that I have not developed the activities representing other services or failed authentication.Excercises(Homework): P173-1746.1,6.3,6.96.1When describing a system, explain why you may have to design the system architecture before the requirements specification is complete.Answer:The architecture may have to be designed before specifications are written to provide a means of structuring the specification and developing different subsystem specifications concurrently, to allow manufacture of hardware by subcontractors and to provide a model for system costing.6.3Explain why design conflicts might arise when designing an architecture for which both availability and security requirements are the most important non-functional requirements.Answer:Fundamentally.t.provid.availability.yo.nee.t.hav.(po ponen.failing.yo.ca.swi ponent.Yo.als.nee.t.hav.severa.copie.o.th.d at.tha.i.bein.processed.Securit.require.minimizin.th.numbe.o.copie.o. ponen.o nl.know.a.muc.a.i.need.to.t.d.it.job.Thi.reduce.th.chanc.o.intruder.a ccessin.th.data.Therefore.ther.i..fundamenta.architectura.conflic.betwee.availabilit. (replication.severa.copies.an.securit.(specialization.minima.copies). promis.betwee.thes.fundamentall. opposin.requirements.6.9Using the basic model of an information system as presented in Figure 6.16, suggest the components that might be part of an information system thatallows users to view information about flights arriving and departing from a particular airport.Answer:rmatio.syste.an.shoul.ident ponents might be:Level 1 (Database level)Flight database; Flight status database; Airport information; Level 2: (Information retrieval level)Status management; Flight management; Search;Level 3: (User interaction level)Authentication; session management; forms processing () Level 4 (User interface)Input checking (Javascript), browserExcercises(Homework): P202-2037.1, 7.37.1in.th.structure.notatio.show.i.Figur.7.3.specif.th.weathe.statio .us.case.fo.Repor.statu.an.Reconfigure.Yo.shoul.mak.reasonabl.assumpt ion.abou.th.functionalit.tha.i.require.here.Answer:7.3in.th.UM.graphica.notatio.fo.objec.classes.desig.th.followin.obj .you.ow.experienc.t.d ecid.o.th.attribute.an.operation.tha.shoul.b.associate.wit.thes.objec ts.• a telephone• a printer for a personal computer• a personal stereo system• a bank account• a library catalogueAnswer:plexit.ca.b.adde.t.t h.objects.However..a.onl.reall.lookin.fo.simpl.object.whic.encapsulat .th.principa.requirement.o.thes.artefacts.Possibl.design.ar.show.i.th .abov.diagram.。
Software Engineering Sample Question PaperSection-AMultiple choice questions1.Software Engineering is best described as:(A)the practice of designing, building, and maintaining off-the-shelf(现成的不用修改的)software from prefabricated(预先建筑的) parts.(B)the practice of designing, building and maintaining ad-hoc(点对点) softwarewithout the use of formal methods.(C)the practice of designing, building and maintaining reliable(可靠的) andcost-effective(划算的) software using standard techniques.(D)the practice of designing, building and maintaining fast and flexible softwarespecifically for Engineering applications2.The software crisis(软件危机p4) is:(A)How expensive software is to develop.(B)How long it takes to build software.(C)How hard software is to write(D)How quickly software becomes obsolete.(E)All of the above3.The software crisis exists because:(A)Programmers are lazy and managers are ignorant.(B)There is as yet no proven scientific method for building robust(健壮的), efficient,reliable and cost-effective software.(C)There can never be a proven scientific method for building robust, efficient,reliable and cost-effective software.(D)The are proven scientific methods for building robust, efficient, reliable andcost-effective software, but they are too difficult for most software developers to understand.4.What is the single largest computer-related cost for most organizations?(A)Software analysis and design.(B)Software implementation.(C)Software testing.(D)Software maintenance.5.What is the analysis phase(分析阶段) of software engineering?(A)Where the organization decides what software it needs to develop.(B)Where a software engineer determines the requirements for a software system.(C) Where a software design is analysed for correctness.(D) Where the cost-benefits analysis of a proposed system design is made.6. The three stages of the analysis phase are:(A) Discovery, design, implementation(B) Discovery, refinement(精制), design(C) Discovery, modeling(模型化), design(D) Discovery, refinement, modeling7. The outcome(成果) of the analysis phase is:(A) Sufficient(足够的) understanding of the problem to suggest a solution (orsolutions)(B) Sufficient understanding of the problem to write a formal description of it(C) Sufficient understanding of the problem to write a requirementsspecification(说明书)(D)Sufficient understanding of the problem to write a design specification8.A requirements specification is:(A)A rough list(大略的列表) of things that the proposed software ought to do. (B)A precise list(精细的列表) of things that the proposed software ought to do(C) A formal list of things that the proposed software must do.(D) An estimate(估计) of the resources (time, money, personnel, etc.) which will berequired to construct the proposed software.9. The testing phase of software development doesn't require:(A) testing that the implementation(实现) compiles correctly.(B) testing that the implementation matches the design.(C) testing that the implementation matches the requirements.(D) testing that the components(部件) of the implementation work separatelyand together.(E) testing that the implementation interacts correctly with the environment.10. The difference between verification(确认,查证) and validation(确认,批准生效) is(A) They are different names for what is essentially the same process.(B) Verification tests validation: it asks testers to verify that code is valid.(C) Verification relates to implementation whereas validation is principally(大部分)concerned with design.(D) Verification asks if we are building the right product, whereas validationasks if the product was built right.11.A good test program(测试程序):(A)Finds a different error each time it is run.(B)Finds the same error by several different methods.(C)Has a low probability of finding a known error.(D)None of the above.12.Logical errors are typically found:(A)Where you least expect them. 在最不经意的地方(B)In the code that is least commonly executed.(C)by the compiler(编译者) at compile time.(D)at random points in the code.13.Testing that looks at predicate conditions in code is known as:(A)Black box testing.(B)Execution path testing.(执行通路测试)(C)Comparison testing.(D)Data flow testing.(E)Conditional testing.条件测试14.Unstructured loops(非结构化循环) are best tested:(A)Using Black box testing.(B)By unrolling(展开) each loop and testing it individually.(C)By setting the outer-most loop to its maximum and minimum values and then simple loop testing the inner loops.(设定的outer-most回路,以它的最大值与最小值,然后简单的回路测试内循环)(D)They are best not tested, rather redesigned to eliminate the unstructured conditions.15.What is configuration management(配置管理) in software engineering?(A)overall management of the design of the system(B)management of the configurable components in a system (管理的可配置的部件在系统)(C)the identification(鉴定,识别) of the configuration of a system at discreet(谨慎的) points in time to control changes to the configuration(D)in object-oriented(面向对象的) programming, the management of objects that control the configuration of some other function(s) in the system16.Which statement about the preliminary(初步) design stage of a software development project is true?(A)The preliminary design is an internal(内在的) document used only by programmers.(B)The preliminary design is the result of mapping(绘图) product requirements into software and hardware functions.(C)The preliminary design of the product comes from the initial meetings between the customer and the programmer. 初步设计的产品来自最初的会议和客户之间的程序员(D)The developers produce the preliminary design by defining the softwarestructure in enough detail to permit coding.17.What is functional decomposition(分解的) in software system design?(A)a design methodology that uses modular(模块化的) prototypes(技术原型) to build the complete system(B)a requirements analysis method that breaks the system into cohesive and related units(C)a design method that breaks a system into smaller units 设计方法系统分成小单位(D)the ability to upgrade the features of a particular module of a system with minimal impact on other modules18.In software engineering the design phase is divided into ____ and ____(A) System design, detailed design(B) Computer design, program design(C) System design, hardware design(D) Computer design and detailed design19 In software engineering, UFP is ____(A) Unidentified functional Position(B) Unidentified function Position(C) Unadjusted(未调整的) Function Point(D) None of the above20.The term ____ is used internationally to describe a process which ensures and demonstrates(证明,展示) the quality of the products and services it products.(A) Quality system(B) Quality measurement(C) Standard quality(D) None of the above21 Which of the following is not a SRS characteristic 下列哪一项不是SRS特征(A) Correctness(B) Completeness(C) Unambiguous(清楚的)(D) None of the above22 ____ refers to whether appropriate software development strategic are being employed and the product is being built properly是指适当的软件是否发展战略的存在使用和产品正在建设好(A) Validation 验证(B) Verification(C) Quality assurance(质量保证)(D) Simulation(模拟)23. ____ -metric is used to make prediction about the software later in the lifecycle (A) Predictive预测(B) Descriptive(描写的)(C) Basic(D) None of the above23.A system that is composed of modules(模块) is called ____ systems(A) Portability(可移植性)(B) Testability(C) Modular(D) None of the above24. ____ is the effort required to transfer a program from one environment to another(A) Interoperability (互操作性)(B) Efficiency(C) Reusability(D) Portability可移植性25. ____ is an effort required to check whether the module or a system does the intended operation or not(A) Verifiability可验证性(B) Reliability(C) Testability(D) Maintainability26.The purpose of re-view is(A) To detect the defers延期检测(B) To detect Functions(C) To find the structure(D) None of the above27.Set of problems that are encountered in the development of computer software is referred as 所遇到的问题开发软件(A)Non Function(B)Function(C) Application(D) Processing28.The sequence of predefined(预先定义的) steps performed for a given purpose is known as(A) Algorithm(算法)(B)Process(C)Program(D) Source29. The software Engineering process layer(层) includes(A) Tools, Methods and Process(B) Methods, Tools and Testing(C) Tools, Techniques and process(D) All the above30. Maintenance维护focuses on(A) Designing(B)Coding(C)Debugging(D) Change.31.Umberlla activities occurs(A)Once(B) Through out(C)Twice(D)does not occur32 Linear(线性) model is also known as(A) RAD model(B)Prototype(原型) model(C) Waterfall model(D) Spiral(螺旋) model33.Failure of the system is mainly dependents on(A)Poor implementation(B) Poor testing(C)Poor Coding(D)Poor Requirement Gathering34.To evaluate the system’s components in relationship to one another to determine how requirements fit into the picture is(A)System modeling(B)System Engineering(C)System35._________is a technique that translates the needs of customer into technical requirements for software(A) QFD(B) DFD(C) ERD(D) UML36. QFD identifies _______ types of requirements(C)ONE(B) TWO(C) THREE(D) FOUR37. Data dictionary contains ________ objects.(A) Information(B) Data(C)Requirements(D)System38._____are used to model aggregates(总量) of information and the relationships these aggregates have to each other.(A) Data flow diagram(B) Entity relationship diagram实体关系图(C) Sequence diagram(D) Structure(结构,建造) Diagram39. A set of observable circumstances that characterizes the behavior of a system at a given time(A)State(B)State Transition(C)Event(D)Action40.Data modeling examines data objects ____________ of processing.(A) Dependently(B) Independently(C) Internally(D) Partially independent41. ________transform information domain model created during analysis into data structures把信息转变领域模型进行分析时所产生的数据结构(A) Data Design(B) Architectural Design(C) Interface Design.(D) Non of the above42. FTR means(A)Final Technical Review(B)Final Technical Report(C)First Technical Report(D) First Technical Review43.The process of Elaboration is(A) Refinement精致(B) Abstraction(C) Modularity(D)Data Structure44.The Horizontal Partitioning水平分区has _______- no of partitions(A)1 (B)2 (C)3 (D) 445. In information Hiding the information present in the modules are(A) Accessible (B)Delivered(C) Inaccessible46.__________- is a type of cohesion(A) Communicational通讯(B)Content(C)Common (D)External47. Content coupling is __________(A) Preferred (B) Best(C) Medium level (D) Worst48. Which is not a layer in object oriented systems(A)Responsibilities (B) Class and Object(C)System (D)Message49.The layer Contains the data structure and algorithmic design for all the attributes and operation for each object(A)Subsystem Layer(B)Class & Object Layer(C)Message Layer(D)Responsibilities Layer50.Which is not Black box testing(A) Testing missing data (B) Testing Missing data(C) Testing the functional requirements (D) Check the inner loop51. Which of the following is not a relationship in graph based testing(A) Symmetric (B) Predictive预测(C) Reflexive (D) Transitive52.A good test case is one with a _____ probability of finding an as-yet undiscovered error(A) High (B) Medium (C) Least (D) Low53. Basis Path Testing is a model of路径测试是一个模型基础上(A) Black Box Testing (B) White Box Testing (C) System Testing(D) Integrated Testing.54. The intent of the review is to ensure that all elements of the software configuration have been properly developed is 回顾的目的是确保软件配置的一切因素是否被正确的发展(A) Requirement Analysis (B) System Analysis (C) Software Review (D) Configuration Review配置回顾55. FTR is done ________ in the project life cycle.(A) Only once (B) Only Twice (C) Through out (D) At the end56.Which is not a Software quality factor不是一个软件质量的事实(A) Consistency一致性(B) Interoperability (C) Maintainability (D) Portability57. Re-Engineering Leads to(A) High Risk (B) Low Risk (C) None of these58.Performance Testing性能测试is related with ________ Testing(A) Stress (B) Black Box (C) White Box (D) Security59.Which is not a view in UML(A) User (B) Designer (C)Analyzer (D)Tester60. A ______ diagram shows the possible states of the object and the transitions that cause a change in state.(A) Class (B) State Transition Diagram状态转移图(C) Block一个状态转移概率图展示的可能状态的转变,教育的对象是人,令一个状态的改变。
What is software?Computer programs and associated documentation such as requirements, design models and user manuals.Software products may be developed for a particular customer or a general market.Generic product: It is a kind of software. These are stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them.Customized (bespoke) products: These are systems which are commissioned by a particular customer. A software contractor develops the software especially for electronic that customers.What is software engineering?Software engineering is an engineering discipline that is concerned with all aspects of software production.What is a software process?Software processes are the activities involved in producing and evolving a software system.Generic activities:Specification - what the system should do and its development constraintsDesign and Development - production of the software systemValidation - checking that the software is what the customer wantsEvolution - changing the software in response to changing demands.what is software process model?A simplified or abstract representation of a software process, presented from a specific perspective.Generic process models describe the organisation of software processes.Including: Waterfall model, Iterative/Evolutionary development, Component-based software engineering.WaterfallCBSE /Reuse-oriented development软件描述?Software specification?The process of establishing what services are required and the constraints on the system’s operation and development. (The process of developing a software specification)主要阶段:可行性研究、需求导入和分析、需求描述、需求有效性验证。
Chapter 1 An Introduction to Software Engineering1. Why software engineering is important?软件工程由应对软件危机也产生,软件工程的发展极大地完善了我们的软件。
软件工程的研究使得我们对软件开发活动有个更深入的了解,并且已经找到了进行软件描述、设计和实现的有效方法。
软件工程中新的标记发和工具大大降低了制作大型、复杂系统的工作量2. What is software? What is software engineering?软件工程是一门工程学科,包括了软件开发的各个方面,从最初的系统描述一直到使用后的系统维护,都属于其学科范畴。
3. What is the difference between software engineering and computer science?计算机科学研究的是构成计算机和软件系统基础的有关理论和方法,耳软件工程则研究软件制作中的实际问题。
计算机科学侧重理论和基础; 软件工程侧重软件开发和交付的实际活动。
4. What are the attributes of good software?软件除了提供基本的功能,对用户来说是还应该是可维护的、可依赖的和可接受的。
可维护性,软件必须能够不断变化以满足变化;可依赖性,软件必须可以被信赖;有效性,软件不能浪费系统资源;可用性,使用起来比较容易5. What is CASE?CASE 工具是一些软件系统,被设计成支持软件过程中的常规活动,如编辑设计图表、检查图表的连贯性、跟踪已经运行的程序测试等。
6. What is the difference between software engineering and system engineering?系统工程侧重于计算机系统开发的所有方面,包括硬件、软件和处理工程。
软件工程是整个系统的一部分,它关心系统中基础软件、控制软件、应用软件和数据库的开发。
7. What are software engineering methods?软件工程方法是一种软件开发的结构化方法,目的在于提高软件质量的同时,使其性价比较高。
它包括系统模型、符号、规则、设计建议和过程指导。
8. What are the key challenges facing software engineering?多样性的挑战,发展新技术以建立起能够使不同平台、不同执行环境的软件一起工作的软件;交付的挑战,发展新技术以带来软件的更快的交付;信任的挑战,发展新技术以展示软件是能够被使用者信任的。
9. Issues of professional responsibility保密,工程人员必须严格保守客户或雇主的机密,而不管是否签署了保密协议。
工作能力,工程人员应如实的表述自己的工作能力,不应有意接受超过自己能力的工作.知识产权,工程人员应当知晓控制专利权、著作权等知识产权使用的地方法律,必须谨慎行事,确保雇主和客户的知识产权受到保护.计算机滥用,软件工程人员不应运用自己的技能滥用他人的计算机。
滥用计算机有时对他人影响不大(如在雇主的计算机上玩游戏),但有时后果非常严重(传播病毒)。
10. Code of ethics – principles公众感,软件工程人员应当始终保持与公众利益一直。
客户和雇主,软件工程人员应当始终保持与公众利益一直的前提下,满足客户和雇主的最大利益.产品,软件工程人员应当保证他们的产品及其相关附件达到尽可能高的行业标准。
判断力,软件工程人员应当具有公正而独立的职业判断力.管理,软件工程管理者和领导者应当拥护并倡导合乎道德的有关软件开发和维护的管理方法。
职业感,软件工程人员应当弘扬职业正义感和荣誉感,尊重社会公众利益。
同事,软件工程人员应当公平的对待和协助每一位同事。
自己,软件工程人员应当毕生学习专业知识,提倡合乎职业道德的职业活动方式11. If you are a software engineer, what code of ethics – principles should you obey? And describe why?10题中的全部或部分Chapter 2 Socio-technical Systems2. What modal does the system engineering process usually follow? And why ?. 系统工程中,通常采用瀑布模型。
因为系统的不同部分需要并行的开发,而系统工程中的硬件一般十分昂贵,所以开发中返工的余地非常小。
3. What are the five steps of the system design process? 分割需求;识别子系统;为子系统分配需求;描述子系统功能;定义子系统接口4. Why system evolution is inherently costly? 像软件进化一样,系统进化是昂贵的,其原因如下: (1) 必须从业务和技术的角度对提议的变更做仔细的分析。
在变更生效之前必须经过有关人员的认同。
(2) 因为子系统都不是鼓励存在的,对一个子系统的变更可能会对其他子系统的性能或行为造成负面影响。
(3) 原始设计决策的理由时常未被记录。
把一个特别的设计决策产生的原因找出来,对于系统进化是有意义的。
(4) 当系统运行相当长时间后,其结构被修改得复杂凌乱,系统进化的成本进一步增加。
2. System modelling is usually presented as a 方块图 .3. After completion, the system has to be installed in 用户环境 .4. The systems engineering process includes 描述 , 设计 , 开发 and 集成 . System 集成 is particularly critical.5. List three examples of emergent properties. 体积 , 可靠性 , 信息安全性 .6. The system design process includes: 分割需求 , identify sub-systems, 为子系统分配需求 , specify sub-system functionality, 定义子系统接口 .7. What is emergent system properties? Please list three examples of emergent properties?系统特性不能归于任何一个专门的组件,只有从系统整体上看是这些特性才会浮现出来。
体积、可靠性、信息安全特性、可维修性、可用性 8. The systems engineering process9. The figure below shows intruder alarm systemAlarm contr olle rV oice synthe siz er Movement se nsorsSir enDoor se nsorsTelephonecallerExternal control centreFill the blanks with the component types in alarm system from the figure. Communication: 语音合成器 Sensor: 门传感器 , 运动传感器Interface: 电话呼叫器 Actuator: 警笛 Co-ordination: 警报控制器 10. The system design processP artition requirementsIdentify sub-syste m sAssign requir ements to sub-systemsSpec ify sub-systemfunctionalityDefine sub-systeminte rfaces11. What ’s Emergent property? 同7题Chapter 3 Software Processes1. Generic activities in all software processes are : 软件描述 , 软件设计和实现 , 软件有效性验证 and 软件进化 .2. List three kinds of CASE systems (not tools). 工具、工作平台、环境3. List three kinds of generic software process models. 瀑布模型、进化式开发、基于组件的软件工程4. What are the RUP (Rational Unified Process ) phases? RUP 中的阶段是紧密关联于业务的,而不是关联于技术层面。
他们是: (1) 开端(2) 细化(3) 构造(4) 转换5. What are the problems of evolutionary development?(1)过程不可见;(2)系统结果通常较差;6. What are the advantages of the incremental development(1)客户无需等到整个系统实现,第一个增量会满足他们大多数关键的需求。
(2)客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。
(3)项目总体失败的风险比较低。
(4)最高优先权的增量会得到更充分的测试。
Extreme programming7. Please list three types of generic software process models: 瀑布模型 , 金华市开发 and 基于组件的软件工程 . 8. List at least generic software process models.9. What is the software process and What is the main activities of the software process?一个软件过程是一组引发软件产品生产的活动。
软件描述;软件设计和实现;软件有效性验证;软件进化10.What kind of model does the following diagram show? When the model is appropriate for?瀑布模型 这种模型只在需求定义的非常清晰完整同时需求的变化十分有限的情况下适用。