将系统分解为子系统

时间:2013-12-18 20:52:17

标签: architecture theory

这是课堂上提出的问题。

医院已启动电子渠道服务,允许患者允许患者在线预约医生。该系统提供搜索医生,预约咨询时间和使用信用卡支付的设施。可以根据他们的专长和可用性搜索医生。在成功完成付款后,患者会收到一个参考编号和约会的详细信息。需要存储预约详细信息以供内部会计和未来参考。

如果要将此系统划分为子系统,那么可能的子系统是什么?模块化其中一个子系统并编写该子系统模块化的模块?

我没有实用知识,所以请帮我回答这个问题。 我的回答是: 可能的子系统是

  

会计,信息处理,任命。

我将子系统约会模块化为以下模块:

  

医生,患者,预约细节

我应该如何将系统分解为子系统?我应该考虑哪些事实?。我的答案是否正确?

1 个答案:

答案 0 :(得分:1)

在这样的开放媒体中询问之前,你要做的第一件事就是先问你的老师或同事。它会更好,因为你可以在一起学习时学得更好,而不是从这里收到答案。

除此之外,我回答你的问题,简要说明如何将系统划分为子系统。

系统可以自行运行。系统也可以与其他系统连接,它们充当子系统,创建一个新的更大的系统(让我称之为超系统)。因此,子系统所需的最低要求是it can run by itself

某些子系统可能是超级系统的要求,也可能是可选的(功能)。

示例

系统(超系统)的一个例子是汽车。汽车是由子系统集合创建的系统。汽车中的音频系统是子系统(即使已经被汽车分开,音频仍然可以播放,并且汽车仍然可以在没有音频的情况下移动,因此音频是optional子系统。空调也是如此。你可以称之为功能。

轮子也是一个子系统,但是mandatory(必需),因为没有轮子,汽车不能移动。是的它仍然可以工作,但由于汽车的好处是因为它们移动,从汽车中移除移动功能会破坏系统。另一方面,如果没有汽车,车轮仍能正常工作。

对于刹车来说,这是有争议的,因为即使汽车仍能在没有刹车的情况下行驶,这样做也是非常危险的。在软件中,您可以将制动器视为enhanced functionality,可能是错误处理,错误请求处理,用例异常等等。

这主要是我的意见