软件原理与工程
软件原理与工程封面图

软件原理与工程

黄景碧, 温善毅, 编著

出版社:清华大学出版社

年代:2014

定价:40.0

书籍简介:

本书以一个完整的软件案例贯穿全文,以Visual Studio为开发工具、.Net为开发平台、C#为编程语言、SQL Server为数据库服务器,全面阐述了软件原理与工程。

书籍目录:

第1章软件原理与工程概述——以EDSS软件为例1

1.1软件的“信息互动系统”观1

1.1.1“系统”即“信息互动系统”1

1.1.2系统的迭代性3

1.2软件探究的“信息互动系统原理与工程”观6

1.2.1“系统原理与工程”即“信息互动系统原理与工程”6

1.2.2“系统原理与工程”框架6

1.2.3系统要素及其架构: 概述7

1.2.4系统要素及其架构: 要素/类型/对象的含义10

1.2.5系统要素及其架构: 架构/模式/结构/关系的含义15

1.2.6系统要素及其架构: 数据与行为的含义19

1.2.7系统要素及其架构: 小结32

1.2.8系统过程及其状态35

1.2.9系统工程37

1.3软件原理与工程——以EDSS软件系统为例42

1.3.1“EDSS原理与工程”框架42

1.3.2EDSS要素及其架构43

1.3.3EDSS过程及其状态48

1.3.4EDSS工程50

1.3.5“EDSS软件原理与工程”框架53

1.3.6EDSS软件要素及其架构53

1.3.7EDSS软件过程及其状态56

1.3.8EDSS软件工程: 概述57

1.3.9EDSS软件工程: 软件分析59

1.3.10EDSS软件工程: 软件设计61

1.3.11EDSS软件工程: 软件开发62

1.3.12EDSS软件工程: 软件实施63

1.3.13EDSS软件工程: 软件管理64

1.3.14EDSS软件工程: 软件评价641.4本章小结65第2章软件工程工具软件——以Visual Studio开发EDSS软件为例66

2.1Visual Studio界面66

2.2Visual Studio配置68

2.3Visual Studio与.NET平台68

2.4Visual Studio与软件工程70

2.5Visual Studio与解决方案、项目、项72

2.5.1项: 概述73

2.5.2项: Properties文件夹76

2.5.3项: “引用”文件夹76

2.5.4项: M、V、C文件夹78

2.5.5项: Content、Scripts文件夹80

2.5.6项: Global.asax文件、Global.asax.cs文件82

2.5.7项: Web.config 文件85

2.5.8项: 小结87

2.5.9项目88

2.5.10解决方案94

2.6代码编辑97

2.7代码模型98

2.8代码导航100

2.9代码重构103

2.10软件排错、测试、调试104

2.11软件编译、生成、打包、部署、发布106

2.12软件运行108

2.13本章小结108第3章软件语言——以C#编写ASP.NET MVC平台的EDSS软件为例109

3.1代码文件110

3.2代码语法: 词法、句法112

3.3代码词法: 关键词、非关键词113

3.4代码词法: 标识符;名称、ID114

3.5代码词法: 运算符、表达式114

3.6代码词法: 注释115

3.7代码句法: 语句、语句块116

3.8代码句法: 流程控制语句117

3.9对象类型: 概述126

3.10对象类型: 类、结构、枚举、委托、特性、接口127

3.10.1类: 继承扩展于Object根的属性与方法统一体127

3.10.2类: 属性/字段/数据/事件138

3.10.3类: 方法/函数/行为/Lambda表达式141

3.10.4特殊的类: 结构144

3.10.5特殊的类: 枚举146

3.10.6特殊的类: 委托148

3.10.7特殊的类: 特性150

3.10.8接口154

3.11对象类型: 基础类型、复杂类型159

3.11.1基础类型: 数值类型159

3.11.2基础类型: 字符类型;正则表达式查询160

3.11.3基础类型: 布尔类型164

3.12对象类型: 泛型165

3.13对象类型的关系167

3.13.1引用与被引用/关联与被关联167

3.13.2依赖与被依赖169

3.13.3复合与被复合170

3.13.4聚合与被聚合171

3.13.5嵌套与被嵌套173

3.14对象类型的结构174

3.14.1线性结构: 集合、LINQ174

3.14.2树型结构: XML文档、XML DOM183

3.14.3网状结构189

3.15对象类型的模式193

3.16对象类型的架构196

3.16.1MVC架构196

3.16.2MVC架构与软件、软件周期、会话周期197

3.16.3MVC架构与URL路由200

3.16.4控制器C201

3.16.5模型M: 数据注释、数据验证、数据库的映射205

3.16.6模型M: 与ViewBag的互补207

3.16.7视图V: 视图V与浏览器端界面208

3.16.8视图V: HTML、CSS、@C#、ASP.NET MVC平台209

3.16.9视图V: 布局视图、分部视图214

3.16.10浏览器端界面: HTML、CSS、JavaScript、浏览器平台218

3.16.11浏览器端界面: 发送名值对、表单、文件223

3.16.12浏览器端界面: AJAX231

3.17本章小结233第4章软件数据技术——以SQL Server实现EDSS数据应用为例235

4.1数据采集235

4.1.1SSMS与数据库开发管理236

4.1.2数据库服务238

4.1.3数据库239

4.1.4数据库: Schema/架构246

4.1.5数据库: 表、表关系246

4.1.6SQL语言250

4.1.7数据采集应用的开发253

4.2关于数据仓库265

4.3数据集成266

4.3.1SSBIDS与SSIS解决方案、项目、项266

4.3.2SSIS包267

4.3.3SSIS包: 连接268

4.3.4SSIS包: 控制流269

4.3.5SSIS包: 数据流272

4.4数据分析、数据挖掘275

4.4.1SSBIDS与SSAS解决方案、项目、项275

4.4.2数据源276

4.4.3数据源视图280

4.4.4多维分析数据集283

4.4.5多维分析数据集: 结构286

4.4.6多维分析数据集: 计算288

4.4.7多维分析数据集: 浏览器290

4.4.8数据分析应用的开发291

4.4.9挖掘结构294

4.4.10挖掘结构: 算法模型297

4.4.11挖掘结构: 模型查看器299

4.4.12数据挖掘应用的开发300

4.5本章小结302参考文献303文中注释304示 例 目 录

示例21Global.asax代码示例82

示例22Global.asax.cs代码示例83

示例23Web.config文件代码示例86

示例31.cs文件中C#代码的基本框架110

示例32分支语句: if…else…117

示例33分支语句: switch119

示例34循环语句: while120

示例35循环语句: do…while…122

示例36循环语句: for124

示例37循环语句: foreach125

示例38类类型,类是属性与方法的统一体127

示例39结构类型144

示例310枚举类型146

示例311委托类型148

示例312特性类型151

示例313接口类型154

示例314正则表达式162

示例315泛型165

示例316对象类型的关系: 引用与被引用/关联与被关联167

示例317对象类型的关系: 依赖与被依赖169

示例318对象类型的关系: 复合与被复合170

示例319对象类型的关系: 聚合与被聚合171

示例320对象类型的关系: 嵌套与被嵌套173

示例321对象类型的结构: 线性结构(自定义类型实现)175

示例322对象类型的结构: 线性结构(.NET内置类型实现,List等

集合类型,LINQ)181

示例323对象类型的结构: 树型结构(自定义类型实现)184

示例324对象类型的结构: 树型结构(.NET内置类型实现、XML DOM)186

示例325对象类型的结构: 网状结构(自定义类型实现,.NET尚未内置网状

结构相关的类型)189

示例326对象类型的模式: 原型模式194

示例327控制器C201

示例328模型M205

示例329视图V(HTML、CSS、@C#、ASP.NET MVC平台相关代码)210

示例330布局视图214

示例331分部视图217

示例332浏览器端界面(HTML、CSS、JavaScript、浏览器平台相关代码)219

示例333浏览器端界面发送名值对给服务器端控制器C: 浏览器端界面224

示例334浏览器端界面发送名值给服务器端控制器C: 服务器端控制器C224

示例335浏览器端界面发送表单给服务器端控制器C: 浏览器端界面226

示例336浏览器端界面发送表单给服务器端控制器C: 服务器端控制器C228

示例337浏览器端界面发送文件给服务器端控制器C: 浏览器端界面229

示例338浏览器端界面发送文件给服务器端控制器C: 服务器端控制器C230

示例339Ajax232

示例41模型M: Person实体类253

示例42模型M: Learner实体类254

示例43模型M: Educator实体类255

示例44模型M: Curriculum实体类255

示例45模型M: CurriculumCategory实体类256

示例46模型M: CurriculumSelectedScore实体类257

示例47“.NET平台的实体类型及其关系”与“数据库平台的数据表及其关系”

的映射258

示例48数据分析应用291

示例49数据挖掘应用300

图目录

图11系统的模型表述(系统的描述是文本语言与模型语言的统一)2

图12“信息互动系统”的模型表述2

图13系统的迭代与直趋的统一3

图14系统、EDSS系统、EDSS软件系统、整个世界系统6

图15“系统原理与工程: 系统要素及其架构、过程及其状态的分析、设计、开发、

实施、管理、评价的迭代”是系统认识与改造的理想迭代起点、迭代主线7

图16系统要素及其架构的迭代起点;系统的本质7

图17系统要素及其架构的迭代粒度之一8

图18系统要素及其架构的理想迭代粒度、迭代框架(CMMI视角)9

图19系统要素及其架构的理想迭代粒度、迭代框架(MVC视角)10

图110要素、类型、对象的层次关系(以教育系统为例)11

图111过程状态图示例;顺序、分支、循环的统一(以考试过程状态为例)13

图112系统的架构、模式、结构、关系的层次关系(以教育系统为例)16

图113结构分类18

图114要素/类型/对象的数据与行为的迭代层次20

图115“类型/对象”与“数据表/行”之间的映射20

图116数据库示例: EDSS数据库21

图117“类继承关系”与“表引用关系”之间的映射25

图118数据仓库示例: EDSSDW数据仓库26

图119数据库中的数据定期集成转换到数据仓库的示例: SSIS数据集成项目28

图120基于多维分析数据集的多维分析示例: SSAS多维数据分析项目29

图121基于数据挖掘结构的数据挖掘示例: SSAS数据挖掘项目30

图122聚类图示31

图123分类/回归图示32

图124要素及其架构的层次33

图125系统过程及其状态的迭代起点、迭代框架(CMMI视角)36

图126系统过程及其状态的迭代起点、迭代框架(MVC视角)37

图127系统工程的迭代起点、迭代框架(CMMI视角,具体应用时分拆为分析、

设计、开发、实施、管理、评价六个环节)38

图128系统工程的迭代起点、迭代框架(MVC视角,具体应用时分拆为

分析、设计、开发、实施、管理、评价六个环节)40

图129EDSS原理与工程: EDSS要素及其架构、过程及其状态的分析、设计、

开发、实施、管理、评价的迭代42

图130EDSS要素及其架构的迭代起点,EDSS的本质43

图131EDSS要素及其架构的迭代粒度之一44

图132EDSS要素及其架构的理想迭代粒度、迭代框架45

图133教育要素及其架构的迭代起点;教育的本质45

图134教育要素及其架构的迭代粒度之一46

图135教育要素及其架构的理想迭代粒度、迭代框架47

图136教育要素及其架构的简化48

图137EDSS过程及其状态的迭代起点、迭代框架50

图138EDSS工程的迭代起点、迭代框架(具体应用时分拆为分析、设计、开发、

实施、管理、评价六个环节)52

图139EDSS软件原理与工程: EDSS软件要素及其架构、过程及其状态

的分析、设计、开发、实施、管理、评价的迭代53

图140EDSS软件要素及其架构的迭代起点;EDSS软件的本质54

图141EDSS软件要素及其架构的迭代粒度之一54

图142EDSS软件要素及其架构的理想迭代粒度、迭代框架55

图143EDSS软件过程及其状态的迭代起点、迭代框架57

图144EDSS软件工程的迭代起点、迭代框架(具体应用时分拆为分析、设计、

开发、实施、管理、评价六个环节)59

图145主角用例迭代的模型表述60

图146EDSS软件视图界面设计用户登录使用61

图147EDSS软件视图界面设计注销登录62

图148软件视图界面与软件用例的一一对应62

图149EDSS软件开发示例63

图21Visual Studio主界面67

图22Visual Studio配置 68

图23软件平台69

图24源代码文件、目标代码文件72

图25“Windows资源管理器中的源代码文件、文件夹”与“VS解决方案资源

管理器中的解决方案、项目、项”互为映射73

图26项的添加(引用)75

图27项的排除75

图28“添加引用”对话框77

图29控制器C的创建78

图210视图V的创建79

图211模型M的创建80

图212Content文件夹下的.css样式等文件的创建81

图213Script文件夹下的.js脚本文件的创建81

图214Web.config文件的创建85

图215“新建项目”的界面,项目的类别与创建89

图216项目的添加(引用)90

图217项目的卸载91

图218项目属性设置: 应用程序92

图219项目属性设置: 生成93

图220项目属性设置: Web93

图221项目属性设置: 代码分析94

图222解决方案属性设置: “启动项目”96

图223解决方案属性设置: “项目依赖项”96

图224C#代码编辑窗口97

图225IntelliSense98

图226代码模型: 类图(类型及其关系图)99

图227代码模型: 顺序图(类型属性方法及其关系图)100

图228对象浏览器中的代码导航101

图229代码窗口中的代码导航102

图230任务列表窗口中的代码导航103

图231代码重构104

图232软件调试106

图233软件发布107

图234软件运行108

图31.cs文件中C#代码基本框架的运行结果110

图32if…else…分支语句示例的运行结果118

图33switch分支语句示例的运行结果120

图34while循环语句示例的运行结果121

图35do…while…循环语句示例的运行结果123

图36for循环语句示例的运行结果124

图37foreach循环语句示例的运行结果126

图38类类型示例的运行结果129

图39结构类型示例的运行结果145

图310枚举类型示例的运行结果147

图311委托类型示例的运行结果149

图312特性类型示例的运行结果153

图313接口类型示例的运行结果156

图314正则表达式示例的运行结果163

图315泛型示例的运行结果166

图316引用与被引用/关联与被关联关系示例的运行结果168

图317依赖与被依赖关系示例的运行结果170

图318复合与被复合关系示例的运行结果171

图319聚合与被聚合关系示例的运行结果173

图320嵌套与被嵌套关系示例的运行结果174

图321自定义类型实现线性结构示例的运行结果180

图322.NET内置类型实现线性结构示例的运行结果182

图323自定义类型实现树型结构示例的运行结果185

图324.NET内置类型实现树型结构的运行示例188

图325网状结构的运行结果示例193

图326原型模式的运行结果示例195

图327ASP.NET MVC软件架构197

图328软件、软件周期、会话周期示例的运行结果198

图329控制器C的运行结果示例: View()方法返回视图V203

图330控制器C的运行结果示例: Content()方法返回字符串204

图331控制器C的运行结果示例: File()方法返回文件204

图332控制器C的运行结果示例: Redirect ()方法重定向到其他URL205

图333模型M的运行结果示例: 通过控制器C内置的Content()方法返回

取值于模型M对象属性的字符串给浏览器端207

图334模型M的运行结果示例: 通过控制器C内置的View()方法传递给

视图V再返回给浏览器端207

图335ViewBag示例的运行结果: 控制器C通过ViewBag传递数据给

视图V再返回给浏览器端208

图336视图V示例的运行结果210

图337布局视图示例的运行结果215

图338分部视图示例的运行结果217

图339HTML、CSS、JavaScript、浏览器平台示例的运行结果220

图340浏览器端界面发送名值对给服务器端控制器C的运行结果示例225

图341浏览器端界面发送表单给服务器端控制器C示例的运行结果229

图342浏览器端界面发送文件给服务器端控制器C示例的运行结果231

图343Ajax示例的运行结果233

图41SSMS连接SS服务236

图42SSMS连接数据库引擎后的“对象资源管理器”界面: EDSS数据库示例237

图43SSDE数据库服务的属性设置239

图44数据库的属性设置240

图45数据库的导出241

图46数据库的导入242

图47数据库的分离243

图48数据库的附加244

图49数据库的备份244

图410数据库的还原245

图411表的属性设置247

图412新建表、表列247

图413表列的编辑248

图414为新建表输入名称248

图415表行的新建249

图416表关系的新建250

图417SQL编辑、编译、运行的界面: 查询设计器251

图418EDSSDW数据仓库的表及其关系示例265

图419SSBIDS开发SSIS项目266

图420新建SSIS包、SSIS包设计器268

图421新建连接269

图422已添加的连接270

图423控制流选项卡、控制流工具箱270

图424“执行SQL任务”控制流272

图425数据流选项卡、数据流工具箱273

图426数据流的编辑273

图427数据源的编辑示例274

图428数据目标的编辑示例274

图429SSBIDS开发SSAS项目275

图430数据源向导: 建立数据分析的数据源连接277

图431“数据源设计器”对话框中查看、修改数据源278

图432数据源向导: 建立数据挖掘的数据源连接279

图433数据源视图向导: 建立数据分析的数据源视图281

图434数据源视图中表及其关系的属性282

图435用“数据源视图向导”建立数据挖掘的数据源视图283

图436多维数据集向导284

图437“多维数据集结构”选项卡286

图438新建度量值287

图439维度结构编辑器: 维度表的属性及其关系编辑288

图440多维分析数据集: 计算289

图441多维分析数据集的浏览290

图442数据分析(OLAP)应用开发示例293

图443挖掘结构向导295

图444挖掘模型示例: Microsoft_Decision_Trees决策树算法298

图445数据挖掘结果的浏览示例: Microsoft_Decision_Trees决策树算法299

图446数据挖掘(OLDM)应用开发示例301表目录

表11系统分析、设计、开发、实施、管理、评价的迭代7

表12ScoreOfSelectedCurriculumByLearner(学习者所选课程分数)21

表13Learner(学习者)22

表14Curriculum(课程)22

表15CurriculumCategory(课程类别)22

表16MeasureScoreOfSelectedCurriculumByLearner26

表17DimCurriculum26

表18DimCurriculumCategory27

表19DimLearner27

表110DimLearnerSourcePlace27

表111DimCurriculumSelectedTime27

表112“信息互动系统”相关术语辨析33

表113系统过程及其状态的迭代起点、迭代框架(CMMI视角)35

表114系统过程及其状态的迭代起点、迭代框架(MVC视角)36

表115系统工程的迭代起点、迭代框架(CMMI视角,具体应用时分拆为

分析、设计、开发、实施、管理、评价六个环节)38

表116系统工程的迭代起点、迭代框架(MVC视角,具体应用时分拆为

分析、设计、开发、实施、管理、评价六个环节)39

表117EDSS分析、设计、开发、实施、管理、评价的迭代43

表118EDSS过程及其状态的迭代起点、迭代框架49

表119EDSS工程的迭代起点、迭代框架(具体应用时分拆为分析、

设计、开发、实施、管理、评价六个环节)51

表120EDSS软件分析、设计、开发、实施、管理、评价的迭代53

表121EDSS软件过程及其状态的迭代起点、迭代框架56

表122EDSS软件工程的迭代起点、迭代框架(具体应用时分拆为分析、

设计、开发、实施、管理、评价六个环节)58

表123EDSS软件分析概要59

表124EDSS软件设计概要61

表125EDSS软件开发概要63

表126EDSS软件实施概要63

表127EDSS软件管理概要64

表128EDSS软件评价概要64

表21虚拟机平台软件、操作系统平台软件;C/S软件、B/S软件70

表22软件错误的类别: 编译时错误、运行时错误、逻辑错误104

表31C#关键词113

表32C#上下文关键词114

表33C#运算符115

表34类型的可访问性、类型成员的可访问性137

表35基础类型: 数值类型159

表36基础类型: 字符类型、字符串类型161

表37字符转义161

表38正则表达式的元字符164

表39基础类型: 布尔类型165

表310@C#+ASP.NET MVC平台、C#+.NET平台的比较212

表311JavaScript+浏览器平台、C#+.NET平台的比较221

表41“SSMS开发数据库”与“VS开发ASP.NET MVC项目”237

表42SQL、LINQ的语法比较251

表43SQL+数据库平台、LINQ+.NET平台的基本功能比较252

表44数据注释(Data Annotations)、流畅应用程序接口(fluent API)263

表45面向对象的数据基本操作、面向SQL的数据基本操作264

表46“SSBIDS开发SSIS项目”与“VS开发ASP.NET MVC项目”267

表47“SSBIDS开发SSAS项目”与“VS开发ASP.NET MVC项目”276

表22软件错误的类别: 编译时错误、运行时错误、逻辑错误104

表31C#关键词113

表32C#上下文关键词114

表33C#运算符115

表34类型的可访问性、类型成员的可访问性137

表35基础类型: 数值类型159

表36基础类型: 字符类型、字符串类型161

表37字符转义161

表38正则表达式的元字符164

表39基础类型: 布尔类型165

表310@C#+ASP.NET MVC平台、C#+.NET平台的比较212

表311JavaScript+浏览器平台、C#+.NET平台的比较221

表41“SSMS开发数据库”与“VS开发ASP.NET MVC项目”237

表42SQL、LINQ的语法比较251

表43SQL+数据库平台、LINQ+.NET平台的基本功能比较252

表44数据注释(Data Annotations)、流畅应用程序接口(fluent API)263

表45面向对象的数据基本操作、面向SQL的数据基本操作264

表46“SSBIDS开发SSIS项目”与“VS开发ASP.NET MVC项目”267

表47“SSBIDS开发SSAS项目”与“VS开发ASP.NET MVC项目”276

第1章概述1

1.1软件服务外包1

1.1.1服务外包1

1.1.2软件服务外包的内涵2

1.1.3软件服务外包市场3

1.2软件外包与软件开发过程6

1.2.1软件外包项目特点6

1.2.2软件外包项目全过程管理7

1.2.3软件工程过程9

1.3软件外包与软件开发规范10

1.3.1软件性能10

1.3.2软件开发规范12

1.3.3软件工程标准15第2章软件开发过程20

2.1软件生命周期20

2.2常用软件过程模型21

2.2.1瀑布模型21

2.2.2增量模型23

2.2.3演化模型24

2.2.4螺旋模型26

2.2.5统一过程模型27

2.2.6敏捷过程29第3章软件开发规范31

3.1软件过程规范31

3.1.1软件过程概要31

3.1.2工程过程规范32

3.1.3管理过程规范33

3.1.4管理过程的主要成果38

3.1.5管理过程案例45

3.2软件文档规范53

3.2.1软件文档53

3.2.2软件文档分类54

3.2.3软件文档编制56

3.2.4软件文档规范57

3.2.5软件编码规范58

3.3软件支持过程规范66

3.3.1软件支持过程概述66

3.3.2软件配置管理67

3.3.3软件质量保证85

3.3.4分析与决策91

3.3.5软件评审96第4章软件管理规范101

4.1软件管理概述101

4.2项目计划102

4.2.1项目估算102

4.2.2项目计划制订104

4.2.3评审项目计划105

4.2.4项目计划变更控制106

4.2.5项目计划主要工作成果107

4.2.6项目计划案例109

4.3项目监控114

4.3.1项目监控策略114

4.3.2项目计划跟踪117

4.3.3偏差控制118

4.3.4项目进展汇报118

4.3.5项目监控的主要工作成果119

4.4变更管理和需求变更管理119

4.4.1变更管理119

4.4.2需求变更管理120

4.4.3变更管理的主要工作成果122

4.5沟通管理122

4.5.1规划沟通122

4.5.2发布信息124

4.5.3报告绩效125

4.5.4管理利害关系人126

4.5.5沟通管理的主要工作成果127

4.6风险管理127

4.6.1风险管理计划128

4.6.2风险管理128

4.6.3风险管理的主要工作成果131

4.6.4风险管理案例133第5章传统软件过程及其规范138

5.1传统软件过程概要138

5.1.1传统软件过程138

5.1.2传统软件过程的优缺点139

5.1.3传统软件过程的适用性140

5.2软件需求分析140

5.2.1软件需求分析的主要工作140

5.2.2软件需求分析阶段的成果144

5.2.3软件需求评审155

5.2.4软件需求确认和需求管理156

5.3软件设计157

5.3.1软件设计的主要工作157

5.3.2软件设计阶段的成果161

5.3.3软件设计的评审168

5.3.4软件体系结构的设计和选择的原则170

5.3.5设计模式的应用171

5.3.6数据库设计原则171

5.3.7详细设计原则172

5.4软件编码173

5.4.1软件编码阶段的主要工作173

5.4.2软件编码阶段的成果175

5.4.3程序代码评审176

5.4.4SQL语言及使用178

5.4.5单元测试的认识误区和实施原则181

5.5软件测试182

5.5.1软件测试阶段的主要工作182

5.5.2软件测试阶段的成果187

5.5.3软件测试用例的评审189

5.5.4软件测试的原则及规范190

5.6软件发布与维护193

5.6.1软件维护阶段的主要工作194

5.6.2软件维护阶段的成果197

5.6.3软件维护的原则199

5.7传统软件过程案例200

5.7.1软件需求分析200

5.7.2软件设计218

5.7.3软件编码228

5.7.4软件测试231

5.7.5软件发布与维护231第6章统一过程及其规范232

6.1统一过程介绍232

6.1.1统一过程的维度233

6.1.2时间轴——阶段与迭代233

6.1.3统一过程的工件238

6.2需求规范239

6.2.1词汇表239

6.2.2软件需求规格说明244

6.2.3用例规范250

6.3分析和设计规范254

6.3.1软件架构设计文档254

6.3.2用例实现规范272

6.4实施规范275

6.5测试规范280

6.5.1测试计划280

6.5.2测试评估摘要293

6.6配置和变更管理规范298

6.7项目管理规范301参考文献314第3章中国象棋对弈软件开发211

3.1象棋棋谱制作系统211

3.1.1系统设计与功能演示211

3.1.2系统程序分析213

3.2简易的象棋对弈软件241

3.2.1简易的象棋对弈软件的设计与分析241

3.2.2简易的象棋对弈软件的实现241

3.3象棋对弈软件的网络化251

3.3.1象棋对弈软件中加入通信程序251

3.3.2象棋对弈网络程序设计255

习题3258第4章博客系统的实现与分析266

4.1一个建设中的博客系统266

4.1.1系统的导入与调试运行266

4.1.2系统的浏览交互界面与使用269

4.1.3管理员登录相关文件代码分析276

4.1.4数据库操作相关文件代码分析290

4.1.5发表日志相关文件代码分析300

4.1.6其他相关文件代码分析311

4.2博客系统功能的进一步完善316

4.2.1发表日志评论317

4.2.2日志查看与修改328

4.2.3日志分类334

4.2.4心情模块设计337

4.2.5管理员模块分析340

习题4343第5章网络购物系统开发353

5.1简易的图书网购系统353

5.1.1数据库表354

5.1.2系统运行356

5.1.3公用类的实现与分析358

5.1.4应用类的实现与分析363

5.1.5JavaBean的实现与分析366

5.1.6JSP主页面设计368

5.1.7登录页面设计372

5.1.8商品页面设计374

5.1.9购物车相关页面设计376

5.1.10订单页面设计382

5.1.11其他相关文件388

5.2图书网购系统的改进391

5.2.1图书网购系统的注册功能实现391

5.2.2图书网购系统的图书查找功能实现406

习题5411

参考文献417

内容摘要:

本书以一个完整的软件案例为主线,以Visual Studio为开发工具、.NET(特别是ASP.NET MVC)为开发平台、C#为编程语言、SQL Server为数据库服务器,全面阐述了软件原理与工程。 其中,Visual Studio开发工具包括软件项目、软件MVC等内容;C#语言+.NET平台编程包括ASP.NET MVC平台、C#、JavaScript、XML、XHTML、CSHTML、CSS语言等内容;SQL Server服务器包括数据库、数据仓库、SQL、数据集成OLDI、数据多维分析OLAP、数据挖掘OLDM等内容。本书理论、实践、上机实训紧密结合,内容全面,系统性强、范例典型,可用作“软件工程”、“软件设计与开发”、“.NET编程”、“C#编程”、“网站建设”等本科生计算机应用课程的教材,也可作为信息科技普及用书。

书籍规格:

书籍详细信息
书名软件原理与工程站内查询相似图书
9787302370673
如需购买下载《软件原理与工程》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)40.0语种简体中文
尺寸26 × 19装帧平装
页数印数 2000

书籍信息归属:

软件原理与工程是清华大学出版社于2014.出版的中图分类号为 TP393.092 的主题关于 网页制作工具-程序设计-高等学校-教材 的书籍。