您当前的位置:检测资讯 > 科研开发
嘉峪检测网 2019-07-22 09:46
软件架构设计
我们说到可以对照IEC62304列出的需求,准备我们的医疗器械软件需求文档。接下来,我们就是要将这些需求转换成软件的体系架构。
软件体系架构是构建计算机软件实践的基础。就好比建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础。软件架构师要按照客户需求,制定实际系统设计方案。
从目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。(参考维基百科)
软件架构设计的方法很多,通常会包括以下四个步骤:
第一步预架构阶段
了解软件的所有需求,将需求结构化,捋清需求之间的关系。
第二步概念架构
基于关键功能,进行初步设计,将复杂的系统分成多个子系统。
第三步细化架构
常用5视图法进行细化架构设计,包括:
1)逻辑架构
重点是考虑软件功能性需求——需要考虑多方面的需求:系统功能划分成几个子系统和功能模块?向用户提供什么功能?每个功能都是怎样的操作流程与分支?如何通过界面与用户交互?怎样交互?应当设计哪些类与界面?怎样设计?与哪些外部系统接口?怎样接口?
2)开发架构
重点关注的是开发编码实现方面的问题
3)数据架构
不仅仅要考虑开发中涉及到的数据库,实体模型,也要考虑物理架构中数据存储的设计。
4)运行架构
运行架构关注的不再是全局而是局部,着重关注那些关键点与难点,常常需要技术攻关与预研。主要考虑控制流、通讯机制、资源争用、锁机制、同步异步、并发、串行,同时也要考虑质量属性。
5)物理架构
物理架构主要考虑硬件选择和拓扑结构,软件到硬件的映射,软硬件的相互影响。
第四步编码实现
最后就是将架构进行详细设计,通过编码实现软件架构。
软件详细设计
软件架构设计完成后,需要将架构细化成软件单元,所谓的软件单元就是不可再分的软件项。
有些医疗器械软件会用到SOUP的软件项,此类的软件项的内部架构可能没有办法得知,但可以将这类软件项看成一个软件单元。
软件进行详细设计时,不单要对每个软件单元进行详细设计,还要将软件单元对外部任何的软件或硬件接口进行详细设计,并且这些设计都要形成文档。
当然在所有的进行详细设计时,要考虑风险管理的要求,及时调整软件的架构设计和详细设计。
结语
今天的微课分享到这里,术业有专攻,每个企业的程序员应该比我们更了解软件的架构设计和详细设计。这次微课很多是借鉴他山之石,带大家初步了解软件架构设计和详细设计的大概流程,以便更好得准备软件描述文档。
来源:启升资讯