简介《软件工程课程设计指导书》是一份面向计算机科学与技术专业学生的实践指南适合软件工程初学者系统完成课程设计。它围绕选课系统的开发讲解需求分析、设计、测试与源代码编写等环节帮助学生掌握面向对象方法和软件工程规范。资源包为单个doc文件大小仅539KB内容编排清晰包含实验目的、先修课程、上机学时、开发环境及操作指南等完整信息。文档详细说明了数据库字段、系统功能登录、查询、选课、退课、成绩管理以及软硬件配置要求并通过附录演示了ODBC数据源配置和C Builder 6.0的初步使用步骤。对不熟悉数据库连接和界面开发的学生这些步骤提供了直接的操作指引。此外文档还给出了课程设计报告的完整框架包括用例图、序列图、对象模型、测试数据以及个人总结并明确了成绩考核方式。目前已有97人学习该资源适合正在准备软件工程课程设计或希望按规范完成课题的读者作为参考模板和操作手册。1. 选课系统课程设计C Builder 6.0 与 Access 2000 这套环境卡住过多少人计算机专业的软件工程课程设计里用 C Builder 6.0 配合 Access 2000 开发一个选课系统几乎是绕不过去的一个经典组合。很多同学拿到《软件工程课程设计指导书》的时候满怀信心结果第一周就倒在环境上——C Builder 6.0 装在 Windows 10 上要么闪退要么编译报错Access 2000 的 ODBC 驱动在 64 位系统里根本找不到入口BDE Administrator 里折腾了半天数据源字体还是灰的。环境装不好后面所有功能开发、报告撰写全是空谈。这篇文章就是把这套老环境的完整安装链路拆开从版本取舍、ODBC 数据源配置、C Builder 6.0 的工程搭建到连接数据库、常见报错排查、最终验证跑通每一步都写成可以直接照着做的落地笔记。适合正卡在课程设计环境配置上的同学也适合帮学生批量配环境的实验室管理员。2. 环境准备C Builder 6.0 与 Access 2000 的版本取舍2.1 先定 Windows 版本虚拟机比物理机省事这套环境的年代感很强。C Builder 6.0 发布于 2002 年前后Access 2000 更早它们设计时面对的是 Windows 98 / 2000 / XP。指导书里写的实验环境是单机模式、Windows 操作系统没有限定具体版本但实际跑下来Windows XP 的兼容性最好Windows 7 32 位也还行Windows 10 和 Windows 11 就非常折腾。我的建议是不要在新系统上硬装。用 VMware 或 VirtualBox 建一个 Windows XP 或 Windows 7 32 位的虚拟机分配 2GB 内存、40GB 磁盘就完全够用。理由有三条第一32 位系统里 ODBC 数据源管理器默认是 32 位的和 Access 2000 驱动匹配不会有位数错位的问题第二C Builder 6.0 的安装包和更新包在 XP 上安装最顺畅不需要各种兼容模式第三虚拟机的快照功能在装坏环境时特别好用做一次快照后面配 ODBC 配崩了直接回滚省掉重装系统的痛苦。如果你确实必须在 Windows 10 / 11 上跑记住一个关键点C Builder 6.0 安装时要右键选择以管理员身份运行并设置兼容模式为 Windows XP SP3。但即便这样后面连接 Access 数据库时还是可能遇到 32/64 位 ODBC 驱动的问题我会在第 5 章避坑指南里详细说。2.2 安装 C Builder 6.0BDE 组件一定不能漏C Builder 6.0 是企业级 IDE安装包有几个光盘安装过程比较长。这里有一个决定后续方案成败的选项安装类型选择时组件列表里必须勾选 BDEBorland Database Engine相关组件。很多同学的安装包是精简过的默认不装 BDE等做到指导书第 1 步打开 BDE Administrator时才发现根本没有这个程序。安装时的要点安装路径不要带中文和空格我习惯用C:\Borland避免后面 BDE 配置文件路径解析出问题。组件选择界面出现时展开 Database 相关项确认 BDE Administrator 和 BDE 运行时库被勾选。安装结束后如果安装包里有官方更新包Update Pack建议打上。C Builder 6.0 原版有一些已知的编译器和 IDE 稳定性问题更新包能解决不少。安装完成后重启系统再检查开始菜单里是否出现 C Builder 6.0 和 BDE Administrator 两个入口。装完后打开一次 C Builder 6.0让它生成默认配置文件。如果这一步没做后面 BDE Administrator 可能因为缺少配置文件而报错。2.3 用 Access 2000 创建选课数据库和表结构C Builder 6.0 安装的同时可以准备数据库。指导书要求的数据字段覆盖学生、教师、课程、成绩四类信息我整理成一张建表清单表名和字段名可以自行调整但字段含义要和指导书对应表名关键字段类型建议Student学号、姓名、登录密码、性别、出生年月、籍贯、地址、电话、家庭地址学号文本型做主键密码文本型Teacher教师号、姓名、教研室、职称、性别、电话教师号为主键Course课号、课名、学分、先行课号、课时、开课教室、人数限制、选课人数课号为主键SC选课成绩表学号、课号、考试成绩、平时成绩、总评成绩学号课号联合主键用 Access 2000 新建数据库时文件类型选择Microsoft Access 数据库 (.mdb)文件名建议纯英文或拼音比如xkxt.mdb。注意数据库文件路径和文件名中不要带中文因为 BDE 和 ODBC 对中文路径的处理在新系统上很容易出幺蛾子我见过太多同学因为C:\选课系统\选课.mdb这个路径折腾了半天连不上。文件位置记清楚后续配置 ODBC 数据源时要指定到这个文件。建表时先建 Student、Teacher、Course 三张基础表再建 SC 表并设置外键关系。字段类型全部用 Access 的文本型和数字型即可日期类型用日期/时间。建完表后先录入几条测试数据比如两三个学生、两三个教师、几门课程后面验证查询和选课功能时用得上。3. 配置 ODBC 数据源BDE Administrator 全链路操作3.1 先搞懂这条链路Access → ODBC → BDE → ADO指导书的附录操作指南第一步是建立数据源使用 ODBC但很多同学照着做到一半就晕了因为这里绕了两次先在 BDE Administrator 里新建一个名为 odbc1 的数据库驱动再在 Windows 的 ODBC 数据源管理器里添加 Access 驱动和数据源最后还要回到 BDE 里把这个数据源绑定到 odbc1 上。为什么要绕这么一圈因为 C Builder 6.0 里的 ADO 组件默认不认识 Access 文件需要通过 ODBC 作为中间桥梁。完整的调用链是ADOConnection → ODBC 数据源DSN→ Microsoft Access Driver → .mdb 文件。也就是说ODBC DSN 是 ADO 和 Access 文件之间的翻译官而 BDE Administrator 是配置和管理 ODBC DSN 的控制台。理解了这个链路后面每一步操作都有明确的目的。3.2 在 BDE Administrator 里新建 odbc1 驱动打开 BDE Administrator左侧面板是数据库别名列表右侧是参数面板。这个界面的操作逻辑是先创建一个驱动条目再把它和 Windows 里的 ODBC 数据源关联起来。操作路径如下菜单栏选择Object → New弹出Database Drive Name对话框。在下拉列表中选择Microsoft Access Driver (*.mdb)点击 OK。左侧面板会出现一个名为odbc1的条目这就说明驱动类型已经指定为 Access 的 ODBC 驱动。右键点击odbc1选择ODBC Administrator这是从 BDE 侧打开 Windows 的 ODBC 数据源管理器的入口。在弹出的 ODBC 数据源管理器面板中左侧选择用户 DSN或系统 DSN。这里我建议选系统 DSN因为课程设计验收时可能换账号登录系统 DSN 对所有用户可见不容易出现我昨天配好了今天怎么没了的情况。这里有一个新手常见困惑为什么建好的驱动叫 odbc1 而不是自己取的名字。这个名称是 BDE 内部的驱动别名后续可以右键重命名但一般不需要改保持默认即可。3.3 在 ODBC 数据源管理器里添加 Access 数据源在 ODBC 数据源管理器中点击添加按钮在弹出的创建新数据源对话框里选择Microsoft Access Driver (*.mdb)点击完成。接着会弹出ODBC Microsoft Access 安装面板这个面板就是配置 DSN 的核心界面数据源名填入一个容易识别的名称比如xkds。注意这里不建议用中文理由和第 2 章说的一样中文 DSN 名在后续 ADO 连接字符串里可能产生编码问题。说明可填可不填我习惯填course design。数据库点击选择按钮在弹出的文件选择对话框中定位到刚才建的xkxt.mdb确定后面板里会显示数据库文件的完整路径。高级如果需要密码校验可以在这里设置课程设计阶段一般不用。点击确定保存回到 ODBC 数据源管理器主界面列表中会出现刚才创建的xkds。此时再点确定关闭 ODBC 数据源管理器回到 BDE Administrator 界面。3.4 回到 BDE 绑定数据源并测试连接ODBC DSN 建好后BDE 这边的 odbc1 还只是一个空壳需要把 DSN 绑定进去。回到 BDE Administrator 界面右侧面板找到ODBC DSN参数行在它右侧的空白单元格点击会出现下拉列表选择刚才创建的xkds。接下来是很多同学容易漏掉的一步右键点击odbc1选择Apply把这个配置写入 BDE 的配置文件。如果不 Apply直接测试连接BDE 读不到最新配置一定报错。Apply 之后右键odbc1选择Open此时会弹出Database Login对话框我们的数据库没设密码直接点 OK。如果看到左侧odbc1的字体从灰色变成黑色说明 BDE 已经成功连接到了 Access 数据库。这时右键选择Close数据源配置完成。字体变黑这个细节是指导书里明确提到的验证方式也是我每次配完 BDE 后第一个检查点。4. C Builder 6.0 搭建选课系统从空窗体到数据库连通4.1 新建 Application 工程并配置保存路径数据源配置完成后进入 C Builder 6.0 的工程搭建。启动 C Builder 6.0菜单选择File → New → Application会生成一个默认的窗体 Form1。这个窗体将作为主界面后面所有组件都往上放。File → Save Project As保存工程时建议单独建立工程目录比如D:\course\select_course\把 Unit1.cpp 和 Project1.bpr 保存在这里。工程名和单元文件名同样不要用中文这是老一代开发工具的通病中文路径下编译连接经常出现Cannot open file之类的玄学报错。保存后先做一次空编译。菜单Project → Build All Projects确认编译零错误然后Run → Run弹出的窗体可以通过右上角关闭按钮正常退出。这个空跑流程虽然简单但能提前暴露 IDE 本身的安装问题——如果这里就编译失败先别急着写代码回去检查 C Builder 6.0 的安装和更新包。4.2 放 AdoConnection 并配置连接字符串数据库访问是选课系统的核心。从组件面板的ADO页里拖一个ADOConnection到 Form1 上这个组件负责管理数据库连接。双击它打开连接字符串配置界面。点击Build按钮进入数据链接属性对话框。这里的配置要点是提供程序选项卡中选择Microsoft OLE DB Provider for ODBC Drivers。连接选项卡中勾选使用数据源名称下拉选择第 3 章创建的xkds。点击测试连接如果弹出测试连接成功的提示说明整条链路已经打通。生成的连接字符串大概长这样ProviderMSDASQL.1;Persist Security InfoFalse;Extended PropertiesDSNxkds;DBQD:\course\xkxt.mdb;DriverId25;MAXBUFFERSIZE2048;PageTimeout5;这个字符串不需要手写Build向导会自动生成。我一般会把连接字符串复制到记事本里存一份因为后面维护时如果连接失败检查这个字符串里的DSN值和DBQ路径是排查的关键。4.3 放数据访问组件ADOQuery DataSource DBGridADOConnection 只是连接器真正读写数据需要配套组件。选课系统至少需要放一组这样的组合组件用途关键属性ADOConnection数据库连接ConnectionString 指向 xkdsADOQuery执行 SQL 语句Connection 设为 ADOConnection1DataSource桥接数据集和显示组件DataSet 设为 ADOQuery1DBGrid表格显示数据DataSource 设为 DataSource1从组件面板ADO页拖ADOQueryData Access页拖DataSourceData Controls页拖DBGrid。按上表设置属性关联。查询开课情况时选中 ADOQuery1在属性面板的 SQL 属性里写SELECT 课号, 课名, 学分, 课时, 开课教室, 人数限制, 选课人数 FROM Course然后写一条按钮事件点击查询按钮时ADOQuery1-Active trueDBGrid 就会显示课程表。选课和退课功能则用参数化 SQL-- 选课往选课成绩表插入一条记录同时更新选课人数 INSERT INTO SC (学号, 课号) VALUES (:xh, :kh); UPDATE Course SET 选课人数 选课人数 1 WHERE 课号 :kh;参数的冒号写法是 C Builder 6.0 里 ADOQuery 的标准参数格式用Parameters-ParamByName(xh)-Value在代码里赋值避免拼接字符串带来的引号转义问题。4.4 搭登录窗体控制整个系统入口选课系统必须要有登录功能指导书给出的字段里包含登录密码说明登录逻辑是验收内容之一。可以新建一个登录窗体放两个 Label、两个 Edit、两个 Button用一个 ADOQuery 查 Student 表ADOQuery1-SQL-Text SELECT * FROM Student WHERE 学号 :xh AND 登录密码 :pw; ADOQuery1-Parameters-ParamByName(xh)-Value Edit1-Text; ADOQuery1-Parameters-ParamByName(pw)-Value Edit2-Text; ADOQuery1-Active true; if (ADOQuery1-RecordCount 0) { // 跳转主窗体 } else { ShowMessage(学号或密码错误); }登录窗体验证通过后打开主窗体的逻辑可以放在FormClose事件里结合返回值控制。很多同学写完登录却忘了限制未登录用户直接进入系统——把主窗体的AutoCreate属性设成 false登录成功后再手动创建主窗体这个习惯能避免不少验收时的尴尬。5. 避坑指南五个高频翻车点与排查方法5.1 现象C Builder 6.0 编译报错或启动闪退有些同学在 Windows 10 上装了 C Builder 6.0启动时界面出现一下就没了或者编译时提示找不到编译器。原因是新系统与老 IDE 之间的兼容性问题尤其是缺少官方更新包时IDE 的调试服务无法正常启动。解决方法安装包打上官方 Update Pack右键快捷方式 → 属性 → 兼容性 → 勾选以兼容模式运行选择 Windows XP (Service Pack 3)勾选以管理员身份运行。如果还不行就回到第 2 章的方案直接用虚拟机装 XP 或 Win7 32 位一劳永逸。5.2 现象BDE 测试连接时登录对话框点了 OK 后报错报错信息通常是General SQL error或者Cannot connect to database。原因大多有两个一是 ODBC DSN 没有绑定到 odbc1 的ODBC DSN参数上或者绑定了但没点Apply二是 Access 数据库文件路径被移动过ODBC DSN 里的DBQ指向了不存在的文件。解决步骤先回 ODBC 数据源管理器里确认数据库文件路径是否还存在再回 BDE 右键 odbc1 →Apply确认配置写入然后Close后重新Open。每次改完配置Apply 和 Close/Open 的顺序不要乱。5.3 现象数据库连接成功但查询出来的中文全部是问号这是老环境下最常见的乱码问题。Access 2000 默认的中文编码和 C Builder 6.0 的 ADO 组件在某些代码页下不一致导致显示层乱码。我的处理方式是数据库表字段名和值都使用中文没问题但不要把希望寄托在全局代码页设置上。优先检查 ODBC 驱动版本安装较新的Microsoft Access Driver官方提供的最新版本兼容 Access 2000 文件格式如果仍然乱码把 DBGrid 的字体改成中文字体例如宋体字符集设为GB2312一般能解决显示问题。5.4 现象64 位系统上找不到 Microsoft Access DriverWindows 10 / 11 64 位系统自带的 ODBC 数据源管理器默认打开的是 64 位版本里面没有 Access 驱动。指导书中也没有预料到这个问题因为当时的系统都是 32 位的。解决方法是手动打开 32 位版本的 ODBC 数据源管理器运行C:\Windows\SysWOW64\odbcad32.exe。在这里添加数据源就能找到Microsoft Access Driver (*.mdb)。记住C Builder 6.0 是 32 位程序它访问 ODBC 时读取的是 32 位 DSN在 64 位管理器里配置的 DSN 它根本看不到。这是位数不一致导致的经典翻车点。5.5 现象系统 DSN 配置不了报权限错误配置系统 DSN 时提示没有权限写注册表。原因是当前 Windows 账号不是管理员或者 UAC 权限拦截。解决用管理员身份运行odbcad32.exe或 BDE Administrator。我一般在配置数据源前先把 BDE Administrator 和 C Builder 6.0 都设置为管理员启动这个操作在开始菜单右键图标 → 属性 → 兼容性里就可以完成不需要改系统全局设置。6. 装完怎么验证跑通从数据源到选课全流程6.1 三步验证法连库、登录、查课表环境装完不是能打开 IDE就算成功必须按真实业务链路走一遍。我每次配完这套环境都会按下面三步做最小验证第一步用 BDE Administrator 打开 odbc1确认字体变黑。这一步验证的是数据库层面Access 文件路径正确、ODBC 驱动可用、BDE 配置写入。字体不变黑后面所有工作都白搭。第二步C Builder 6.0 新建一个空窗体放一个 ADOConnection连接字符串指向xkds点击测试连接。这一步验证的是应用层到 ODBC 层的链路通不通。测试失败时重点检查 32 位 ODBC DSN 是否配置成功。第三步写一个最简查询放一个 ADOQuerySQL 写SELECT * FROM CourseActive 设为 true窗体上放一个 DBGrid 绑上 DataSource。能显示课程数据说明整条链路已经从 IDE 到数据库完全打通。6.2 用指导书要求的功能清单做白盒测试指导书明确要求功能至少包括登录、查询开课情况、查询选课情况、查询成绩、选课、退课。验证时不能只测一条路径建议准备一张测试数据表至少 20 个测试对象序列覆盖正常、异常、边界三种情况。我常用的一张测试序列表结构如下序号操作序列输入数据预期结果1登录正确学号正确密码进入主界面2登录正确学号错误密码提示密码错误3登录不存在的学号提示学号不存在4查询开课无筛选条件显示全部课程5选课未选过的课程选课人数16选课已选过的课程提示不可重复选课7选课选课人数已达人数限制提示人数已满8退课已选的课程选课人数-19退课未选的课程提示退课失败10查询成绩有成绩记录的课程显示成绩字段这 20 条可以照这个思路扩充。指导书里特别要求书面提交至少 20 个不同的对象测试序列把这 20 条测试记录整理成表格放进报告既满足验收要求也证明你确实跑了功能测试。6.3 交报告前核对三个容易漏的文档要素系统能跑通之后报告还有三个要素容易被忽略。第一个是需求分析里的用例图和序列图很多同学只画用例图不画序列图指导书两份都要。第二个是至少一个重要对象的状态图选课系统里最合适的状态图就是选课记录的状态流转已选 → 已退 / 成绩已录。第三个是源代码部分只选手动编写的代码C Builder 自动生成的窗体头文件代码不算这个指导书写得很明确照着执行就行。从那以后我每次帮人配这套环境都强制自己按数据源 → 空窗体 → 查询课程的顺序走一遍完整验证不跑通不算装完。这套流程虽然啰嗦但能省掉后面验收时的大量返工。希望帮到你。本文还有配套的精品资源点击获取