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 w
2、hich is concerned 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
3、is a software process?-A set of activities whose goal is the development or evolution of software-Generic activities in all software processes are:Specification 、Development 、V alidation 、EvolutionChapter 4 Software Process*Software process-Software processes are the activities involved in producing
4、 and evolving 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
5、process models are abstract representations of these processes.-Generic process models describe the organisation of software processes. Examples include the waterfall model, evolutionary development andcomponent-based software engineering.-waterfall model is only appropriate when the requirements ar
6、e well-understood 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 wi
7、th well-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*
8、Iterative 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 an
9、d presentations.*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 an
10、other to 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 dependencies Activity network Activity bar chart (Gantt ch
11、art Staff 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 beingdeveloped;-Business risks affect the organisation
12、 developing 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;-
13、Risk planning: 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*
14、Functional and non-functional requirements-Functional requirementsStatements of services the system should provide, how the system should react to particular inputs and how the system should behave inparticular situations.-Non-functional requirementsConstraints on the services or functions offered b
15、y the system 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 req
16、uirements constrain the system being developed or thedevelopment process. *In principle, requirements should be both complete and consistent.-CompleteThey should include descriptions of all facilities required.-ConsistentThere should be no conflicts or contradictions in the descriptions of the syste
17、m facilities.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 perspect
18、ivesExternal 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-performanceLocalise critical operations and minimise communications. Use large rather than fine-grain components.-securityUse a layered architecture with criti
20、cal assets in the inner layers.-safetyLocalise safety-critical features in a small number of sub-systems.-AvailabilityInclude redundant components and mechanisms for fault tolerance.-MaintainabilityUse fine-grain, replaceable components, avoid data shareChapter 12 Distributed Systems Architectures*D
21、istributed systems architectures-Client-server architecturesDistributed services which are called on by clients. Servers that provide services are treated differently from clients that use services.-Distributed object architecturesNo distinction between clients and servers. Any object on the system
22、may provide and use services from other objects.*Middleware is usually off-the-shelf rather than specially written software.*Layered application architecture-Presentation layerConcerned with presenting the results of a computation to system users and with collecting user inputs.-Application processi
23、ng layerConcerned with providing application specific functionality e.g., in a banking system, banking functions such as open account, close account,etc.-Data management layerConcerned with managing the system databases. *Thin and fat clients-Thin-client modelIn a thin-client model, all of the appli
24、cation processing and data management is carried out on the server. The client is simplyresponsible for running the presentation software.-Fat-client modelIn this model, the server is only responsible for data management. The software on the client implements the application logic and theinteraction
25、s with the system user. * Three-tier architectures A 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 architectureDecentralised architectures;Semi-centralised arc
26、hitectures. Decentralised p2p architecture Semi-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 operate in b
27、atch 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 operations.-Object c
28、lasses 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 sho
29、rt-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 systems go wrong, inappropriate alarms and messages can increase stress and hence the likelihood
30、of more mistakes. -People are different People have a wide range of physical capabilities. Designers should not just design for their own capabilities. -People have different interaction preferences Some like pictures, some like text. *User interface design principles *MVC approaches (Information pr
31、esentation, pp.370 Figure: the MVC model of user interaction * How to design UI (Information presentation, pp. 375 Please type the patients name in the box then click on OK Patients name MacDonald, R. OK Cancel Figure *.1 An input text box used by a nurse User-oriented error message System-oriented
32、error message Error #27 Invalid patient id R. MacDonald is not a reg ist ered patient Click on Patients for a list of patient Click on Retry to re-input the patients name Click on Help for more information P atients Help Retr y Cancel OK Cancel Figure *.2 system and user-oriented error messages *The UI design process -
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1