问答题 论基于架构的软件设计方法及应用 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。 请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。 2.结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动? 3.阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。
【正确答案】(1)论文的第1部分可简要介绍你参与开发的、采用ABSD方法的信息系统软件项目,尤其要着重介绍该软件项目的背景、项目应用环境、目标、项目周期、项目经费、项目内容和交付的产品等,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。叙述自己参与系统分析、架构设计和实施的信息系统软件项目应有一定的规模,自己在该项目中担任的主要工作应有一定的份量。 (2)论文的第2部分是体现你的软件工程领域理论知识的精华所在。基于架构的软件设计(ABSD)方法以架构风格和质量属性为中心,强调由商业、质量和功能需求的组合驱动软件架构设计,是一个自顶向下、递归细化的过程。ABSD方法有3个基础:功能分解、选择架构风格实现质量和商业需求、软件模板的使用。 针对传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点,基于架构的软件开发模型(ABSDM)将软件过程划分为架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化等6个阶段。 ①架构需求阶段需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。其主要活动包括需求获取、标识构件和架构评审。其中,A.需求获取活动需要定义开发人员必须实现的软件功能,使得用户能够完成他们的任务,从而满足功能需求。与此同时,还要获得软件质量属性,满足一些非功能性需求。B.标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构打包成构件。C.架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。审查的主要内容包括所获取的需求是否真实反映了用户需求,构件合并是否合理等。 ②架构设计阶段是一个迭代过程,利用架构需求生成并调整架构决策,主要活动包括提出架构模型、将已标识的构件映射到架构中、分析构件之间的相互作用、产生系统架构和架构设计评审。 ③架构文档化阶段的主要活动是对架构设计进行分析与整理,生成架构规格说明书和测试架构需求的质量设计说明书。 ④在一个主版本的软件架构分析之后,需要安排一次由外部人员(客户代表和领域专家)参加的架构复审。架构复审阶段需要评价架构是否能够满足需求,质量属性需求是否在架构中得以体现、层次是否清晰、构件划分是否合理等,从而标识潜在的风险,及早发现架构设计中的缺陷和错误。 ⑤架构实现阶段主要是对架构进行实现的过程,主要活动包括架构分析与设计、构件实现、构件组装和系统测试。 ⑥架构演化阶段主要解决用户在系统开发过程中发生的需求变更问题,主要活动包括架构演化计划、构件变动、更新构件的相互作用、构件的组装与测试、技术评审。 (3)论文的第三部分是体现你的软件工程领域理论知识和项目实践相结合的精华所在。结合项目实践经验,归纳、梳理你在参与实施的软件开发项目中所遇到的具体问题。项目开发过程可能遇到的问题包括(但不限于):①在架构需求获取过程中如何对捕获的架构需求进行筛选和优先级排序;②在架构复审过程中如何解决评审人员的意见不一致问题;③在架构实现过程中如何根据项目组的实际情况选择开发语言与开发平台;④在架构演化过程中如何筛选并处理用户的需求变更。 接着阐述在项目实际应用环境中,你针对相关问题所采用的解决方法、技术和步骤,以及它们对该工程项目后期的工作产生了哪些积极(或消极)的影响(效果和存在的问题)。论文最后可以进一步讨论你在该工程项目中获得的相关体会,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些经验或教训。对需要进一步改进的地方,应有具体的着眼点,不能泛泛而谈。 (4)在论文写作过程中值得关注的一些要点如下(全书同): ①整篇论文要结构合理、切中要害、陈述完整、言简意赅、语言流畅、字迹清楚,切忌对知识点的堆积、长篇大论、言之无物。 ②选择自己参与过的工程项目进行分析论述,所述项目切题真实,介绍清楚。 ③下午试卷Ⅱ是论述题目,问题中提到的中心内容在题目的说明中都有所涉及。在答题时首先要冷静并认真阅读题目,找出和问题相关的知识点,确定考题的关键考点,这是答题的前提。 ④摘要是全文概括,千万不要写成引言。 ⑤围绕论文主题,对所参与的项目进行科学叙述与评价,要有具体的着眼点,不能泛泛而谈,尽可能从字里行间中让阅卷者体会到你的实际工作能力、业务水平和项目实践经验。 ⑥在考试过程中应注意技巧,让答题的思路最大限度地符合出题的思路,避免跑题,这样容易得到阅卷老师的共鸣。 ⑦根据考生对所参与的项目中针对本论文主题的相关叙述与评价,可确定他(她)有无参与信息系统项目开发过程的实践经验。
【答案解析】