基于软件工程方法的SEMAT理论与实践
2018-01-17夏韩平
夏韩平
摘 要 随着科学技术的快速发展,我国软件开发领域实现了较为长足的进步,SEMAT理论的广泛应用便是这一进步的最直观体现,基于此,本文结合SEMAT理论基本需求进行了基础模型的构建,并对应用SEMAT工具后的实际效果进行了检查,希望由此能够为相关业内人士带来一定启发。
【关键词】软件工程 SEMAT理论 Alpha
本文基于软件工程方法的SEMAT理论与实践展开具体研究的原因所在。
1 需求分析
结合SEMAT理论进行分析,即可为系统的设计提供基础性支持,分析主要围绕SEMAT内核、基本元素、基础活动共三方面开展。
1.1 SEMAT内核
SEMAT内核主要由基础进展元素和基础活动两大部分组成,前者包含部分软件系统开发时“我们一直在使用的事物”,而后者则包含部分“我们一直在从事的事情”。进一步分析SEMAT内核不难发现,其组织可以细分为Customer、Solution、Endeavor三个离散关注领域,其中Customer主要包含实际使用与开发软件系统有关的任何事情,而Solution则包含与软件系统规划和开发有关的任何事情,Endeavor则由团队开发和团队工作模式有关的任何事情组成,三者可以理解为客户、解决方案、努力。
1.2 基本元素
Alpha指的是软件开发过程中需要监控进展可健康度的事物,关于进展和健康度、致力于良好结果产生、本质为集合属于Alpha所强调的三点。SEMAT内核包含Opportunity、Stakeholder、Requirements、Software System、Team、Work、Work-of-Working共7種Alpha,7种Alpha分别表示机会、涉众、需求、软件系统、团队、工作、工作方式。
1.3 基础活动
activity执行在软件开发工作中发挥着重要作用,如估算工作量、同意产品拥有者的用户故事等,内核本身则单纯发挥着活动空间的定义作用,由此三类活动空间必须得到重视,活动控制的具体展示如下:
1.3.1 第一类活动空间
在探索可能性、理解涉众需要、确保涉众曼仪、使用系统的支持下,该空间能够较好用于理解机会以及支持和吸引涉众参与。
1.3.2 第二类活动空间
在理解需求、塑造系统、实现系统、测试系统、部署需求、运营系统的一系列过程中,该空间便能够较好用于适合的解决方案开发,赢得机会、满足涉众也将由此实现。
1.3.3 第三类活动空间
准备做动作、协调活动、支持团队、跟踪进展、停止工作均属于第三类活动空间内容,由此团队的形成、按一致同意的工作方式进行将真正得以实现。
2 系统设计
为满足结合SEMAT理论的系统设计需求,开展的具体设计应遵循系统建模、概要设计两部分开展。
2.1 系统建模
结合需求分析即可进行两个基础架构的构建,其中基础元素架构主要体现Alpha之间的关系,而活动空间架构则按照事情完成顺序进行,也就是说只有在完成理解需求后方可进行系统塑造。
2.2 概要设计
为了更好实现对Alpha的应用,需要为各个Alpha设计状态卡片用以反映其具体状态,Alpha的状态由此将得以较好体现,具体开发工作的步骤理解也将得有力支持。而在完成Alpha的状态卡片设计后,设计人员还需要结合设计成果进行以组为单位的相关联判定准则构成的集合设计,表1对设计成果的部分进行了直观展示。
值得注意的是,上述设计使用了走查这一设计方法,该设计方法可以描述为:将Alpha卡片排列并将其中状态卡片依次从左向右排列→结合卡片询问各状态完成信息→将完成的Alpha卡片放到左边直至出现未达到的状态卡片→将卡片及之后的卡片放到右边,由此具体软件工程的开展就将获得较好支持。
3 质量分析
在完成Alpha卡片的开发后,即可结合项目实例进行SEMAT工具的实际效果分析,因此本文对某软件开发的五次例会进行了综合分析。
3.1 第一次例会
按照任务板情况骨干成员、中级开发人员分别负责测试培训和测试环节搭建,而协调项目经理则与客户代表讨论要实现的需求项。
3.2 第二次例会
完成1任务但工作方式未达到“工作良好”状态,因此增加新的任务,同时跟进3、4、5任务。
3.3 第三次例会
中级开发人员完成任务2,任务3、4由实习生分别进行,项目经理、开发骨干、客户代表负责任务7进行新需求的确认。
3.4 第四次例会
任务3、4完成,且项目达到“工作方式:工作良好状态”,任务5和任务7分别由开发人员和开发骨干接受。
3.5 第五次例会
所以软件系统状态卡片均被移入“已完成”列表,图1对其进行了直观展示。
结合某应用SEMAT工具的软件工程开发实例不难发现,Alpha卡片的应用为开发工作的有条不紊开展提供了有力支持,SEMAT理论的实践价值由此可见一斑。
4 结论
综上所述,SEMAT理论理论能够较好用于软件工程领域。而在此基础上,本文涉及的应用SEMAT工具的某软件开发实例,则直观证明了研究的实践价值。因此,在相关领域的理论研究与实践探索中,本文内容便能够发挥一定参考作用。
参考文献
[1]钟南.面向Agent软件工程的现状与挑战[J].硅谷,2013,612:1+3.
[2]贾应炜.云计算环境下的GIS软件工程设计分析[J].现代电子技术,2015,3817:133-134+138.
作者单位
浙江科技学院 浙江省杭州市 310023endprint