软件工程(双语)复习提纲
时间:2025-05-16
时间:2025-05-16
软件工程(双语)复习提纲
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 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 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 、Validation 、Evolution
Chapter 4 Software Process
*Software process
-Software processes are the activities involved in producing 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 process models 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-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 with 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
*Iterative process models describe the software process as a cycle of activities
Chapter 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 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 another 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 chart)
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 being developed;
-Business risks affect the organisation 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; -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 process
Chapter 6 Software Requirements
*Types of requirement:
-Functional and non-functional requirements -User requirements and system requirements
*Functional and 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 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 requirements 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 facilities.
Chapter 7 Requirements Engineering Processes
*The requirements engineering process includes
- Feasibility study, requirements elicitation and analysis, requireme …… 此处隐藏:8229字,全部文档内容请下载后查看。喜欢就下载吧 ……