Lecture 1 An Introduction to Software Engineering 1 what does software engineering concern?1) Software engineering is concerned with theories, methods and toolsfor professional software development.2) Software engineering is concerned with cost-effective softwaredevelopment.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)这种模型把软件过程划分成几个顺序的阶段。
阶段间具有依赖性,前一个阶段结束,后一个阶段才能开始;2)这种模型很难对用户变更做出调整,只适用于需求非常清楚和需求变更被严格限制的情况下。
3 Describe the basic principle of evolutionary development and its two types进化式开发的基本思想是先开发一个原型给用户使用,通过用户反馈意见来不断修改系统直到最后成熟,所以又被称作快速原型开发方法。
它不主张将描述、开发和有效性验证等活动分开进行,而是让这些活动迭代执行,同时让这些活动能得到快速的反馈信息。
进化式开发有两种基本类型:探索式开发和抛弃式原型法。
4 Draw the graphic presentation of incremental delivery and describe its character在这种开发方式中,系统不是作为一个整体交付,而是被分解成若干个增量,每个增量交付系统的部分功能。
用户的需求按优先级排队,优先级最高的需求被放入最早交付的增量中。
这样,优先级最高的系统功能就得到最多的测试,系统的可靠性较高。
5 Describe the characters of Spiral development.(对照模型去理解)1) Process is represented as a spiral rather than as a sequence of activities with backtracking.2) Each loop in the spiral represents a phase in the process.3) No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required.4) Risks are explicitly assessed and resolved throughout the process.Lecture 3Requirements Engineering1 Draw the graphic presentation of requirement engineering process.2 Describe the difference of functional requirements, non- functional requirements, Domain requirements.Functional requirements describe the services that the system should provide and how the system should react to particular inputs and how the system should behave in particular situations.Non-functional requirements describe the constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.Domain requirements come from the application domain of the system and that reflect characteristics of that domain.3 Describe the difference between user requirements and system requirements.1) User requirements should describe functional and non-functional requirements in such a way that they are understandable by system users who don’t have detailed technical knowledge.User requirements are defined using natural language, tables and diagrams as these can be understood by all users.2) System requirements are more detailed specifications of system functions, services and constraints than user requirements.They are intended to be a basis for designing the system.They may be incorporated into the system contract.System requirements may be defined or illustrated using system models.4 Describe the process activities of requirements elicitation. Requirements elicitation process is an iterated process.1) Requirements discovery(需求发现)Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage.2) Requirements classification and organization(需求的分类与组织)Groups related requirements and organises them into coherent clusters.3) Prioritisation and negotiation(优先排序和冲突解决)Prioritising requirements and resolving requirements conflicts.4) Requirements documentation(需求文档化)Requirements are documented and input into the next round of the spiral.5 what are viewpoints and what are the types of viewpointsViewpoints are a way of structuring the requirements to represent the perspectives of different stakeholders. Stakeholders may be classified under different viewpoints.There are three types:1) Interactor viewpointsPeople or other systems that interact directly with the system. In an ATM, the customer’s and the account database are interactor VPs.2) Indirect viewpointsStakeholders who do not use the system themselves but who influence the requirements. In an ATM, management and security staff are indirect viewpoints.3) Domain viewpointsDomain characteristics and constraints that influence the requirements. In an ATM, an example would be standards for inter-bank communications.5 Write down at least four principles of delaminated DFD.①顶层数据流图上的数据流必须封闭在外部实体之间。