
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
软件开发架构是目前大多数软件开发程序员都在学习的一个编程开发技术以及职业发展方向,而本文我们就通过案例分析来简单了解一下,软件开发架构常见问题分析。
问题1:要清楚的数据模型,方便了解系统。
这个问题我们需要创建三个文档来解决架构评审委员会的疑问,为了能把数据模型解释得清楚明白,我们就需要基本的三个关于数据的文档,ConceptualDataModel概念数据模型、LogicalDataModel逻辑数据模型和PhysicalDataModel物理数据模型。
其中,概念数据模型只标识到实体或者值对象级别,线框图的框中基本都是数据实体或值对象的对象名称,没有细化到它的属性或字段。为的是突出系统需要哪些数据实体参与,实体之间是怎样的关系,是1对多还是多对1或者多对多,当然也有1对1的情况,还有0或者1对1或对多的情况。
而概念模型就要细化一些实体的属性,让我们能了解如何收集、管理和使用这些数据。后就是物理模型,是能直接表现出在关系型数据库或者非关系型数据库例如NoSQL数据库中如何定义和存储这些数据。
问题2:搞清集成点。
简单的方法就是画架构图,要清晰、要将上下文都呈现出来。有哪些上下游系统如何交互,有哪些系统用户,有哪些数据流转,主要使用哪些服务或者组件,都要清晰,这样在讨论的时候才能搞清楚问题。这部分跟我们上面提到的分析系统要分析系统的客户、用户和涉众以及上下游系统是没什么分别的。这可能也是今天要跟团队做的主要部分。
问题3:现在NoSQL数据库的使用方式比较奇怪,建议部分数据使用关系型数据库;
因为前期开发系统的目标主要为创建一个调查问卷系统用于评估供应商,但久而久之随着需求的扩大,就需要管理许多关系型数据,如层级结构的数据、需要联合查询的数据,这部分数据是不太适合NoSQL数据库的。因为你从NoSQL数据库进行联合查询的性能极低,要么是先取出主表数据,然后根据主表数据分别查找子表数据,而且很多需要关联查询的地方要很多复合的条件,如果要在NoSQL数据库实现,就需要创建很多的索引,会降低NoSQL的数据访问性能。这部分可以考虑将关系型数据库迁出NoSQL数据库,使用内存型缓存数据库和关系型数据库的方式进行缓存和存储,提高访问性能。
问题4:多语言组件需要开源组件审核团队的批准;
这个比较好解决,注意许可问题,然后找开源组件审核团队批准就可以了。
问题5:代码模板应该使用公司通用的代码模板;
这种属于合规性问题,基本只需要照着做就可以了,当然我们也会考虑公司代码模板可能有部分无法实现和满足需求,这里我们可以做一个融合。如果是基础类,那么我们可以继承公司模板的基础类然后用我们自己定义的基础类再封装一层让业务逻辑或者实体进行继承,如果是辅助类或者工具类方法则可以直接进行使用或者调用,当然如果能使用公司模板中的方法尽量不要二次造轮子自己开发。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。