【正文】
工具?自動化? –抽象方法? ? 映射很復(fù)雜 –描述語言? –實施技術(shù)? 5 軟件工程學(xué)科 ? History of software development as a professional age starts with the formulation of Software Engineering Body of Knowledge (SWEBOK). ? In 1958, John Wilder Tukey, one of the most influential statisticians, has introduced the term software. ? ISO/IEC/IEEE Systems and Software Engineering Vocabulary (SEVOCAB) defines software engineering as ―the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”. 5 軟件工程學(xué)科 ? Software engineering has evolved from a conference catchphrase (the term software engineering was used in the title of a NATO conference held in Germany in 1968.) into an matured engineering profession, characterized by: – a professional society (The IEEE Computer Society first published its Transactions on Software Engineering in 1972)。 – standards that specify generally accepted professional practices (A mittee for developing software engineering standards was established within the IEEE Computer Society in 1976. The standard was pleted in 1995 with designation ISO/IEC 12207 and given the title of Standard for Software Life Cycle Processes.) – Software Engineering Body of Knowledge (SWEBOK) The current version of 12207 is designated as ISO/IEC 12207:2021 and IEEE 122072021 and provides the basis for SWEBOK V3. – conference proceedings。 – textbooks。 5 軟件工程學(xué)科 ? 軟件工程是交叉性工程學(xué)科,將計算機科學(xué)、數(shù)學(xué)、工程學(xué)和管理學(xué)等基本原理應(yīng)用于軟件的開發(fā)與維護中, ? 軟件工程的核心知識 ( Software Engineering Body of Knowledge ,SWEBOK)把軟件工程相關(guān)學(xué)科列為知識域:計算機工程、計算機科學(xué)、數(shù)學(xué)、管理學(xué)、項目管理、質(zhì)量管理、系統(tǒng)工程學(xué)和軟件人類工程學(xué)八個領(lǐng)域。 ? 重點在大型軟件的分析與評價、規(guī)格說明、設(shè)計和演化,還涉及管理、質(zhì)量、創(chuàng)新、標準、個人技能、團隊協(xié)作和專業(yè)實踐等。 ? 軟件工程可以看作由下列 3部分組成。 – 計算機科學(xué)和數(shù)學(xué)用于構(gòu)造軟件的模型與算法; – 工程科學(xué)用于制定規(guī)范、設(shè)計范型、評估成本以及確定權(quán)衡等; – 管理科學(xué)用于計劃、資源、質(zhì)量、成本等管理。 ? 軟件件工程專業(yè)是 2021年國家教育部新增專業(yè), – 目錄外軟件工程碩士專業(yè) 5 軟件工程:核心知識 ? ACM與 IEEE Computer Society聯(lián)合修定的 SWEBOK( Software Engineering Body of Knowledge)提到,軟件工程領(lǐng)域中的核心知識包括: – *軟件需求 ( Software requirements) – *軟件設(shè)計 ( Software design) – 軟件建構(gòu) ( Software construction) – 軟件測試 ( Software test) – 軟件維護與更新( Software maintenance) – 軟件配置管理 ( Software Configuration Management, SCM) – 軟件工程管理 ( Software Engineering Management) – *軟件開發(fā)過程( Software Development Process) – 軟件工程工具與方法 ( Software Engineering Tools and methods) – 軟件質(zhì)量 ( Software Quality) 5 軟件工程學(xué)科:演化過程 ? 程序設(shè)計語言 ? 程序設(shè)計方法學(xué) ? 軟件工程 – 需求工程 – 信息系統(tǒng)分析與設(shè)計 – 面向?qū)ο笈c UML – 軟件測試 – 代碼重構(gòu) – 軟件體系結(jié)構(gòu) ? 軟件生產(chǎn)自動化 – long way to go ? 軟件演化 6 軟件工程發(fā)展新方向 ? 軟件復(fù)用技術(shù)(框架\生產(chǎn)線\COTS) ? 面向方面的程序設(shè)計( Aspect Oriented Programming,簡稱 AOP)被認為是近年來軟件工程的另外一個重要發(fā)展。這里的 方面 指的是完成一個功能的對象和函數(shù)的集合。在這一方面相關(guān)的內(nèi)容有 泛型編程 ( Generic Programming)和模板。 ? 分布式軟件工程 ? 嵌入式軟件 ? MDA ? Service oriented ? Social puting ? Web engineering ? Cloud Technology *相關(guān)概念 ? 幾個基本概念:來源: – Method: An established, habitual, logical, or prescribed practice or systematic process of achieving certain ends with accuracy and efficiency, usually in an ordered sequence of fixed steps. ? The scientific method (or simply scientific method) is a body of techniques for ? investigating phenomena, ? acquiring new knowledge, ? or correcting and integrating previous knowledge – Principle: Elementary assumption, concept, doctrine, maxim, or proposition generally held to be fundamental or true for a body of knowledge, conduct, procedure, or system of reasoning, and used as a basis for prediction and action.. – Principles: Fundamental norms, rules, or values that represent what is desirable and positive for a person, group, anization, or munity, and help it in determining the rightfulness or wrongfulness of its actions. Principles are more basic than policy and objectives, and are meant to govern both. *相關(guān)概念 ? Goal: An observable and measurable end result having one or more objectives to be achieved within a more or less fixed timeframe. ? Objective: A specific result that a person or system aims to achieve within a time frame and with available resources. ? In general, – objectives are more specific and easier to measure than goals. Objectives are basic tools that underlie all planning and strategic activities. They serve as the basis for creating policy and evaluating performance. – Some examples of business objectives include minimizing expenses, expanding internationally, or making a profit. ? Goals vs. Objectives Using Both to Get Where You Want to Go – *相關(guān)概念:科學(xué)與工程 ? 計算機科學(xué) ? 個體活動,旨在認知和探索世界。 ? 研究理論和方法, ? 小問題的解決方法 ? 軟件工程 ? 生產(chǎn)軟件過程中的實際問題及其解決方案 ? 集體活動,旨在改造世界;要設(shè)計,要建模,要施工 ? 系統(tǒng)工程 ? 一體化:硬件、軟件、構(gòu)架等, 作業(yè) ? 要求掌握 – 基本概念:目標,原理,方法 – 第一次、第二次軟件危機的特征 – 什么是軟件工程? – 為什么需要軟件工程? – 軟件工程的目標和原則是什么? ? 下載試用 :star UML, EA ? 翻譯文章 :