软件开发环境与工具实验报告-计算机0801

软件开发环境与工具实验报告计算机0801杨茂林

《软件开发环境与工具》实验报告

专业:计算机科学与技术

班级:08-01

姓名:杨**

学号:***

20XX年4月 19 日

实验一 CASE工具PowerDesigner的使用

一、实验目的:

安装PowerDesigner,并了解掌握PowerDesigner的主要功能和使用方法。

二、实验内容:

1.安装PowerDesigner。

2.了解CDM的主要设计元素和设计过程。

3.熟悉模型转换工具的使用。

4.熟悉PDM的主要设计元素和设计过程。

5.了解设计报告的生成方法。

三、实验要求:

设计学生住宿管理的CDM、PDM(PDM模型最好包括:1、通过CDM模型生成;2、直接建立)。

1.学生管理

(1)建立班级、院、专业CDM、PDM模型;

(2)建立学生信息CDM、PDM模型,包括宿舍编号、姓名、院、专业、性别、年级、班级、出生年月、籍贯、住宿费、押金、录入日期等内容。

2. 宿舍管理

建立宿舍信息CDM、PDM模型,包括有宿舍编号、宿舍名称、宿舍电话、应住人数、录入日期等栏目。

3. 对学生管理、宿舍管理、班级、院、专业实体(或表)之间建立联系。

四、实验步骤:

1.运行PowerDesiner安装文件。

2.按照安装向导,安装PowerDesigner。

3.安装成功之后,进入PowerDesigner的CDM设计界面,了解CDM的主要设计元素和设计过程。

4.分析住宿管理的需求,分析其中应含有的实体及其属性,建立实体联系,设计住宿管理的CDM。

5.检测CDM,并进行模型转换。

6.优化PDM。

7.生成设计报告。

8.实验结束后,整理实验报告。

五、实验设计:

1.学生管理、宿舍管理、班级、院、专业实体(或表)之间建立联系CDM 模型。

2.学生管理、宿舍管理、班级、院、专业实体(或表)之间建立联系PDM 模型。

实验二: 搭建Delphi开发环境,设计用户界面

一、实验目的:

安装 Delphi,熟悉Delphi开发环境。 熟练掌握构成用户界面的主要控件的属性和事件。

二、实验内容:

1.安装Delphi。

2.熟悉常用控件的属性和事件。

3.掌握调整界面上控件的大小和位置的方法。

三、实验要求:

1.编写一个简单的Delphi程序要求程序运行是标签显示的文字为“First Program”,当单击按钮后改变标签所显示的文字为“第一个应用程序”。

2.搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖。要求一次全搬完,问男、女、小孩个多少人?

四、实验步骤:

1.运行Delphi的安装文件。

2.按照安装向导说明,完成安装。

3.打开Delphi,进入IDE,熟悉编程环境。

4.按照设计内容,在窗体中增加控件。

5.修改控件的相关属性。

6.调整控件大小和对齐。

五、实验设计:

1.编写一个简单的Delphi程序要求程序运行是标签显示的文字为“First Program”,当单击按钮后改变标签所显示的文字为“第一个应用程序”。

①.程序截图:

软件开发环境与工具实验报告计算机0801杨茂林

②.程序源代码:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

Label1.Caption:='第一个Delphi应用程序';

end;

end.

2.搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖。要求一次全搬完,问男、女、小孩个多少人?

①.程序截图:

软件开发环境与工具实验报告计算机0801杨茂林

②.程序源代码:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

memo1: TMemo;

Button1: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var x,y,z:integer;

p:string;

begin

memo1.Lines.Clear ;

p:=' 男 女 小孩';

memo1.Lines.Add(p) ;

p:=' ';

memo1.Lines.Add(p) ;

for x:=0 to 36 do

for y:=0 to 36 do

begin

z:=36-x-y;

if 4*x+3*y+0.5*z=36 then

begin

p:=format('%3d %3d %3d',[x,y,z]);

memo1.Lines.Add(p);

end;

end;

end;

end.

实验三:掌握在Delphi中操作数据库的方法

一、实验目的:

1.熟练掌握使用Database Desktop创建数据库表,设置表的各种属性的方法。

2.掌握使用BDE Administrator建立数据库别名的方法。

3.熟练掌握在Delphi中通过BDE连接数据库的方法,Data Access和Data Control常用控件的使用方法。

二、实验内容:

1.使用Database Desktop创建数据库表,并设置表的各种属性。

2. 使用BDE Administrator建立数据库别名。

3. 掌握数据库的连接方法。

4.学会各种数据控件的使用方法。

5.了解在 Delphi中动态改变SQL语句的方法。

三、实验要求:

1. 使用Database Desktop建立一个学生成绩管理数据库,其中包括3张Paradox表:Student表--描述学生信息;Course表--描述课程信息;Sc表--描述学生选课信息。各表结构如下:

表1 Student.db

软件开发环境与工具实验报告计算机0801杨茂林

表2 Course.db

软件开发环境与工具实验报告计算机0801杨茂林

表3 Sc.db

软件开发环境与工具实验报告计算机0801杨茂林

要求如下:

1)建立各表。

2)以student表为主表,在student表和Sc表之间建立参照完整性约束,字段为studentno。

3)以Course表为主表,在course表和Sc表之间建立引用完整性约束,字段为cno。

2.为上一步建立的数据库建立数据库别名。

要求如下:

1) 别名通过BDE Administrator建立。

2)别名设置为S_C

3.设计学生成绩管理系统基本信息(三个表)录入界面

要求如下:

1)界面应提供录入学生成绩管理基本信息的相关控件。

2)应提供增加、修改、删除、保存等功能。

3)界面美观大方。

4.设计学生成绩管理系统的查询界面,可选择的查询条件为学号、姓名、成绩的“或”组合,显示结果包含学号、姓名、课程名称、成绩。

四、实验步骤:

1. 进入Database Desktop,建立学生成绩管理数据库表,并建立表间关系。

2. 进入BDE Administrator,设置数据库别名。

3.打开Delphi,进入编程界面。

4.选择相应的数据控件,修改相关属性,连接数据库。

5.填加相关事件,完成对数据库的操作。

6.编译、调试、运行程序。

五、实验设计:

1. 建立student、course、sc三表。

软件开发环境与工具实验报告-计算机0801-杨茂林

2. 数据库别名设置为S_C。

软件开发环境与工具实验报告计算机0801杨茂林

3. 设计学生成绩管理系统基本信息(三个表)录入界面。

①.程序截图:

软件开发环境与工具实验报告-计算机0801-杨茂林

软件开发环境与工具实验报告-计算机0801-杨茂林

②.程序源代码:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Table1: TTable;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Panel1: TPanel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Edit8: TEdit;

Table2: TTable;

Edit7: TEdit;

Button6: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

private

{ Private declarations }

procedure displayRecord;

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure Tform1.displayRecord ;

begin

if table1.RecordCount = 0 then

begin

Edit1.Text :='';

Edit2.Text :='';

Edit3.Text :='';

Edit4.Text :='';

Edit5.Text :='';

Edit6.Text :='';

Edit7.Text :='';

Edit8.Text :='';

Button2.enabled :=false;

Button3.enabled :=false;

Button4.enabled :=false;

Button6.enabled :=false;

Button7.enabled :=false;

Button8.enabled :=false;

Button9.enabled :=false;

end

else

begin

Edit1.Text :=table1.fieldbyname('studentno').AsString ;

Edit2.Text :=table1.fieldbyname('studentname').AsString ;

Edit3.Text :=table1.fieldbyname('sex').AsString ;

Edit4.Text :=table1.fieldbyname('stubirthday').AsString ;

Edit5.Text :=table1.fieldbyname('studentsdept').AsString ;

Edit6.Text :=table1.fieldbyname('studentclass').AsString ;

Edit7.Text :=table2.fieldbyname('cno').AsString ;

Edit8.Text :=table2.fieldbyname('Cgrate').AsString ;

if table1.Bof then

begin

button6.enabled :=false;

button7.enabled :=false;

button8.enabled :=true;

button9.enabled :=true;

end

else

if table1.eof then

begin

button6.enabled :=true;

button7.enabled :=true;

button8.enabled :=false;

button9.enabled :=false;

end

else

begin

button6.enabled :=true;

button7.enabled :=true;

button8.enabled :=true;

button9.enabled :=true;

end;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

table1.Append;

Button1.enabled :=false;

Button2.enabled :=false;

Button3.enabled :=false;

Button4.enabled :=true;

Button5.enabled :=true;

Edit1.Text :='';

Edit2.Text :='';

Edit3.Text :='';

Edit4.Text :='';

Edit5.Text :='';

Edit6.Text :='';

Edit1.setfocus;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

table1.Edit ;

Button1.enabled :=false;

Button2.enabled :=false;

Button3.enabled :=false;

Button4.enabled :=true;

Button5.enabled :=true;

Edit1.setfocus;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

if messagedlg('确实要删除该记录吗?',mtwarning,[mbyes,mbno],0)=mryes then

begin

table1.Delete;

displayrecord;

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

if(trim(edit1.Text)='') or (trim(edit2.text)='') then

begin

showmessage('学校和姓名不能为空!');

edit1.SetFocus ;

exit;

end;

table1.fieldbyname('studentno').AsString :=edit1.Text;

table1.fieldbyname('studentname').AsString :=edit2.Text;

table1.fieldbyname('sex').AsString :=edit3.Text;

table1.fieldbyname('stubirthday').AsString :=edit4.Text;

table1.fieldbyname('studentsdept').AsString :=edit5.Text;

table1.fieldbyname('studentclass').AsString :=edit6.Text;

table2.fieldbyname('cno').AsString :=edit7.Text;

table2.fieldbyname('Cgrate').AsString :=edit8.Text;

table1.post;

button1.Enabled :=true;

Button2.enabled :=true;

Button3.enabled :=true;

Button4.enabled :=false;

Button5.enabled :=false;

displayrecord;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

table1.Cancel ;

displayrecord;

button1.Enabled :=true;

Button2.enabled :=true;

Button3.enabled :=true;

Button4.enabled :=false;

Button5.enabled :=false;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

table1.first;

displayrecord;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

table1.prior;

displayrecord;

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

table1.next;

displayrecord;

end;

procedure TForm1.Button9Click(Sender: TObject);

begin

table1.last;

displayrecord;

end;

end.

相关推荐