软件工程(双语)复习提纲_第1页
软件工程(双语)复习提纲_第2页
软件工程(双语)复习提纲_第3页
软件工程(双语)复习提纲_第4页
软件工程(双语)复习提纲_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Chapter 1 An Introduction to Software Engineering*What is software?-Computer programs and associated documentation and Data-Two fundamental types of software product: generic products and customized products*What is software engineering?-Software engineering is an engineering discipline which is con

2、cerned with all aspects of software production*What is the difference between software engineering and computer science?-Computer science is concerned with theory and fundamentals; -software engineering is concerned with the practicalities of developing and delivering useful software*What is a softw

3、are process?-A set of activities whose goal is the development or evolution of software-Generic activities in all software processes are: Specification 、Development 、Validation 、EvolutionChapter 4 Software Process*Software process-Software processes are the activities involved in producing and evolv

4、ing a software system. -A structured set of activities required to develop a software system: specification; design and implementation; validation; evolution.-General process activities are specification, design and implementation, validation and evolution.*Software process models-Software process m

5、odels are abstract representations of these processes.-Generic process models describe the organisation of software processes. Examples include the waterfall model, evolutionary development and component-based software engineering.-waterfall model is only appropriate when the requirements are well-u

6、nderstood and changes-The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites-There are two fundamental types of evolutionary development: exploratory development and throw-away prototyping-Exploratory development should start with well-

7、understood requirements and add new features as proposed by the customer-Throw-away prototyping should start with poorly understood requirements to clarify what is really needed.- Evolutionary development is mostly used for small or medium-size interactive systems and short-lifetime systems*Iterativ

8、e process models describe the software process as a cycle of activitiesChapter 5 Project management*Primary project management activities: -Proposal writing.-Project planning and scheduling.-Project costing.-Project monitoring and reviews.-Personnel selection and evaluation.-Report writing and prese

9、ntations.*Project planning-Milestones are the end-point of a process activity.-Deliverables are project results delivered to customers.*Project scheduling-Organize tasks concurrently to make optimal use of workforce.-Minimize task dependencies to avoid delays caused by one task waiting for another t

10、o complete.-Graphical notations used to illustrate the project schedule: bar charts and activity networks-Activity charts show task dependencies and the critical path.-Bar charts show schedule against calendar time.Task durations and dependenciesActivity networkActivity bar chart (Gantt chart)Staff

11、allocation vs. time chart chart*Risk management-Three related categories of risk: project risks, product risks, business risks-Project risks affect schedule or resources;-Product risks affect the quality or performance of the software being developed;-Business risks affect the organisation developin

12、g or procuring the software-The process of risk management involves several stages: Risk identification, Risk analysis, Risk planning, Risk monitoring.-Risk identification: Identify project, product and business risks;-Risk analysis: Assess the likelihood and consequences of these risks;-Risk planni

13、ng: Draw up plans to avoid or minimise the effects of the risk;-Risk monitoring: Monitor the risks throughout the project;The risk management processChapter 6 Software Requirements*Types of requirement:-Functional and non-functional requirements-User requirements and system requirements*Functional a

14、nd non-functional requirements-Functional requirements Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.-Non-functional requirements Constraints on the services or functions offered by the sys

15、tem such as timing constraints, constraints on the development process, standards, etc.-The types of non-functional requirement are: product requirements, organisational requirements, external requirements.-Functional requirements set out services the system should provide.-Non-functional requiremen

16、ts constrain the system being developed or the development process.*In principle, requirements should be both complete and consistent.-Complete They should include descriptions of all facilities required.-Consistent There should be no conflicts or contradictions in the descriptions of the system fac

17、ilities.Chapter 7 Requirements Engineering Processes*The requirements engineering process includes - Feasibility study, requirements elicitation and analysis, requirements specification and requirements management.Chapter 8 System Model*Different models present the system from different perspectives

18、 External perspective showing the systems context or environment; Behavioural perspective showing the behaviour of the system; Structural perspective showing the system or data architecture.*Two types of behavioural model are: Data flow models that show how data is processed as it moves through the

19、system; State machine models that show the systems response to events.Chapter 11 Architectural Design*Architecture and system characteristics-performance Localise critical operations and minimise communications. Use large rather than fine-grain components.-security Use a layered architecture with cr

20、itical assets in the inner layers.-safety Localise safety-critical features in a small number of sub-systems.-Availability Include redundant components and mechanisms for fault tolerance.-Maintainability Use fine-grain, replaceable components, avoid data shareChapter 12 Distributed Systems Architect

21、ures*Distributed systems architectures-Client-server architectures Distributed services which are called on by clients. Servers that provide services are treated differently from clients that use services.-Distributed object architectures No distinction between clients and servers. Any object on the

22、 system may provide and use services from other objects.*Middleware is usually off-the-shelf rather than specially written software.*Layered application architecture-Presentation layer Concerned with presenting the results of a computation to system users and with collecting user inputs.-Application

23、 processing layer Concerned with providing application specific functionality e.g., in a banking system, banking functions such as open account, close account, etc.-Data management layer Concerned with managing the system databases.*Thin and fat clients-Thin-client model In a thin-client model, all

24、of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software.-Fat-client model In this model, the server is only responsible for data management. The software on the client implements the application logic and

25、the interactions with the system user.* Three-tier architecturesA 3-tier C/S architecture*P2P architectural models-Peer to peer architectures are decentralised architectures where there is no distinction between clients and servers.-The logical network architecture Decentralised architectures; Semi-

26、centralised architectures.Decentralised p2p architectureSemi-centralised p2p architectureChapter 13 Application architectures*Important classes of application are data processing systems, transaction processing systems, event processing systems and language processing system.*Data processing systems

27、 operate in batch mode and have an input-process-output structure.Chapter 14 Object-oriented Design*Objects and object classes-Objects are entities in a software system which represent instances of real-world and system entities.-Objects are members of classes that define attribute types and operati

28、ons.-Object classes are templates for objects. They may be used to create objects.-Object classes may inherit attributes and services from other object classes.*Use-case models are used to represent each interaction with the system.Chapter 16 User interface design*Human factors in interface design-Limited short-term memory People can instantaneously remember about 7 items of information. If you present more than this, they are more liable to make mistakes.-People make mistakes When people make mistakes and s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论