软件系统设计总体思路

上传人:daj****de2 文档编号:182638995 上传时间:2023-01-26 格式:DOCX 页数:5 大小:12.28KB
返回 下载 相关 举报
软件系统设计总体思路_第1页
第1页 / 共5页
软件系统设计总体思路_第2页
第2页 / 共5页
软件系统设计总体思路_第3页
第3页 / 共5页
点击查看更多>>
资源描述
软件/系统设计的总体思路软件设计的本质就是针对软件的需求,建立模型,通过将模型映射为软件,来解 决实际问题。因此软件设计需要解决的核心问题是建立合适的模型,使得能够开 发出满足用户需求的软件产品,并具有以下特性:灵活性(Flexibili ty)有效性(Efficiency)可靠性(Reliab ility)可理解性(Unders tandab ility)维护性(Main tainabili ty)重用性(Reuseability)适应性(Adap tabili ty)可移植性(Por tability)可追踪性(Traceabili ty)互操作性(Interoperability)因此,软件设计并没有一套放之四海而皆准的方法和模板,需要我们的设计开发 人员在软件的设计开发过程中针对软件项目的特点进行沟通和协调,整理出对 软件项目团队的行之有效的方式,进行软件的设计。并保障软件设计文档的一致 性,完整性和可理解性。我们经常听到这样的话: “设计文档没有用,是用来糊弄客户和管理层的文档”; “用来写设计文档的时间,我的开发早就做完了”; “项目紧张,没有时间做设计”; 这些言论,并不是正确的观念,根据软件项目的实际情况,软件开发设计团队可 以约定设计文档的详细程度项目团队需要保障设计文档的完整性和一致性,在 项目进度紧张的情况下,软件设计文档可以更初略一些;在项目时间充裕的情况 下,相关文档可以更为详尽但是在项目开发过程中,需要软件设计开发团队对 于设计文档有共同的理解。二、设计文档分类与使用通常来说,作为软件项目,我们需要有这几类文档需求说明文档功能设计文档系统架构说明书模块概要设计文档模块详细设计文档就像我之前说到的,在某个软件团队,对于以上的文档的要求是可以完全不同的, 在简单项目中,可能所有类型的文档放在一个文档中进行说明;在复杂项目中, 每一类文档可能都要写几个文档;而在最极端的情况下,可能每一类文档都能装 订成几册。因此,在我们软件设计和开发人员心目中需要明确的是:文档并不是 我们进行设计的目标,也不是我们设计过程中额外的工作。软件设计文档是我们在软件设计开发过程中形成的,用来在软件设计开发团 队内部以及与各干系人之间进行沟通的文档,这些文档记录了软件项目中的 各种知识,方案的思路、以及各种决策意见.三、软件设计开发过程下面我们就软件设计开发过程中必须要完成的工作进行梳理,而我们需要注意 到,这些需要完成的工作,在不同的开发流程模型的指导下可能有不同的时间要 求,而我们需要关注的是在这个阶段内需要完成的工作,以及这个阶段内我们需 要沟通的人员.1。需求分析需求分析是我们进行任何一个软件项目设计开发过程中都必须要完成的工作.这个工作通常与客户一起完成在不同的项目中,这个“客户可能来自真正的购 买产品的用户,使用系统的用户,也有可能来自团队的某个人员,如产品经理等。 软件设计开发团队的参与成员根据项目的不同规模,则参与的人员也有所不同。 原则上,设计开发人员参与的时间点越早,对于需求的理解和把握会更好这个 阶段,通常需要软件架构师参与其中从资源优化的角度来说,开发人员不必参 与需求分析,但需要理解需求。需求分析的结果通常我们需要使用需求说明文档来描述,目前主流的需求描述方 法包括:用户例图、用户故事等方式。这些方式有所不同的侧重,其核心思想就 是描述清楚用户的使用场景。但无论采取何种方式,进行需求的描述,需求说明 需要明确以下几点:所需要开发的软件系统边界系统所有的相关及使用人员角色系统关键的使用场景系统规模、性能要求以及部署方式等非功能性需求2。功能设计功能设计与需求分析差不多同时在开展,在很多软件项目中,对于功能设计不是 特别重视。但对于某些软件项目而言,这是一个相当重要的工作。对于主要是用 户界面的软件项目来说,功能设计可以看作是画出原型界面,描述使用场景,获 得用户认可的过程。而对于没有界面的软件项目来说,则功能设计与需求分析的 区分更为模糊。参与的人员与需求分析的参与人员类似,架构师更侧重于参与此类工作,并给与 一些实现层面的判断和取舍.功能设计需要明确的核心是:系统的行为3。系统架构设计系统架构设计是一个非常依赖于经验的设计过程。需要根据软件项目的特定功能 需求和非功能性需求进行取舍,最终获得一个满足各方要求的系统架构。系统架 构的不同,将很大程度上决定系统开发和维护是否能够较为容易的适应需求变 化,以及适应业务规模扩张。架构设计工作中,用户参与程度很低。软件开发团队中的需求人员参与程度很低, 但团队中的所有核心设计和开发人员都应该参与其中,并达成一致意见。架构设计的主要成果,是将系统的不同视图予以呈现,并使之落实到开发中:系统开发视图及技术路线选择系统逻辑视图系统部署视图系统模块视图系统的领域模型在软件开发过程中,系统的架构不是一成不变的,随着设计人员和开发人员对于 系统的理解不断深入,系统的架构也会发生演化。在软件项目中,架构设计是开 发团队沟通的统一语言,设计文档必须要随着系统的变化进行更新,保障开发团 队对于系统的理解和沟通的一致性。4. 模块/子系统概要设计模块/子系统的概要设计,由架构师参与,核心设计和开发人员负责的方式进行。 在概要设计工作中,我们需要在架构确定的开发路线的指导下,完成模块功能实 现的关键设计工作在概要设计阶段,需要关注于模块的核心功能和难点进行设 计。这个过程中更多推荐的采用UML来进行概要设计,需要进行:模块实现机制设计模块接口设计关键类设计画出时序图交互图等。5. 模块详细设计在瀑布式开发模型中,模块的详细设计会要求比较严格,将所有类进行详细设计. 据我所知,除了一些对于系统健壮性要求非常严格的软件项目,如国防项目,金 融项目还要求有详细设计文档之外。其他的项目大多采用其他方式来处理这样的 工作,如自动化测试等.综上所述,软件设计文档作为软件开发团队的沟通、理解、知识共享的手段,具 有非常重要的意义。而根据软件团队的规模,对于文档上承载的信息详细程度可 以有不同程度的要求。我们软件团队对于*如何使用设计文档有一个统一的理解, 并坚持更新设计文档*,这就是软件设计的最佳实践!软件设计所需要的知识与技能 UML统一建模语言软件工程面向对象的编程OOP操作系统数据库原理设计模式沟通能力
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!