假如你是架构师,你要做些什么
发布时间:2020-03-24 17:46:51 所属栏目:资源 来源:站长网
导读:很多做 软件开发 同学的梦想都是成为一名 架构师 ,而架构师的核心工作就是做好软件设计。软件设计是软件开发过程中的一个重要环节,那么如何进行软件设计,其输出标准又是什么呢?软件设计过程中,如何和各个相关方沟通,使软件设计能同时满足用户的功能
很多做软件开发同学的梦想都是成为一名架构师,而架构师的核心工作就是做好软件设计。软件设计是软件开发过程中的一个重要环节,那么如何进行软件设计,其输出标准又是什么呢?软件设计过程中,如何和各个相关方沟通,使软件设计能同时满足用户的功能需求和非功能需求,并降低公司的开发成本? 前期思考 很多软件开发同学的职业规划都是架构师,试想这样一个场景,如果公司安排你做架构师,让你在项目开发前期进行了一些架构设计。 你该如何开展你的工作? 应该如何说出你的工作成果? 你如何确定你的设计是否满足用户需求的? 你是否有把握最后交付的软件是满足要求的? 是否有把握让软件团队每个工程师清晰了解自己的职责范围,并有效的完成开发工作? 架构师的核心工作就是做好软件架构设计,软件设计是软件开发过程中一个重要的环节。 如何进行软件设计? 软件设计的输出是什么? 软件升级过程中如何和各个相关方沟通? 软件设计如何既能满足用户的功能需求,又能满足用户的非功能需求,也能满足用户的成本要求? 如何能够使开发工程师,测试工程师,运维工程师,理解软件的整体架构,主要模块划分,关键技术实现,核心领域模型,使他们能够做好自己的工作,从而使整个软件开发过程,处于一个可控的范围之内,并在软件开发之初,就对软件未来的蓝图有个清晰的认识? 以上这些诉求可以说是软件开发管理与技术的核心诉求,这些问题搞定了,软件的开发过程和结果也就得到了保障。 核心关键点 两个客观存在 我们再来看看,解决这些问题你需要理解的核心关键点,也就是说究竟如何做软件设计,解决方法就是软件建模,就是软件的抽象模型,这些模型之上配上文字说明,就形成了软件的设计文档。 模型是对客观存在的抽象,在软件开发中有两个客观存在: 一个是我们要解决的领域问题,比如我们要开发一个电子商务网站,那么客观的领域问题就是如何做生意,卖家如何管理商品,管理订单服务用户,买家如何挑选商品,如何下单,如何支付等等,对于这些客观领域问题的抽象就是各种功能及其关系,各种模型对象及其关系,各种业务处理流程。 另一个客观存在就是最终开发出来的软件系统,这个软件系统也是客观存在的。 软件有哪些主要组成? 这些类如何组织成一个一个的组件? 这些内核组件之间的依赖关系是如何的? 运行期如何调用,需要部署多少台服务器? 服务器之间如何通信? 所以这两方面的客观存在的抽象就是我们的软件模型。 一方面,我们要对领域问题和软件系统进行分析,设计抽象,另一方面,我们根据抽象出来的模型,进行软件开发,这就是软件开发的主要过程。![]() ![]() ![]() ![]() ![]() ![]() ![]() (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |