阅读以下系统架构文档化的叙述,根据要求回答问题。
[说明]
软件架构(software Architecture)用来处理软件高层次结构的设计和实施。它以精心选择的形式将若干结构元素进行装配,从而满足系统主要功能和性能需求,并满足其他非功能性需求。软件架构为软件系统提供了一个结构、行为和属性的高级抽象模式,可以使用一个公式来表达:
软件架构=构成系统的元素,指导元素集成的形式,关系和约束
“4+1”视图模型用5个视图组成的模型来描述软件架构,如图3—15所示。
[问题2]
结合你的系统架构设计经验,请用300字以内的文字简要说明进程架构主要解决的问题,以及如何区分主要任务和次要任务。
参考答案:进程架构考虑一些非功能性的需求,如性能和可用性等。它解决并发性、分布性、系统完整性和容错性的问题,以及逻辑视图的主要抽象如何与进程结构相配合在一起,即在哪个控制线程上,对象的操作被实际执行。
进程是构成可执行单元任务的分组。进程代表了可以进行策略控制过程架构的层次(即开始、恢复、重新配置及关闭)。另外,进程可以就处理负载的分布式增强或可用性的提高而不断地被重复。
主要任务是可以唯一处理的架构元素;次要任务是由于实施原因而引入的局部附加任务(如周期性活动、缓冲和暂停等)。它们可以作为轻量线程(或Ada Task)来实施。主要任务的通信途径是有着良好定义的交互任务通信机制:基于消息的同步或异步通信服务、远程过程调用及事件广播等。次要任务则以会话或共享内存来通信。在同一过程或处理节点上,主要任务不应对它们的分配做出任何假定。