《软件开发基础教程 下》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:程国英,钱晓平编著
  • 出 版 社:北京:清华大学出版社;北京交通大学出版社
  • 出版年份:2007
  • ISBN:7810829505
  • 页数:696 页
图书介绍:本书分上下两册,五部分内容。上册包含前二部分内容,主要介绍面向对象(包括面向过程)的程序设计。下册包含后三部分内容,以基于面向消息发送机制的可视化软件分析、设计和开发为主,并选择C++ 语言,使用Borland C++ Builder 开发环境进行实例开发。下册的第三部分是软件工程基础,主要介绍软件工程的基本概念、软件开发过程、软件项目管理、软件建模语言UML和软件建模,以及如何进行软件分析、软件设计、软件测试。第四部分是C++ Builder集成开发环境,主要介绍VCL组件、组件事件、事件响应、组件之间的消息传递,基于数据库的软件开发,图形与多媒体的应用,多线程以及多线程的同步控制,动态连接库、软件异常处理和发布应用。第五部分是HIS实例开发,以HIS为例讲述基于消息发送机制的面向对象软件分析、设计和实现的全过程,并提供详细的实现过程和全部源代码。本书的特点是先提出“问题”,直接面对“问题”,然后抽象分析“问题”,再设计、解决“问题”,体会面向对象和面向过程的区别与联系,展现一个“生产”软件的全过程,加强系统性和抽象问题,分析问题的训练。通过下册的学习将具备开发可视化应用软件的基本能

第3部分 软件工程基础 419

第32章 软件神话与软件工程 419

32.1 软件神话 419

32.2 软件工程与软件创新 420

32.3 软件组织与CMM 421

32.4 软件工程师的任务 422

思考与练习 422

第33章 软件过程与项目管理 423

33.1 软件过程与成熟度等级 423

33.1.1 CMM 1级(初始级) 423

33.1.2 CMM 2级(可重复级) 424

33.1.3 CMM 3级(已定义级) 424

33.1.4 CMM 4级(已管理级) 425

33.1.5 CMM 5级(优化级) 425

33.2.1 线性顺序模型 426

33.2 软件工程模型 426

33.2.2 原型模型 427

33.2.3 形式化方法模型 427

33.2.4 面向对象技术与建模 428

33.3 项目管理 428

33.3.1 4P管理 428

33.3.2 软件开发小组与小组软件开发过程 429

33.3.3 项目计划 430

33.3.4 进度及其跟踪 431

33.3.5 质量控制 433

33.4 风险分析与风险控制 434

33.4.1 风险标识 434

33.4.2 风险预测与风险评估 435

33.4.3 风险管理 435

33.5 配置管理与版本控制 436

33.5.1 软件配置项与标识 436

33.5.3 软件变更控制 437

33.6 实例HIS的过程和产品 437

33.5.2 软件版本控制 437

思考与练习 438

第34章 统一建模语言(UML) 439

34.1 概要介绍 439

34.1.1 UML的特点 439

34.1.2 UML的基本模型元素 440

34.1.3 UML的图 441

34.1.4 UML的模型与视图 442

34.2.1 模型元素之间的关系 443

34.1.5 建模工具Rational Rose 443

34.2 静态建模 443

34.2.2 用例图与用例模型 445

34.2.3 类图、对象图与结构模型 447

34.2.4 组件图与实现模型 450

34.2.5 配置图与系统环境模型 450

34.3 动态建模 451

34.3.1 行为模型元素之间的消息传递 451

34.3.2 状态图与行为模型 452

34.3.3 序列图与行为模型 453

34.3.4 协作图与行为模型 455

34.3.5 活动图与行为模型 455

34.4 系统架构 455

思考与练习 456

第35章 可行性论证 457

35.1 可行性论证的内容 457

35.2 可行性论证的步骤 458

36.1.1 用户需求分析的方法 459

第36章 用户需求分析 459

36.1 用户需求调研 459

36.1.2 功能、性能及其描述 460

36.1.3 数据与数据字典 461

36.2 编写文档:用户需求书 461

36.2.1 文档封面 461

36.2.2 用户需求说明书 462

思考与练习 464

36.3 用户需求评审 464

第37章 面向对象软件分析 465

37.1 OO基本原则 465

37.2 OOA过程与建模 466

37.2.1 用例分析与用例建模 466

37.2.2 对象分析与结构建模 467

37.2.3 对象行为与对象行为建模 468

37.3 分析评审 468

思考与练习 468

第38章 面向对象软件设计 469

38.1 OOD目标和软件系统的体系结构 469

38.2 OOD过程与建模 469

38.2.1 问题域子系统设计 469

38.2.2 用户界面子系统设计 470

38.2.3 数据管理子系统设计 470

38.2.4 任务管理子系统设计 472

38.3 编写文档:软件分析设计书 473

38.2.5 系统配置子系统设计 473

38.4 设计评审与优化 474

思考与练习 474

第39章 软件实现与测试 475

39.1 软件实现 475

39.2 软件测试 475

39.2.1 测试基本原则 475

39.2.2 黑盒测试、白盒测试 476

39.2.3 测试过程 477

思考与练习 478

第4部分 C++Builder开发环境 479

第40章 C++Builder集成开发环境介绍 479

40.1 C++Builder 6界面 479

40.1.1 组件面板 480

40.1.2 窗体设计窗口 480

40.1.3 代码编辑窗口 480

40.1.6 对象属性编辑器 481

40.1.5 对象树显示窗口 481

40.1.4 类浏览器 481

40.1.7 工程项目管理器 482

40.1.8 To-Do List窗口 482

40.1.9 桌面方案 483

40.2 应用程序及应用程序窗体 483

40.3 实例:开发一个简单的应用程序 483

思考与练习 484

第41章 常用组件介绍 485

41.1 VCL继承结构 485

41.2 组件与控件 486

41.3 创建组件对象 486

41.4 组件及其属性、方法、事件 486

41.4.1 组件属性与属性设置 487

41.4.2 组件方法 488

41.4.3 组件事件与事件响应 489

41.5.1 窗体(Form) 490

41.5 常用组件介绍 490

41.5.2 容器 492

41.5.3 输入、输出类组件 493

41.5.4 按钮 496

41.5.5 图形、图像 497

41.5.6 标准对话框 498

41.5.7 信息提示对话框 499

41.5.8 菜单组件、创建菜单 500

41.5.9 动作列表组件(ActionList) 502

41.5.10 时钟(Timer) 503

41.6 其他常用类介绍 503

41.6.1 字符串类TStrings与TStringList 503

41.6.2 字符串类AnsiString 504

41.6.3 日期、时间类 505

41.7 实例:创建工具栏、菜单及动作列表对象的使用 505

思考与练习 511

42.2 数据库相关组件介绍 512

第42章 基于数据库的应用 512

42.1 BCB 6中的数据库开发技术架构 512

42.2.1 数据控制组件 513

42.2.2 TDataSource数据源组件 514

42.2.3 数据集组件 514

42.3 SQL简介 517

42.3.1 select语句 518

42.3.2 其他SQL语句 519

42.3.3 SQL编程 520

42.4 创建数据库 521

42.4.1 数据库与数据库别名 521

42.4.2 使用Database Desktop创建数据库与数据表 521

42.5 使用数据库向导自动生成基于数据库的窗体框架 524

42.5.1 生成单一数据表窗体 525

42.5.2 生成主-从表窗体 527

思考与练习 528

43.2 画布(TCanvas)对象 529

第43章 图形与多媒体 529

43.1 图形、图像组件 529

43.3 媒体播放器(TMediaPlayer)组件 532

43.4 动画(TAnimate)组件 533

43.5 例题 534

43.5.1 动画制作 534

43.5.2 媒体播放 537

思考与练习 539

第44章 多线程 540

44.1 进程与线程 540

44.2 线程类(TThread)与创建线程 541

44.2.1 TThread类 541

44.2.2 声明线程与创建线程 542

44.3 多线程的同步控制 543

44.3.1 多线程中的问题 543

44.3.2 同步控制 545

44.4.1 线程的挂起、恢复及线程调试 547

44.4 例题 547

44.4.2 多线程间的同步控制 552

思考与练习 556

第45章 其他应用软件开发技术 557

45.1 使用剪贴板进行数据交换 557

45.1.1 使用组件本身具有的方法 557

45.1.2 利用TClipboard类 557

45.1.3 剪贴板使用实例 558

45.2 消息及消息响应 559

45.2.1 Windows系统消息及其响应 560

45.2.2 自定义消息及其响应 562

45.3 动态链接库(DLL) 564

45.3.1 创建DLL 564

45.3.2 使用DLL 566

45.4 异常处理 567

45.4.1 关键字_except和_finally 567

45.4.2 实例:自定义异常及异常处理 568

45.5 编写Windows风格的联机帮助(Help) 571

45.5.1 应用程序的帮助系统 571

45.5.2 主题页之间进行切换的实现方法 573

45.5.3 编辑并生成RTF文件 573

45.5.4 使用Help Workshop工具创建HLP帮助文件 574

45.5.5 实例:创建HIS帮助系统 576

45.6 制作应用程序的启动界面 582

45.7.1 包(Package)与发布 584

45.7 发布应用 584

45.7.2 编制专业化的安装程序(Setup) 586

思考与练习 586

第5部分 HIS实例开发 587

第46章 HIS分析 587

46.1 上册实现的HIS存在的主要问题 587

46.2 HIS用例分析与用例建模 588

46.2.1 标识HIS的角色和用例 588

46.2.2 用例描述 588

46.2.3 用例建模 590

46.3.1 对象分析与标识类 591

46.3 HIS对象分析与类的标识 591

46.3.2 动作分析与归类 592

46.3.3 创建类图 592

46.4 包与子系统 596

46.5 对象之间的关系与对象结构建模 596

46.6.1 HIS“病人门急诊就医”子系统的状态图 598

46.6.2 功能操作的序列图 598

46.6 HIS对象行为与对象行为建模 598

46.7 组件图及实现模型 602

46.8 分析模型、分析评审 603

思考与练习 603

第47章 HIS设计 604

47.1 类与对象设计 604

47.1.1 对象描述 604

47.1.2 数据结构与算法设计 605

47.3.1 输入用户名、口令界面(PassWordForm)设计 608

47.2 组件与实现模型 608

47.3 用户界面设计 608

47.3.2 挂号员工作界面(RegisteForm)设计 609

47.3.3 医生工作界面(DoctorWorkForm)设计 611

47.3.4 收费员工作界面(RecipePayForm)设计 614

47.3.5 药剂师工作界面(DispensaryManageForm)设计 614

47.3.6 系统管理员工作界面(SysManageForm)设计 617

47.4 数据管理子系统设计 618

47.4.1 数据库设计 618

47.4.2 数据操作功能设计 621

47.5 编写软件设计书 621

思考与练习 621

第48章 HIS实现 622

48.1 准备工作 622

48.2 HIS类的声明和成员函数定义 622

48.2.1 创建并编辑Chain.hpp文件 622

48.2.2 创建并编辑Chain.cpp文件 623

48.2.3 创建并编辑User.hpp文件 626

48.2.4 创建并编辑User.cpp文件 626

48.2.5 创建并编辑BaseClass.hpp文件 627

48.2.6 创建并编辑BaseClass.cpp文件 629

48.2.7 创建并编辑Hospitalize.hpp文件 630

48.2.8 创建并编辑Hospitalize.cpp文件 634

48.2.9 编译 638

48.3 创建数据库 638

48.3.1 建立HIS数据库别名 638

48.3.2 创建数据表 638

48.4 制作Help 641

48.5 为HIS应用程序指定Help 641

48.6 创建HIS应用程序 641

48.6.1 创建应用程序及窗口 641

48.6.2 设置工程窗体特性 656

48.6.3 实现用户登录窗口的功能 656

48.6.4 实现挂号员工作窗口的功能 659

48.6.5 实现挂号员“门诊科信息查询”窗口的功能 665

48.6.6 实现挂号员“当前病人详细信息查询”窗口的功能 665

48.6.7 实现医生工作窗口的功能 666

48.6.8 实现医生“药库信息查询”窗口的功能 678

48.6.9 实现医生“症状术语查询、维护”窗口的功能 678

48.6.10 实现收费员工作窗口的功能 678

48.6.11 实现药剂师工作窗口的功能 681

48.6.12 实现药剂师“药库盘点”窗口的功能 687

48.6.13 实现药剂师“药品调价”窗口的功能 688

48.6.14 实现系统管理员工作窗口的功能 690

48.7 集成、调试和发布 695

48.7.1 软件集成与测试 695

48.7.2 试运行与软件调试 696

48.7.3 软件发布 696

思考与练习 696

参考文献 697