.
display = new Display(); model = new Model(display); setSize(1024,768); setVisible(true); } }
class Display {
BufferedImage buffer = null; … Display() {
buffer
=
new
BufferedImage(1024,768,
BufferedImage.TRANSLUCENT);
}
public void paintComponent(Graphics g)
{ } …
g.drawImage(buffer,0,0, null);
}
class Model {
BufferedImage image; Graphics g;
Display panel = null;
Model( Display pane) {
this.panel = pane;
g = panel.buffer.getGraphics();
g.drawString(10, 10, “Welcome to the Test of Software Architecture ”);
g.drawString(50, 10, “I will Success!!!”); } …..
.
.
}
运行以上程序, 结果为
Welcome to the Test of Software Architecture I will Success!!!
4. 已知一个基于VC++ MFC 环境 Dialog 模式应用程序体系结构表示如下,
组装线(CWinApp) Exam_App 图形表示界面 (CDialog) Exam_Dlg 模型 Model
其中,组装线类 Exam_App 用于组装图形表示界面类 Exam_Dlg,图形表示界面类 Exam_Dlg 通过函数 Model_Display用于调用类 Model
#include
.
.
{ public:
virtual BOOL InitInstance(); };
Exam_App app;
class Exam_Dlg: CDialog { Public:
Model *model;
public:
void OnInitDialog(); void Model_Display(); };
class Model { public: Model();
String model_data(); };
请完成从类 Exam_Dlg 中Model_Displaymodel_data() 的代码
void Exam_App::OnInitDialog() {
// 完成指向Model 的指针 model = new Model(); }
void Exam_App::Model_Display()
.
调用类Model 函数String .
{
// 完成调用类 Model 函数String model_data()
String str = model->model_data() }
五 综合设计题 (20分,每题10 分)
1.
(10分) 时髦的家(Smart Home)的应用场景,如图所示
一个用户在 PC 机终端上,通过 Internet 网络,远程控制家中的彩电、冰箱和家用机器人的运行状态。设计一个在PC 机终端上能实现对家中的彩电、冰箱和家用机器人的运行状态进行有效控制的软件系统的体系结构。
(1) 设计和表示在PC 机终端上能实现对家中的彩电、冰箱和家用机器人的运行状
态进行有效控制的软件系统的体系结构,应包括系统层级(用模块、分层结构)、组件层级(用类图表示,至少应有 TVSet、Refrigerator、HomeRobotic实体类)的体系结构,
(2) 使用 VC++ MFC 或 Java 语言用代码进行体系结构所表示的组
.
.
件的设计和实现(面向对象的方法)
(3) 使用 VC++ MFC 或 Java,设计一个组装线,组装组件成为运行的
系统
(1)设计的体系结构图如下
(2) 组件的设计和实现如下
.
软件设计与体系结构期末考试2017-2018学年模拟试题参考答案



