实验五 面向对象的设计及编码(软件工程)

本文档详细介绍了面向对象设计的实验内容,包括问题域子系统、人机交互子系统和数据管理子系统的设计。在问题域子系统中,对预约管理系统的类图进行了设计;在人机交互子系统中,设计了登录和预约界面;数据管理子系统则涉及病人和预约信息的数据表结构。此外,还提供了使用Java语言实现预约信息管理的实体类,包括对象的查找、显示和插入操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)实验目的要求

1. 了解面向对象设计工作的主要内容。 

2. 熟悉掌握面向对象设计中的4类子系统设计方法。

3. 会用某一面向对象编程语言编写程序。

(二)实验材料和仪器设备

1. PC机

2. UML绘图环境

3. 面向对象的程序设计开发环境

(三)实验内容

一、面向对象设计

1. 问题域子系统:从实现角度对实验4的预约管理系统的类图进行适当修改操作提示:补充类所对应的属性和操作,调整类结构。可参照需求描述并按照个人开发经验来完成,答案不唯一。

    请将复制到答题区,注意调整大小,显示不全将会影响实验成绩。

预约管理系统类图

 

2. 人机交互子系统:设计实验4的预约管理系统的登录界面及预约界面。操作提示:利用process on (登录 | ProcessOn)  来绘制,单击 “新建”选择“原型图”。可参照需求描述并按照个人经验来完成,答案不唯一。

预约管理系统界面设计——登录界面

预约管理系统界面设计——预约界面

3、数据管理子系统设计实验4预约管理系统的病人、预约信息数据表内容。数据表中信息有:序号、字段名、数据类型等。

病人表

序号

英文字段名

中文字段名

类型

是否为空

主键/外键

01

Name

姓名

Char

主键

02

Age

年龄

Int

03

Time

预约时间

Date

外键

04

Tele

电话

Char

05

Address

地址

Char

预约信息表

序号

英文字段名

中文字段名

类型

是否为空

主键/外键

01

Time

预约时间

Date

主键

02

Name

姓名

Char

外键

03

Age

年龄

Int

04

Tele

电话

Char

05

Time

就诊时间

Date

二、编码

用Java编写实验4预约管理系统中的预约信息实体类,并实现对预约信息的增加、查询(按照姓名)操作。操作提示:用数组存储数据对象即可。

提示网址:

https://blog.youkuaiyun.com/lifengfengli/article/details/104939254?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162086830716780271553665%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162086830716780271553665&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-4-104939254.first_rank_v2_pc_rank_v29&utm_term=java%E6%95%B0%E7%BB%84%E5%AD%98%E6%94%BE%E5%AF%B9%E8%B1%A1&spm=1018.2226.3001.418 

列出相关类的代码(标注释):


/**

     * 查找对象(假设lastName不重复)

     * @param lastName

     * @return

     */

    public boolean find(String lastName) {

       int i;

       for(i=0; i<nElems; i++) {

           if(person[i].getLastName().equals(lastName))

              break;

       }

       if(i == nElems) {

           System.out.println("can't find: " + lastName);

           return false;

       } else {

           System.out.println("find it");

           return true;

       }

    }

/**

     * 显示所有对象

     */
public void display() {

       for(int i=0; i<nElems; i++) {

           System.out.println(person[i].getLastName() + person[i].getFirstName() + ":" + person[i].getAge());

       }

}
/**

     * 插入对象

     * @param firstName

     * @param lastName

     * @param age

     */

    public void insert(String firstName, String lastName, int age) {

       person[nElems] = new Person(firstName, lastName, age);

       nElems++;

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钥钥睡着了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值