Why Software Engineering? 中国科学技术大学软件学院 孟宁 2015 年 09 月.

Slides:



Advertisements
Similar presentations
Copyright 2006 Pearson/Prentice Hall. All rights reserved.
Advertisements

Chapter 1 What is Software Engineering Shari L. Pfleeger
纺纱学. 2 绪 论 基本要求:了解纺纱系统的类别 重点掌握:棉纺系统的工艺流程 3 一、纺纱原理与设备 纺纱:用物理或机械的方法将纺织纤维纺成纱 线的过程。 纺纱原理:初加工、原料的选配、开松除杂、 混和、梳理、精梳、并合、牵伸、加捻、卷绕等。 纺纱方法:传统纺纱方法、新型纺纱方法。 纺纱设备:开清棉联合机、梳棉机、精梳机、
第四章 犯罪概念与犯罪构成. 第一节 犯罪概念 一、犯罪概念的类型  (一)犯罪的形式概念  (二)犯罪的实质概念  (三)犯罪的混合概念.
石化的 IT 大挑战 洛阳石化工程公司. 石化公司简介 中国石化集团洛阳石油化工工程公司,是国内能源化 工领域集技术专利商与工程承包商于一体的高科技企 业。拥有中国综合设计甲级资质,为国家首批业务涵 盖 21 个行业的工程咨询企业之一,拥有工程总承包、 工程设计、工程监理、工程咨询和环境影响评价等甲.
计算机 在分析化学的应用 ( 简介 ) 陈辉宏. 一. 概述 信息时代的来临, 各门学科的研究方法都 有了新的发展. 计算机的介入, 为分析化学的进展提供了 一种更方便的研究方法.
Chapter 1 4th Edition What is Software Engineering Shari L. Pfleeger
地理信息系统概述. 数据和信息 (Data & Information) 数据 原始事实 如:员工姓名, 数据可以有数值、图形、声音、视觉数据等 信息 以一定规则组织在一起的事实的集合。
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第六十二讲 ) 离散数学. 最后,我们构造能识别 A 的 Kleene 闭包 A* 的自动机 M A* =(S A* , I , f A* , s A* , F A* ) , 令 S A* 包括所有的 S A 的状态以及一个 附加的状态 s.
分析化学与无机化学中溶液 pH 值计算的异同比较 谢永生  分析化学是大学化学系的一门基础课,课 时较少,其内容主要是无机物的化学分析。 分析化学是以无机化学作为基础的,我们 都是在已掌握一定的无机化学知识后才学 习分析化学 。所以在分析 化学的学习中会 重复许多无机化学内容,造成学习没有兴.
1 为了更好的揭示随机现象的规律性并 利用数学工具描述其规律, 有必要引入随 机变量来描述随机试验的不同结果 例 电话总机某段时间内接到的电话次数, 可用一个变量 X 来描述 例 检测一件产品可能出现的两个结果, 也可以用一个变量来描述 第五章 随机变量及其分布函数.
Harris Spring 2005 讲座一 “ERP 与企业流程再造 ” 东南大学 自控系 赵霁教授 电话: 一 ERP 是什么? 二企业为什么要引入 ERP 系统? 三企业管理软件的发展与 ERP 的创新之处 四 ERP 与流程再造的关系。 五 企业流程再造规划分析。
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第三十八讲 ) 离散数学. 第八章 格与布尔代数 §8.1 引 言 在第一章中我们介绍了关于集 合的理论。如果将 ρ ( S )看做 是集合 S 的所有子集组成的集合, 于是, ρ ( S )中两个集合的并 集 A ∪ B ,两个集合的交集.
第二部分 行政法律关系主体 第一节 行政主体 一、行政主体 (一)行政主体的概念 cc (二)行政主体资格含义及构成要件 CASE1CASE1\CASE2CASE2 (三)行政主体的职权和职责 1 、行政职权的概念及内容 2 、行政职权的特点 3 、行政职责.
What is software engineering?
线性代数习题课 吉林大学 术洪亮 第一讲 行 列 式 前面我们已经学习了关 于行列式的概念和一些基本 理论,其主要内容可概括为:
安全操作系统 中国科学技术大学计算机系 陈香兰( 0512 - ) 助教:裴建国 Autumn 2008.
外文文献检索示例. 实验目的: 掌握利用计算机网络检索外文文献的基本方法; 了解熟悉下列数据库的结构、内容并掌握其检索方 法 ; 掌握检索的主要途径:出版物( Publication )、关键 词( Keyword )、作者( Author )等。
信息利用与学术论文写作 Library of Jiangsu University, Zhenjiang Sha Zhenjiang
UML 对象设计与编程 主 讲 : 董兰芳 副教授 Dept. of Computer Science,USTC
在发明中学习 线性代数 概念的引入 李尚志 中国科学技术大学. 随风潜入夜 : 知识的引入 之一、线性方程组的解法 加减消去法  方程的线性组合  原方程组的解是新方程的解 是否有 “ 增根 ” ?  互为线性组合 : 等价变形  初等变换  高斯消去法.
1 学籍归档工作 年学籍归档工作安排 从 2008 年开始,改为按届移交档案 从 2008 年开始,改为按届移交档案 今年的归档工作范围: 今年的归档工作范围: 2014 年应届毕业班级 2014 年应届毕业班级 2014 年办理毕业证的往届生。 2014 年办理毕业证的往届生。 整理内容:根据.
1 地 理 信 息 系 统 —— 专业必修课程 西南大学地理科学学院 田永中 ,
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *
Department of Mathematics 第二章 解析函数 第一节 解析函数的概念 与 C-R 条件 第二节 初等解析函数 第三节 初等多值函数.
网上预约集港操作指南 一、登录系统 登陆下面图片显示网址:输入堆场用户名、密码和校验码登陆系统.
晒课系统功能介绍 抚顺市教师进修学院电教部. 一、系统整体功能介绍 二、教师如何晒课 三、教研员如何协助 四、管理员的权限 五、时间安排及注意问题.
首 页 首 页 上一页 下一页 本讲内容本讲内容 视图,剖视图(Ⅰ) 复习: P107 ~ P115 作业: P48(6-2,6-4), P49( 去 6-6) P50, P51(6-13), P52 P50, P51(6-13), P52 P53 (6-18,6-20) P53 (6-18,6-20)
1-4 节习题课 山东省淄博第一中学 物理组 阚方海. 2 、位移公式: 1 、速度公式: v = v 0 +at 匀变速直线运动规律: 4 、平均速度: 匀变速直线运动 矢量式 要规定正方向 统一单位 五个量知道了三 个量,就能求出 其余两个量 3 、位移与速度关系:
《 UML 分析与设计》 交互概述图 授课人:唐一韬. 知 识 图 谱知 识 图 谱知 识 图 谱知 识 图 谱.
What is software? Software is a set of items or objects that form a configuration that includes: –Programs –Documents –Data.
Maintaining the System 中国科学技术大学软件学院 孟宁 2012 年 11 月.
Chapter 1 What is Software Engineering Shari L. Pfleeger Joanne M. Atlee 4 th Edition.
The Future of Software Engineering 中国科学技术大学软件学院 孟宁 2010 年 12 月.
College of Computer and Information Science Chapter 14 Programming and Languages.
电子商务实务 项目四 B2B 交易 目标 1 、了解 B2B 交易的基本流程 2 、熟练掌握平台 B2B 交易相关操作 3 、掌握电子商务技能鉴定培训平台交易大厅相关操作 4 、了解 B2B 的方式及其特点 5 、了解 B2B 平台的类型及其特点 6 、熟悉目前典型的 B2B 第三方支付平台及特点.
Delivering the System 中国科学技术大学软件学院 孟宁 2012 年 11 月.
华南师范大学教育科学学院 第二步:明确小组成员分工 选举 “ 常任组长 ” 1 名。 所有组员以个人姓名笔画排序 1 、 2 、 3 、 4 、 5 号,轮流担任 “ 轮值组长 ” ,每一周进行轮换。 本次课的轮值组长为 1 号。
1 、如果 x + 5 > 4 ,那么两边都 可得 x >- 1 2 、在- 3y >- 4 的两边都乘以 7 可得 3 、在不等式 — x≤5 的两边都乘以- 1 可得 4 、将- 7x — 6 < 8 移项可得 。 5 、将 5 + a >- 2 a 移项可得 。 6 、将- 8x < 0.
新一代移动物联系统 MC MOBILE CONTROL 开启办公物联网时代 Product Promotion.
EC 营客通产品操作(九) EC 营客通产品操作(九) 400 电话 400 电话. 400 电话有助于提升企业形象,无论企业地址变更、机构 变化、人员变动,联系方式永远不变。且在 EC 上申请的 400 电话可以在 EC 平台上进行统一的 400 电话接听及 400 电话客服的管理。
Chapter 1 Quality terminology Error: human mistake Fault: result of mistake, evidenced in some development or maintenance product Failure: departure from.
2015 年江苏省美术专业统考考试说明 解读 : 贡加兵 扬州市邗江区公道中学
表单自定义 “ 表单自定义 ” 功能是用于制作表单的 工具,用数飞 OA 提供的表单自定义 功能能够快速制作出内容丰富、格 式规范、美观的表单。
力的合成 力的合成 一、力的合成 二、力的平行四边形 上一页下一页 目 录 退 出. 一、力的合成 O. O. 1. 合力与分力 我们常常用 一个力来代替几个力。如果这个 力单独作用在物体上的效果与原 来几个力共同作用在物体上的效 果完全一样,那么,这一个力就 叫做那几个力的合力,而那几个 力就是这个力的分力。
数学广角——优化 沏茶问题.
问题 1 :制度建设在示范院建设中的地位 问题 1 :制度建设在示范院建设中的地位 陈述人:经管系 曾志平 关键词:制度创新、办学效益、激励 点 评:
2012 年昆明冶金高等专科学校 生源地贷款培训会. 一、生源地贷款鉴定证明 各地区县级教育部门生源地贷款办理时间一般 从 7 月 1 日开始。学校应尽快办理好学校鉴定证明, 给学生充裕的时间到当地办理.
“ 图书馆资源与服务利用 ” 专题讲座 第 9 讲 JSTOR 数据库与 Kluwer Online 数据库的使用.
算得清写的准 —— 物业费公示报告的编写 讲师:朱芸 物业费的 构成? 哪些是管 理人员工 资呢? 哪些算工程费 用? 怎样才能核 算的清楚呢?
荆门市总工会会员信息采集系统 操作培训 融建信息技术有限公司 肖移海 QQ群号:
“ 百链 ” 云图书馆. 什么是百链云图书馆?1 百链云图书馆的实际效果?2 百链云图书馆的实现原理?3 百链云图书馆的价值?44 图书馆要做什么?55 提 纲.
同分母分数加、减法 分数的初步认识 绿色圃中小学教育网
用 9 加几解决问题 北京小学 石 颖 第八单元 20 以内的进位加法. 一、口算练习,复习旧知 9+5 = 9+7 = 109 快来算一算! 我们一起看算式,抢答结果,看谁算得又对又快! 说一说你是怎么计算 9+5 这道题的。 2+9 = 5+9 =
无忧 PPT 整理发布 无忧 PPT 整理发布 网上教研活动的推进与 学习社区的构建 首都师范大学 蒋国珍 2008 年 12 月.
如何申请《教育部学历证书电子注册备案表》 以及《教育部学历认证报告》. 一、如何申请《教育部学历证书电 子注册备案表》中文版 方式一:实名注册过的用户,通过学信档案 申请。 实名注册学信档案实名注册学信档案.
开放教育学员入学须知 第一部分:浏览山东理工大学远程与继续 教育学院网站浏览山东理工大学远程与继续 教育学院网站 第二部分:浏览中央电大教学平台浏览中央电大教学平台 第三部分:浏览山东电大教学平台浏览山东电大教学平台 第四部分:浏览淄博电大教学平台浏览淄博电大教学平台 第五部分:淄博电大教学平台使用淄博电大教学平台使用.
森林保护学本科系列课程 教学改革与实践 西北农林科技大学 一、基本情况 二、主要成果 三、创新点 四、成果的应用 项目研究背景 项目的总体设计 成果简介 解决的主要教学问题 解决教学问题的方法 改革前后的对比.
院长助理 教务处长 李学锋 教授 2008 年 9 月 9 日 基于工作过程的系统化高职课程建设.
课程简介 算法设计与分析 ( Design and Analysis of Algorithms) 任课教师 : 王轶彤 Tel: TA: 周泽学 授课方式 : 全英文教学, 3.
如何开展新学期 “ 导学课 ”. 如何组织 导学课 遇到问题 联系谁 导学课 基本内容 123 目录.
人 有 悲 欢 离 合, 月有阴晴圆缺。月有阴晴圆缺。 华师大版七年级数学第二册 海口市第十中学 数学组 吴锐.
韩文数据库使用说明 鲁锦松. 主要内容 一、为什么要用数据库 二、怎样利用中文数据库 三、怎样利用韩文数据库.
Chapter 1 SOFTWARE ENGINEERING What is Software Engineering.
SCI 数据库检索练习参考 本练习完全依照 SCI 数据库实际检索过程而 实现。 本练习完全依照 SCI 数据库实际检索过程而 实现。 练习中,选择了可以举一反三的题目,读 者可以根据题目进行另外的检索练习,如: 可将 “ 与 ” 运算检索改为 “ 或 ” 、 “ 非 ” 运算检索 等等。 练习中,选择了可以举一反三的题目,读.
SME.USTB Human Factors 人机工程学 By Wei Dong Department of Industry Design, SME, USTB.
Why Software Engineering?
Testing the Programs 东华理工大学软件学院 李祥.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Why Software Engineering?
Presentation transcript:

Why Software Engineering? 中国科学技术大学软件学院 孟宁 2015 年 09 月

编程的乐趣 ♦

软件工程的地位 ♦ 程序 = 算法 + 数据结构 ♦ 软件 = 程序 + 软件工程 ♦ 软件企业 = 软件 + 商业模式

Agenda 1.1 What is Software Engineering? 1.2 How Successful Have We Been? 1.3 What Is Good Software? 1.4 Who Does Software Engineering? 1.5 A System Approach 1.6 An Engineering Approach 1.7 Members of the Development Team 1.8 How Has Software Engineering Changed?

Objectives ♦What we mean by software engineering ♦Software engineering’s track record ♦What we mean by good software ♦Why a system approach is important ♦How software engineering has changed since 1970s

1.1 What is Software Engineering Solving Problems ♦Software products are large and complex ♦Development requires analysis and synthesis –Analysis: decompose a large problem into smaller, understandable pieces abstraction is the key –Synthesis: build (compose) a software from smaller building blocks composition is challenging

1.1 What is Software Engineering Solving Problems ♦The analysis process

1.1 What is Software Engineering Solving Problems ♦The synthesis process

1.1 What is Software Engineering Solving Problems ♦Method: refers to a formal procedure; a formal “recipe” for accomplishing a goal that is typically independent of the tools used ♦Tool: an instrument or automated system for accomplishing something in a better way ♦Procedure: a combination of tools and techniques to produce a product ♦Paradigm: philosophy or approach for building a product (e.g., OO vs structured approaches)

1.1 What is Software Engineering Where Does the Software Engineer Fit In? ♦Computer science: focusing on computer hardware, compilers, operating systems, and programming languages ♦Software engineering: a discipline that uses computer and software technologies as a problem-solving tools

1.1 What is Software Engineering Where Does the Software Engineer Fit In? ♦Relationship between computer science and software engineering

1.2 How Successful Have We Been? ♦Perform tasks more quickly and effectively –Word processing, spreadsheets, ♦Support advances in medicine, agriculture, transportation, multimedia education, and most other industries ♦Many good stories ♦However, software is not without problems

1.2 How Successful Have We Been? Sidebar 1.1 Terminology for Describing Bugs ♦A fault: occurs when a human makes a mistake, called an error, in performing some software activities ♦A failure: is a departure from the system’s required behaviour

1.2 How Successful Have We Been? Examples of Software Failure ♦IRS hired Sperry Corporation to build an automated federal income tax form processing process –An extra $90 M was needed to enhance the original $103 product –IRS lost $40.2 M on interests and $22.3 M in overtime wages because refunds were not returned on time ♦Malfunctioning code in Therac-25 killed several people ♦Reliability constraints have caused cancellation of many safety critical systems –Safety-critical: something whose failure poses a threat to life or health

1.3 What Is Good Software? Sidebar 1.2 Perspective on Quality ♦The transcendental view: quality is something we can recognize but not define ♦The user view: quality is fitness for purpose ♦The manufacturing view: quality is conformance to specification ♦The product view: quality tied to inherent product characteristics ♦The value-based view: depends on the amount the customers is willing to pay for it

1.3 What is Good Software? ♦Good software engineering must always include a strategy for producing quality software ♦Three ways of considering quality –The quality of the product –The quality of the process –The quality of the product in the context of the business environment

1.3 What Is Good Software? The Quality of the Product ♦Users judge external characteristics (e.g., correct functionality, number of failures, type of failures) ♦Designers and maintainers judge internal characteristics (e.g., types of faults) ♦Thus different stakeholders may have different criteria ♦Need quality models to relate the user’s external view to developer’s internal view

1.3 What Is Good Software? The Quality of the Product (continued) ♦McCall’s quality model

1.3 What Is Good Software? The Quality of the Process ♦Quality of the development and maintenance process is as important as the product quality ♦The development process needs to be modeled ♦Modeling will address questions such as –Where to find a particular kind of fault –How to find faults early –How to build in fault tolerance –What are alternative activities

1.3 What Is Good Software? The Quality of the Process (continued) ♦Models for process improvement –SEI’s Capability Maturity Model (CMM) –ISO 9000 –Software Process Improvement and Capability dEtermination (SPICE)

1.3 What Is Good Software? The Quality in the Context of the Business Environment ♦Business value is as important as technical value ♦Business value (in relationship to technical value) must be quantified ♦A common approach: return on investment (ROI) ♦ROI is interpreted in different terms: reducing costs, predicting savings, improving productivity, and costs (efforts and resources)

1.4 Who Does Software Engineering? ♦Customer: the company, organization, or person who pays for the software system ♦Developer: the company, organization, or person who is building the software system ♦User: the person or people who will actually use the system

1.4 Who Does Software Engineering? (continued) ♦Participants (stakeholders) in a software development project

1.5 System Approach ♦Hardware, software, interaction with people ♦Identify activities and objects ♦Define the system boundary ♦Consider nested systems, systems interrelationship

1.5 System Approach The Element of a System ♦Activities and objects –An activity is an event initiated by a trigger –Objects or entities are the elements involved in the activities ♦Relationships and the system boundaries –A relationship defines the interaction among entities and activities –System boundaries determine the origin of input and destinations of the output

1.5 System Approach The Element of a System (continued) ♦Example of systems: a human respiratory system

1.5 System Approach The Element of a System (continued) ♦A computer system must also be clearly described: System definition of a paycheck production

1.5 System Approach Interrelated Systems ♦Some systems are dependent to other systems –The interdependencies may be complex ♦It is possible for one system to exist inside another system ♦If the boundary definitions are detailed, building a larger system from the smaller ones is relatively easy

1.5 System Approach Interrelated Systems (continued) ♦A layered system

1.6 Engineering Approach Building a System ♦Requirement analysis and definition ♦System design ♦Program design ♦Writing the programs ♦Unit testing ♦Integration testing ♦System testing ♦System delivery ♦Maintenance

1.7 Members of the Development Team ♦Requirement analysts: work with the customers to identify and document the requirements ♦Designers: generate a system-level description of what the system is supposed to do ♦Programmers: write lines of code to implement the design ♦Testers: catch faults ♦Trainers: show users how to use the system ♦Maintenance team: fix faults that show up later ♦Librarians: prepare and store documents such as software requirements ♦Configuration management team: maintain correspondence among various artifacts

1.7 Members of the Development Team (continued) ♦Typical roles played by the members of a development team

1.8 How Has Software Engineering Changed? The Nature of the Change ♦Before 1970s –Single processors: mainframes –Designed in one of two ways as a transformation: input was converted to output as a transaction: input determined which function should be performed ♦After 1970s –Run on multiple systems –Perform multi-functions

1.8 How Has SE Changed? Wasserman's Seven Key Factors 1.Critically of time-to-market 2.Shifts in the economics of computing 3.Availability of powerful desktop computing 4.Extensive local- and wide-area networking 5.Availability and adoption of object-oriented technology 6.Graphical user interfaces 7.Unpredictability of the waterfall model of software development

1.8 How Has SE Changed? Wasserman's Seven Key Factors (continued) ♦The key factors that have changed the software development

1.8 How Has SE Changed? Wasserman's Discipline of Software Engineering ♦Abstractions ♦Analysis and design methods and notations ♦User interface prototyping ♦Software architecture ♦Software process ♦Reuse ♦Measurement ♦Tools and integrated environments

1.8 How Has SE Changed? Abstraction ♦A description of the problem at some level of generalization –Hide details

1.8 How Has SE Changed? Analysis and Design Methods and Notations ♦Provide documentation ♦Facilitate communication ♦Offer multiple views ♦Unify different views

1.8 How Has SE Changed? User Interface Prototyping ♦Prototyping: building a small version of a system –Help users identify key requirements of a system –Demonstrate feasibility ♦Develop good user interface

1.8 How Has SE Changed? Software Architecture ♦A system’s architecture describes the system in terms of a set of architectural units and relationships between these units ♦Architectural decomposition techniques –Modular decomposition –Data-oriented decomposition –Event-driven decomposition –Outside-in-design decomposition –Object-oriented decomposition

1.8 How Has SE Changed? Software Process ♦Many variations ♦Different types of software need different processes –Enterprise-wide applications need a great deal of control –Departmental applications can take advantage of rapid development

1.8 How Has SE Changed? Software Process (continued) ♦Pictorial representation of differences in development processes

1.8 How Has SE Changed? Software Reuse ♦Commonalities between applications may allow reusing artifacts from previous developments –Improve productivity –Reduce costs ♦Potential concerns –It may be faster to build a smaller application than searching for reusable components –Generalized components take more time to build –Must clarify who will be responsible for maintaining reusable components –Generality vs specificity: always a conflict

1.8 How Has SE Changed? Measurement ♦Objective: describe quality goals in a quantitative way

1.8 How Has SE Changed? Tools and Integrated Environments ♦Platform integration (on heterogeneous networks) ♦Presentation integration (commonality of user interface) ♦Process integration (linking tools and the development process) ♦Data integration (to share common data) ♦Control integration (the ability of one tool to initiate action in another one)

What this Chapter Means for You ♦Given a problem to solve –Analyze it –Synthesize a solution ♦Understand that requirements may change ♦Must view quality from several different perspectives ♦Use fundamental software engineering concepts (e.g., abstractions and measurements) ♦Keep system boundary in mind

Question 1 ♦ 假如小王要从苏州到纽约去度假,她要面 对如何到达纽约的问题,利用本章学习的 方法您来分析这个问题并给出几套解决方 案供小王选择。

Question 2 ♦ 简述软件开发过程 ♦Requirements analysis and definition ♦System design ♦Program design ♦Writing programs ♦Unit testing ♦Integration testing ♦System testing ♦System delivery ♦Maintenance ♦Communication ♦Planning ♦Modeling –Analysis of requirements –Design ♦Construction –Code generation –Testing ♦Deployment

Question 3 ♦ 假设我们正在开发一个图书馆管理系统,它由三个主要的 子系统构成,分别是:借阅 / 归还事务处理;目录管理; 和报表处理。在开发的过程中出现了一些问题。请将下列 问题分类( Error , Fault , Failure ) ♦1. 在计算超期罚款的代码中, fine_total 变量未被初始化。 ♦2. 在图书管理员试图向目录中添加新书名的时候,系统关 机了。 ♦3. 需求分析的作者并不知道还书的时候是不需要读者证的。 ♦4. 在需求分析中,超期罚款规定为每天 0.25 美元,上限 15 美元。但计算超期罚款的代码并没有考虑罚款上限问题。 ♦5. 根据设定,图书管理系统会在每晚 11 点备份全天处理的 事务。但周二晚上并没有进行备份。

Question 4 ♦ 谈一谈如何在软件开 发过程中提高产品质 量。

Question 5 ♦ 谈一谈系统化和抽象化如何统一起来,以 帮助我们设计更简单更有效的解决方案。

谢谢大家! References 软件工程 - 理论与实践(第四版 影印版) Software Engineering: Theory and Practice (Fourth Edition),Shari Lawrence Pfleeger,Joanne M. Atlee, 高等教育 出版社 软件工程 - 理论与实践(第四版) Software Engineering: Theory and Practice (Fourth Edition),Shari Lawrence Pfleeger,Joanne M. Atlee, 杨卫东译, 人民邮电 出版社 软件工程 — 实践者的研究方法( Software Engineering-A Practitioner’s Approach ) ; ( 美 ) Roger S. Pressman 著; 机械工业出版社 ISBN :