系统设计编码过程.docx

上传人:b****1 文档编号:1334021 上传时间:2022-10-20 格式:DOCX 页数:11 大小:33.42KB
下载 相关 举报
系统设计编码过程.docx_第1页
第1页 / 共11页
系统设计编码过程.docx_第2页
第2页 / 共11页
系统设计编码过程.docx_第3页
第3页 / 共11页
系统设计编码过程.docx_第4页
第4页 / 共11页
系统设计编码过程.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

系统设计编码过程.docx

《系统设计编码过程.docx》由会员分享,可在线阅读,更多相关《系统设计编码过程.docx(11页珍藏版)》请在冰豆网上搜索。

系统设计编码过程.docx

系统设计编码过程

密级:

部公开

文档编号:

NTT_SD_PROC_XTSMGC

版本号:

V1.0

 

系统设计编码过程

 

市新中新电子技术开发

 

编制:

生效日期:

审核:

批准:

-----------------------------------------------------------------

市新中新电子技术开发对本文件资料享受著作权及其它专属权利,未经书面许可,不得将该等文件资料(其全部或任何部分)披露予任何第三方,或进行修改后使用。

 

文件更改摘要:

日期

版本号

修订说明

修订人

审核人

批准人

 

1.目的/方针

系统设计编码的目的在于开发、设计和实现关于需求的解决方案。

本过程规定了项目开发设计工作应遵循的步骤和原则,保证《软件需求说明书》中的各项要求在设计时都能够得到满足;对项目的编码实现进行质量控制,保证编码实现活动按计划顺利完成并与设计相一致。

2.围

适用于公司的研发类、合同开发类、维护开发类项目的系统设计编码过程。

3.术语

4.角色与职责

角色/部门

职责

项目经理

提请、参与设计评审,批准设计结果

协调项目组各角色之间的协同合作关系

系统分析师

根据《软件需求说明书》进行系统整体架构的分析和设计

编写《概要设计说明书》

参加设计评审

高级软件工程师

根据《概要设计说明书》以及《软件需求说明书》,编写系统《详细设计说明书》

参加设计评审

参与代码走查

软件工程师

根据《详细设计说明书》,完成代码编写以及单元测试,参与代码走查

参加设计评审

技术部

组织或参与设计评审

5.入口准则

●《软件需求说明书》已通过评审。

6.输入

●《软件需求说明书》

7.流程图

图1:

系统设计编码过程示意图

8.主要活动

系统设计编码过程包括系统设计、系统实现。

系统设计是指设计软件系统的体系结构、数据库、模块等,在需求和代码之间建立桥梁,一般分概要设计和详细设计两个阶段;系统实现是指软件工程师按照系统设计去编码开发,并进行单元测试、代码走查;在设计编码过程中同时进行用户文档的编制。

8.1.设计原则

设计工作应遵循以下原则:

Ø正确、完整地反映《软件需求说明书》的各项要求,充分考虑其功能、性能、安全、出错处理及其它需求。

Ø保证设计的易理解性、可追踪性、可测试性、接口的开放性和兼容性,考虑健壮性(易修改、可扩充、可移植)、重用性。

Ø采用适合本项目的设计方法。

若系统使用了新工具和新技术,为了确认新工具和新技术,可以采用快速原型法进行技术预研。

Ø考虑选用合适的编程语言和开发工具,制定编码规和系统约定等。

Ø吸取以往设计的经验教训,避免重新出现同样或类似的问题。

Ø对于重要的和复杂度较高的部分要求有相当经验的设计人员担任。

8.2.设计方法

设计时要使用有效的方法进行软件设计。

主要的软件设计方法包含但不限于:

Ø面向结构设计方法:

结合《软件需求说明书》及系统不同层次的数据流图,把整个系统分解为模块并确定各模块功能,确定每个功能模块的输入、转换和输出数据流,并考虑各方面数据接口、存储方式等。

迭代逐步分解各系统模块,直到确定每个功能模块只执行一个行为为止,同时细化数据结构设计,完善数据字典以确保系统能获得所需的输出结果,从而完成系统构架设计。

Ø面向对象设计方法:

结合《软件需求说明书》和系统选用的编程语言,确定客户类(包括子类)及类的各种行为,并使用设计模型及相应的列表,确定每个对象的客户(模块)关联,并给予必要的方法设计。

迭代逐步检查对象及其方法,直到系统中每个对象拥有所有必需的方法,从而完成系统构架设计。

8.3.多方案选择

系统设计过程进行多方案选择时,按照《决策分析和决定过程》进行系统架构选择和关键技术方案的确定,设计出多个侯选的技术解决方案。

设计应基于成本、进度、技术性能、生命周期、产品运作条件、风险、需求和技术变化等多个因素来进行,开发出的解决方案将作为后续设计工作的基础,必须保证可行性与可操作性。

并非所有项目都要求提供多个技术解决方案,但为保证项目质量和公司商业利益,大型项目至少应提供两套以上技术解决方案。

小型项目和中型项目提供一个技术决策方案,对于项目的级别较小或是公司部项目或对技术性要求不大的项目技术解决方案可以适当的裁减,但对于其中某些重要部分需要提供两个以上解决方案。

8.4.制作、购买与复用

系统设计过程中,如果某一组建存在进行新开发、采购或复用多方案选择时:

利用决策分析和决定过程确定新开发、采购和复用方案。

参见《决策分析和决定过程》。

8.5.概要设计

概要设计是分析各种设计方案和定义软件体系结构的过程。

系统分析师在充分了解需求的基础上,依据《软件需求说明书》选用适当的设计方法,分析与设计软件的结构、模块功能。

通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,编写《概要设计说明书》。

《概要设计说明书》必须经过技术评审。

8.5.1.概要设计

概要设计是建立整个软件的体系结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义等。

包括:

Ø总体架构设计

Ø接口设计

Ø界面总体设计

Ø数据结构设计

Ø系统出错处理设计(可选)

Ø系统安全设计

Ø系统部署等

概要设计入口准则是《软件需求说明书》评审通过

概要设计输入是《软件需求说明书》

概要设计输出形成《概要设计说明书》、《数据库设计说明书》等

概要设计的工作步骤:

1.项目经理确定系统设计人员,并讨论确定阶段出口准则,通盘考虑并跟踪上游顺延下来的进度、技术难度等风险、问题,与相关人员沟通,制定阶段计划。

必要时,请高层参与问题解决;

2.评估、确认需求分析结果,并对可重用的软件或功能模块进行性能测试,通盘考虑整个系统结构、功能扩展性;

3.系统体系结构设计:

3-1用选定的工具(如需求功能矩阵表等)和开发计划设定的交付方式(如小版本渐进交付)及设计方法,结合设计原则(如功能模块化等),将系统分解为若干子系统、功能模块,并3-2确定子系统、功能模块及其间的关系;

确定子系统、功能模块间的约束、假设和依赖(如系统运行环境和开发、测试环境等,并考虑系统并发性和分布性要求);

3-3结合以上容,对系统的模块逻辑实现和集成方法进行设计,降低使软件难于实现、测试(必要时测试人员参与讨论)、维护的因素,形成高聚、低耦合的系统体系结构;

3-4定义错误处理和恢复策略,对可能出现的故障进行分解,确定处理对策;

4.数据体系结构设计:

4-1确定项目数据库设计规则以便于系统统一,其中包括:

库命名,逻辑设计,物理设计,安全性设计及优化,管理规则等;

4-2数据库设计一般要经过“逻辑设计→物理设计→安全性设计→优化”等步骤,通常要迭代进行:

4-3逻辑设计

分析软件系统模块及其之间的数据操作,使用抽象数据类型设计,转换数据对象的属性及其关联、接口等容,设计并完善数据字典及其约束条件,实现数据的变量封装结构设计。

面向结构设计方法中为创建与数据库相关的数据流图或实体关系图;若采用面向对象方法,则分析类信息传递容,并创建类图;

4-4物理设计

设计表结构,与实体关系图或类图相结合;对表结构进行规化处理;

4-5安全性设计

考虑数据库的登陆访问限制,用户密码加密,操作访问权限等系统安全设计;

4-6优化

分析并优化数据库的“时-空”(即性能,容量等)效率,尽可能“提高处理速度”并且“降低数据占用空间”。

分析“时-空”效率的瓶颈,找出优化对象(目标),并确定优先级;

消除对象(目标)间的对抗性,必要时给出折中方案;

给出优化的具体措施,如逐步评估、优化数据库环境参数,对表格进行反规化处理等,坚持信息隐蔽等原则,加强数据设计可维护性;

8.5.2.概要设计评审

为保证概要设计的正确性、完整性和与需求的一致性,应对概要设计说明书以及相关文档进行技术评审。

选用技术评审会议的方式,提请评审管理部门组织评审,具体过程参见《评审规程》。

●评审组成员包括但不限于:

项目经理、需求分析人员、系统分析师、软件工程师、QA工程师、技术或业务专家

●输入:

《概要设计说明书》;

●输出:

《概要设计说明书》、《评审报告》、《数据库设计说明书》;

●检查单:

《概要设计检查单》

概要设计评审通过后,概要设计说明书及其评审记录纳入受控库管理。

负责概要设计的系统分析师填写《需求跟踪矩阵》的相关设计项。

8.6.详细设计

概要设计评审通过后,依据《软件需求说明书》,根据《概要设计说明书》,高级软件工程师进一步细化系统的设计。

针对每个子系统从功能、性能、输入输出、流程、接口、用户界面等方面实施具体的详细设计,编写《详细设计说明书》。

《详细设计说明书》必须经过技术评审。

8.6.1.详细设计

根据确定的设计方法,选择适当工具进行详细设计,以获得关于处理逻辑、数据结构和数据定义的更加详尽的描述,最终产生软件工程师可用的模块说明。

可以包含:

Ø描述

Ø功能

Ø参数说明

Ø性能(可选)

Ø用户界面

Ø流程逻辑

Ø算法等

详细设计输出《详细设计说明书》、细化的《数据库设计说明书》等。

8.6.2.详细设计评审

为保证详细设计的正确性、完整性和与概要设计和需求的一致性,应对详细设计说明书以及相关文档进行技术评审。

由项目经理作为评审组长,组织按照组评审、轮查的方式进行,或由项目经理指定人员按个人复查的方式进行,具体过程参见《评审规程》。

●评审组成员包括但不限于:

系统分析师、软件工程师、QA工程师、项目经理、技术或业务专家;

●输入:

《详细设计说明书》;

●输出:

《详细设计说明书》、《会议纪要》;

●检查单:

《详细设计检查单》

详细设计评审通过后,详细设计说明书及其评审记录纳入受控库管理。

负责详细设计的高级软件工程师填写《需求跟踪矩阵》的相关设计项。

8.7.编码

●系统设计完成后,进入编码阶段。

●项目组在系统设计时开始制定编码规,在进入编码阶段之前,必须确定项目的编码规:

✧直接使用公司现有的编码规

✧引用公司现有的编码规,在设计阶段开始此基础上进行修改,生成项目的编码规,必须经过EPG审批后使用。

✧公司没有的,项目组应在设计阶段开始建立新的编码规,经过EPG审批后使用。

●编码是把系统设计转换为程序代码的过程。

软件工程师:

✧依据设计说明书,开展具体的程序代码的编写。

✧严格项目的编程规及项目组的系统约定。

✧借鉴以往编码的经验和代码复用。

8.8.单元测试

编码完成的系统各模块必须经过单元测试。

●由模块开发人员进行,有条件的可以由其它开发人员进行互换测试。

●测试需要关注以下几个方面:

Ø源代码编译-----测试代码是否通过编译。

ØSQL脚本-----测试数据库脚本、存储过程运行是否正常。

Ø模块接口-----对被测模块,信息是否能正确地流入和流出。

Ø局部数据结构-----在模块的工作过程中,其部的数据能否保持其完整性。

Ø边界条件-----在边界上模块是否能正常工作。

Ø覆盖条件------模块的运行是是否满足设计的逻辑要求。

Ø出错处理-----检查模块的错误处理设施是否有效。

●建议引用测试工具自动执行单元测试。

●互换测

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1