软件过程中的概要设计

来源:互联网 发布:淘宝 宝贝 排名 编辑:程序博客网 时间:2024/06/05 16:28

软件过程中的概要设计

                                                                ——兼论需求设计及缺陷分析

作为开博第一篇,也是在公司从事软件开发和项目管理近三年的体会。其中大部分内容是公司软件开发团队领导的经验和理念,我只是做一些整理和总结。希望能够对初涉开发的人员有一些帮助。

概要设计是软件过程中一个重要的阶段。它实现了产品团队的需求开发成果到软件团队的软件架构的转换,并作为详细设计的纲领。如果把概要设计完成好,可以使产品在项目进度和项目质量上得到总体的把控。概要设计之前,需要开发团队和产品团队对产品的需求做深层次的沟通及开发,例如,把大的需求细化,对具体的需求做抽象。期间,除了功能性的需求外,非功能性的需求也要特别关注。实践证明,非功能性需求实现的好与坏,往往决定了产品的最终成功与失败。非功能性需求里一个重要的部分就是对异常的处理。实际产品应用过程中往往会遇到各种复杂的情景,只有能够应对各种情景下的异常,才能真正满足客户的需求,并减少维护成本,提高产品的竞争力。尽管我们无法保证需求开发之初就全面考虑到各种情况下的异常,但是我们可以在之后的设计,开发,测试,甚至运维中不断的补充并迭代,这样可以逐步逼近异常情景的全覆盖,同时为下一次的开发积累经验。

 

概要设计包括体系结结构,通信协议,序列图及其消息实例,尤其要包括异常情况。

 

首先需要确定软件的静态结构。包括软件架构,主要模块及其层次关系。

核心数据结构。 类图关系。各功能模块的文字描述。用到的文件的内容及格式,例如配置文件,日志等。对外的接口,底层通信接口,内部接口。

 

其次是确定动态结构。包括进程/线程模型和动态流程。

启动。业务运行。不同场景下的业务运行流程,尤其是异常场景。退出。序列图。状态机。

 

再次是锁。

多线程设计中最令人头痛的一个就是锁的问题。如果在软件过程的后期来解决由锁引起的低性能,死锁,崩溃等问题,成本会相当高。要在静态结构和动态结构中标注锁的位置。

 

实际应用中,概要设计的以上三个过程是迭代进行的。经过两到三次的迭代,基本可以满足概要设计的要求,进入详细设计阶段。

                                                                         

缺陷分析。在整个软件过程的每个阶段都有能发现缺陷,而缺陷发现的越晚,修复的成本也越高,且成指数增长。缺陷分析是软件过程中的一个质量保证手段,其成果也能为下一次开发中降低缺陷率提供经验和指导。缺陷分析要包含三个部分:第一,该缺陷是在软件过程的哪个环节引入的;第二,该缺陷是在哪个环节被发现的;第三,该缺陷应该在哪个环节被发现。当然,还要跟踪该缺陷是否被关闭,在哪个环节被关闭的。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 迷你世界太卡了怎么办 把线稿画在背景里了怎么办 蜗牛在家里跑了怎么办 小孩总是跟大人犟嘴怎么办 鹅当宠物养拉屎怎么办 金毛肚子胀很大怎么办 被小白兔咬了怎么办 仓鼠养在家里有味怎么办 被宠物仓鼠咬了怎么办 2个月小狗拉稀怎么办 家有很多小飞虫怎么办 孩子不和父母微信交流怎么办 我孩子和我顶嘴怎么办 我属龙孩子属狗怎么办 宝宝呛奶怎么办伴呼噜 离婚了欠的债务怎么办 小鸟生长发育过程壳破了怎么办 经常嗓子发炎抵抗力低下怎么办 生完孩子出虚汗怎么办 3岁宝宝抵抗力差怎么办 5岁宝宝免疫力低怎么办 狗狗后腿o型怎么办 狗狗前腿内八字怎么办 小猫腿摔瘸了怎么办会好吗 小狗的腿断了怎么办 狗后腿摔瘸了怎么办 狗狗脖子挠破了怎么办 狗狗脖子挠破化脓怎么办 狗狗大腿骨折了怎么办啊 狗狗洗澡后拉稀怎么办 狗狗好像生病了怎么办 奶狗前腿断了怎么办 狗摔了一下瘸了怎么办 小狗腿突然瘸了怎么办 狗腿突然瘸了怎么办 狗腿受伤了肿了怎么办 狗狗缺钙腿变形怎么办 小狗腿摔骨折了怎么办 狗狗脚掌被压了怎么办 狗狗的脚骨折了怎么办 给猫灌药水呛到怎么办