版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,软件工程为什么产生? Born in 1968, Because of Software Crisis (high costs, slow delivery, low quality)什么是软件?Computer programs and associated documentation and Configuration Data程序、相关文档和 数据软件:定制通用什么是软件工程?Software engineering is an engineering discipline which is concerned with all aspects of software product
2、ion (涉及软件所有方面的工程原则)什么是软件过程?A set of activities whose goal is the development or evolution of software什么是软件工程模型?辅助工具(高端工具,低端工具)Software systems which are intended to provide automated support for software process activities. CASE systems are often used for method supportUpper-CASE (高端工具)Tools to supp
3、ort the early process activities of requirements and designLower-CASE (低端工具)Tools to support later activities such as programming, debugging and testing8优良软件特性(可维护,可信赖,有效)Maintainability (可维护)Dependability (可信赖)Efficiency (有效)Usability (可用)面临挑战(遗留系统,多样性,交付)Legacy systems (遗留系统)Old, valuable systems
4、must be maintained and updatedHeterogeneity (多样性)Systems are distributed and include a mix of hardware and softwareDelivery (交付)There is increasing pressure for faster delivery of software职业道德(机密,工作竞争力,知识产权,计算机滥用)Confidentiality (机密)Competence (工作竞争力)Intellectual property rights (知识产权)Computer misus
5、e (计算机滥用)一般软件过程模型(4种)The waterfall model(瀑布模型)Evolutionary development(进化式模型)Formal systems development(形式化模型)Reuse-based development(面向复用模型)(1)瀑布模型的内容、问题内容:requirements define ,system and software design, implementation and unittesting , integration and system testing , operation and miantainance 问
6、题:Inflexible partitioning of the project into distinct stages (僵化的阶段划分)This makes it difficult to respond to changing customer requirements (不适应需 求变化)Therefore, this model is only appropriate when the requirements are well-understood (适用于需求明确的系统)(2)进化开发(深化开发、抛弃开发问题)Exploratory development (演化开发)Obje
7、ctive is to work with customers and to evolve a final system from an initial outline specification. Should start with well-understood requirementsThrow-away prototyping (抛弃开发)Objective is to understand the system requirements. Should start with poorly understood requirementsProblems (问题)Lack of proc
8、ess visibility (过程不可见)Systems are often poorly structured (系统结构不好)Special skills (e.g. in languages for rapid prototyping) may be required (需要一 些技巧)计算机辅助工具(工具、工作平台、环境)Tools (工具)Support individual process tasks such as design consistency checking, text editing, etc.Workbenches (工作平台)Support a process
9、 phase such as specification or design, Normally include a number of integrated toolsEnvironments (环境)Support all or a substantial part of an entire software process. Normally include several integrated workbenches需求类型:用户需求、系统需求、软件设计描述User requirements 用户需求Statements in natural language plus diagram
10、s of the services the system provides and itsoperational constraints. Written for customersSystem requirements 系统需求A structured document setting out detailed descriptions of the system services. Written as a contract between client and contractorSoftware specification 软件设计描述A detailed software descr
11、iption which can serve as a basis for a design or implementation.Written for developers功能需求和非功能需求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 req
12、uirements 非功能需求constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.Domain requirements 领域需求Requirements that come from the application domain of the system and that reflect characteristics of that domain5 自
13、然语言的问题(Problems with natural language)Lack of clarity 描述不精确Precision is difficult without making the document difficult to readRequirements confusion 需求混舌LFunctional and non-functional requirements tend to be mixed-upRequirements amalgamation 需求混合Several different requirements may be expressed toget
14、her6快速原型分析(好处)Advantage:Improved system usabilityCloser match to the system neededImproved design qualityImproved maintainabilityReduced overall development effort界面:交互方式(5种)Direct manipulation直接操作Menu selection菜单选择Form fill-in表格填写Command language命令语言Natural language自然语言设计原则16User familiarity 用户熟悉 C
15、onsistency 一致性Minimal surprise 不意外Recoverability可撤消 User guidance用户指导User diversity用户多样性:残疾人校验对比有效性验证Verification:Are we building the product rightThe software should conform to its specificationValidation:Are we building the right productThe software should do what the user really requires测试过程:单元测试
16、Unit testing 单元测试Component testing 构件测试System testing 集成测试Release testing 发布测试测试方法:1.黑盒法(不看代码)An approach to testing where the program is considered as a black-box The program test cases are based on the system specification Test planning can begin early in the software process2.白盒法(看代码的程序关系图)缺陷测试Th
17、e goal of defect testing is to discover defects in programsA successfufefect test is a test which causes a program to behave in an anomalous way Tests show the presence not the absence of defects等价类划分Input data and output results often fall into different classes where all members of a class are rel
18、atedEach of these classes is an equivalence partition where the program behaves in an equivalent way for each class memberTest cases should be chosen from each partition成本构成(Software cost components)Hardware and software costsTravel and training costsEffort costs (the dominant factor in most project
19、s)salaries of engineers involved in the projectSocial and insurance costsEffort costs must take overheads into accountcosts of building, heating, lightingcosts of networking and communicationscosts of shared facilities (e.g library, staff restaurant, etc.)估计方法Algorithmic cost modellingExpert judgeme
20、ntEstimation by analogyParkinsons LawPricing to win什么是质量Quality, simplistically, means that a product should meet its specification质量特性软件改变(不可避免)Software change is inevitable (软件改变不可避免)New requirements emerge when the software is usedThe business environment changesErrors must be repairedNew equipment
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三明市沙县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 宁德市福鼎市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 南阳市南召县2025-2026学年第二学期五年级语文第四单元测试卷(部编版含答案)
- 郴州市桂阳县2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 邢台市新河县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 哈尔滨市尚志市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 乌海市海南区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 深度解析(2026)《CBT 4005-2005 J类法兰铸钢2.0MPa截止止回阀》
- 深度解析(2026)《CBT 2999-2020船舶设计单位设计条件基本要求及评价方法》
- 深度解析(2026)《AQT 1032-2007煤矿用JTK型提升绞车安全检验规范》
- 2025年离婚抖音作品离婚协议书
- T/CBMMAS 012-2022智能坐便器适老化要求与评价
- 危险货物包装说明书
- 武汉理工大学材料科学基础
- 2018-2019学年福建省泉州市泉港区第二实验小学六年级(上)竞赛数学试卷
- 文化市场综合执法案卷评查规则课件
- 环境第三位教师
- 尸体解剖技能课件
- 冀教版(冀人版)四年级下册小学美术全册课件
- 市政工程安全标准化管理资料
- 预应力高强混凝土管桩(PHC)施工组织方案
评论
0/150
提交评论