第6章软件编码一、填空题(20小题)1、源程序中加注释是帮助理解程序

第6章软件编码一、填空题(20小题)1、源程序中加注释是帮助理解程序
第6章软件编码一、填空题(20小题)1、源程序中加注释是帮助理解程序

第6章软件编码

一、填空题(20小题)

1、源程序中加注释是帮助理解程序的重要手段,注释分为( )、( )两类。答案:序言性注释、功能性注释

2、通常考虑选用语言的因素有( )、( )、( )、( )和( )。

答案:项目的应用领域、软件开发的方法、软件执行环境、算法与数据结构的复杂性、软件开发人员的知识

3、从软件工程的观点,语言的工程特性是指( )、( )、( )和( )。

答案:可移植性、开发工具的可利用性、软件的可重用性、可维护性

4、编写操作系统、编译系统等系统软件时,可选用( )、( )、( )和( )等。

答案:汇编语言、C语言、Pascal语言、Ada语言

5、效率是一个( )要求,目标在( )给出。

答案:性能、需求分析

6、提高程序效率的根本途径在于选择良好的( )、良好的( ),而不是靠编程时对程序语句做调整。

答案:设计方法、数据结构与算法

7、语句构造的原则是( ),不能为了追求效率而使代码( )。

答案:简单直接、复杂化

8、程序设计语言的心理特性在语言中的表现形式为( )、( )、( )、( )和( )。

答案:歧义性、简洁性、局部性、顺序性、传统性

9、语言的心理特性在语言中的表现形式有:( )、( )、( )、( )和( )。

答案:歧义性、简洁性、局部性、顺序性、传统性

10、程序设计语言的简洁性是指人们必须记住的( )的数量。人们要掌握一种语言,需要记住的成分数量越多,简洁性越( )。

答案:语言成分、差

11、在软件的设计中占有极其重要地位的是软件功能结构,它是联系( )跟开发者的规格说明。

答案:用户

12、贯穿于软件生存期中的一个极为重要的问题是( )。

答案:软件质量

13、为了做好软件质量评价,必须在( )定义其质量需求。

答案:开发前

14、在McCall 质量度量模型中,针对面向软件产品的运行、修改、转移,软件质量概念包括11个特性,面向软件产品操作的5个特性是:( )、( )、( )、

( )和( )。面向软件产品修改的三个特性是:( )、( )和

( )。面向软件产品适应的三个特性是:( )、( )和( )。 答案:正确性、可靠性、效率、完整性、可用性、可维护性、可测试性、适应性、可移植性、可重用性、可互操作性

15、软件质量保证应从( )开始,直到投入使用和售后服务的软件生存期的每一个阶段中的每一步骤。

答案:产品计划和设计

16、假如n 个相同的系统(硬件或软件)进行测试,它们的失效时间分别是1t ,2t ,…,n t ,则平均失效等待时间MTTF=( )。 答案:1

1n

i i t n =∑ 17、软件的规格说明分为外部规格说明和内部规格说明。外部规格说明是从用户角度来看的规格,包括硬件/软件系统设计(在( )进行)、功能设计(在( )进行)。 答案:分析阶段、需求分析阶段与概要设计阶段

18、软件质量定义为(1)与所确定的( )的一致性。(2)与所成文的( )的一致性。(3)与所有专业开发的软件所期望的( )的一致性。

答案:功能和性能需求、开发标准、隐含特性

19、McCabe 复杂性度量又称( )。

答案:环路度量

20、软件的规格说明分为( )规格说明和( )规格说明。设计质量是由

( )规格说明决定的,程序质量是由( )规格说明决定的。

答案:外部、内部、外部、内部

二、单项选择题(30小题)

1、以谓词逻辑为基础的,核心是事实、规则和推理机制度的实用逻辑程序设计语言是( )。

A、Java

B、Lisp

C、Prolog

D、Smalltalk

答案:C

2、如果把一个程序作为一个整体,它也是只有一个入口、一个出口的单个顺序结构,这是一种( )。

A、结构程序

B、组合的过程

C、自顶向下设计

D、分解过程

答案:B

3、将非结构化程序转换为结构程序的过程中,下列( )方法不适用具有循环结构的程序。

A、重复编码法

B、状态变量法

C、布尔标记法

D、以上全部

答案:A

4、程序设计语言一般来说,可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序,具有( )特点。

A、运行效率低,开发效率低

B、运行效率低,开发效率高

C、运行效率高,开发效率低

D、运行效率高,开发效率高

答案:C

5、提高程序效率的根本途径并非在于( )。

A、选择良好的设计方法

B、选择良好的数据结构

C、选择良好的算法

D、对程序语句作调整

答案:D

6、在高级程序设计语言中,使用参数是子程序之间传递信息的一种手段。子程序说明中的参数称为形式参数,调用语句中的参数称为实参。调用时,实参的个数、类型和顺序要和形式参数保持一致。

了解一种语言(或编译器)使用哪种参数传递方法是很重要的,因为程序的运行依赖于所用

的方法。参数传递方法有传值调用(callbyvalue),引用调用(callbyreference)传名调用(callbyname)和宏扩展(macroexpansion)。

传值调用是指把实参的(1)传递给相应的形式参数,子程序通过这种传递形式参数(2);引用调用是指把实参的(3)传递给相应的形式参数,此时,子程序形式参数的一次引用或赋值被处理成对形式参数的(4)访问。C语言中的函数,以(5)方式进行参数传递。

供选择的答案:

1、3:

A、地址

B、名

C、值

D、地址和值⑤值和名⑥名和地址

2:A、可传回结果的值 B、可传回存放结果的地址

C、可传回结果的值和存放结果的地址

D、不可传回任何结果(值或地址)

4:A、直接 B、间接 C、变址 D、引用或赋值

5:A、传值调用 B、引用调用 C、传名调用 D、宏扩展

答案:C|D|A|B|A

7、程序设计语言用于书写计算机程序,它包含语法、语义和( )三方面。

A、语境

B、语调

C、语用

D、词语

答案:C

8、在商业系统的开发中应用最广泛的语言是( )。

A、SQL语言

B、Fortran语言

C、Smalltalk语言

D、Cobol语言

答案:D

9、程序设计语言的工程特性其中之一表现在( )。

A、软件的可重用性

B、数据结构的描述性

C、抽象类型的描述性

D、数据库的易操作性

答案:A

10、程序设计语言的技术特性不应包括( )。

A、数据结构的描述性

B、抽象类型的描述性

C、数据库的易操作性

D、软件的可移植性

答案:D

11、不适合作为数据处理的语言是( )。

A、Prolog

B、C语言

C、4GL

D、SQL语言

答案:A

12、在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在人们更重视程序的( )。

A、技巧性

B、保密性

C、一致性

D、可理解性

答案:D

13、源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( )。

A、模块的功能

B、语句的功能

C、模块的接口

D、开发历史

答案:B

14、在下列计算机语言中,属计算机的低级程序语言有(1),计算机的高级程序语言有(2),第四代程序语言(4GL)有(3)。称二种语言为低级语言是由于它(4),而高级程序语言(5)。供选择的答案:

1.A、BASIC语言 B、Pascal语言 C、汇编语言 D、SQL语言

2.A、WPS B、Windows C、DBMS D、Pascal

3.A、C++ B、SQL C、Visual Basic D、LOTUS

4.A、离机器特性近 B、离自然语言近

C、编程难度低

D、通用性强

5.A、不必经过解释能直接执行 B、必须经过解释才能执行

C、必须经过编译才能执行

D、必须经过编译或解释才能执行

答案:C|D|B|A|D

15、适合在互联网上编写程序可供不同平台上运行的面向对象的程序设计语言是( )。

A、Algol

B、Java

C、Smalltalk

D、Lisp

答案:B

16、在McCall质量度量模型中,对于以下软件质量概念的正确解释是( )。

A、可维护性。修改或改进一个己投入运行的软件所需工作量的程度

B、可测试性。找到并改正程序中的一个错误所需代价的程度

C、适应性。将一个系统祸合到另一个系统所需的工作量

D、可重用性。一个软件(或软件的部件)能再次用于其他相关应用的程度

答案:D

17、软件可靠性是最重要的软件特性,通常用它来衡量在规定的条件和时间内,软件完成( )的能力。

A、需求分析

B、规定功能

C、概要设计

D、软件测试

答案:B

18、人们常用( )方法来度量软件的可靠性。

A、硬件可靠性的定量度量

B、软件可靠性的定量指标

C、系统的定量度量

D、可靠性的度量

答案:A

19、软件的易维护性是指理解、改正、改进软件的难易程度。通常影响软件易维护性的因素有易理解性、易修改性和(1)。在软件的开发过程中往往采取各种措施来提高软件的易维护性。如采用(2)有助于提高软件的易理解性;(3)有助于提高软件的易修改性。在软件质量特性中,(4)是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性;(5)是指防止对程序及数据的非授权访问的能力。供选择的答案:

1:A、易使用性 B、易恢复性 C、易替换性 D、易测试性

2:A、增强健壮性 B、信息隐蔽原则 C、良好的编程风格 D、高效的算法

3:A、高效的算法 B、信息隐蔽原则 C、增强健壮性 D、身份认证

4:A、正确性 B、准确性 C、可靠性 D、易使用性

5:A、安全性 B、适应性 C、灵活性 D、容错性

答案:A:④B:③C:②D:③E:①

20、在McCall质量度量模型中,对于以下软件质量概念的解释正确的是( )。

A、正确性。软件按照设计要求,在规定的时间和条件下不出故障且持续运行的程度

B、可靠性。软件满足设计规格说明及用户预期目标的程度

C、效率。为了完成预定功能,软件系统所需的计算机资源和程序代码数量的程度

D、完成性。用户熟悉、使用及准备输入和解释输出所需工作量的大小

E、可用性。对非授权人访问软件或数据行为的控制程度

答案:C

21、在软件开发中必须采取有力的措施以确保软件的质量,这些措施至少包括( )。

①在软件开发初期制定质量保证计划,并在开发过程中坚持执行

②开发工作严格按阶段进行,文档工作应在开发完成后集中进行

③严格执行阶段评审

④要求用户参与全部开发过程以监督开发质量

⑤开发前选定或制定开发标准或开发规范并遵照执行

⑥争取足够的开发经费和开发人力的支持

A、①③⑤

B、①②④

C、全部

D、①③④⑤

答案:A

22、以下说法不正确的是( )。

A、MTTF是一个描述失效模型或一组失效特性的指标量

B、MTBF是指两次相继失效之间的平均时间

C、MTBF在实际使用时通常指当n很大时,系统第n次失效与第n+1次失效之间的平均时间

D、对于失效率为常数和修复时间很短的情况,MTTF与MTBF差别很大

答案:D

23、提高软件质量和可靠性的技术大致可分为两类:其中一类是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要( )技术。

A、消除错误

B、检测错误

C、避开错误

D、容错

答案:D

24、在软件开发和维护的过程中,为了定量地评价软件质量,必须对( )进行度量,以测定软件具有要求质量特性的程度。

A、软件需求

B、软件质量特性

C、软件质量

D、软件特性

答案:C

25、设计高质量的软件是软件设计追求的重要目标。可移植性、可维护性、可靠性、效率、可理解性和可使用性等都是评价软件质量的重要方面。

可移植性是反映出把一个原先在某种硬件或软件环境下正常运行的软件移植到另一个硬件或软件环境下,使该软件也能正确地运行的难易程度。为了提高软件的可移植性,应注意提高软件的(1)。

可维护性通常包括(2)。一般认为,软件维护工作包括改正性维护、(3)维护和(4)维护。其中(3)维护则是为了扩充软件的功能或提高原有软件的性能而进行的维护活动。(5)是指当系统万一遇到未预料的情况时,能够按照预定的方式作合适的处理。

供选择的答案:

1:A、使用方便性 B、简洁性 C、可靠性 D、设备不依赖性

2:A、可用性和可理解性 B、可修改性、数据独立性和数据一致性

C、可测试性和稳定性

D、可理解性、可修改性和可测试性

3、4:

A、功能性

B、扩展性

C、合理性

D、完善性

⑤合法性⑥适应性

5:A、可用性 B、正确性 C、稳定性 D、健壮性

答案:D|D|D|F|D

26、为了提高软件的质量和效率,软件质量保证的主要任务有:力争不重复劳动,掌握开发新软件的方法,用户要求定义,组织外部力量协作排除无效劳动,发挥每个开发者的能力,提高软件开发的工程能力,提高( )。

A、开发方法

B、测试能力

C、计划和管理质量

D、测试和维护的效率

答案:C

27、软件或数据不受未授权人控制的程度,称为( )。

A、正确性

B、移植性

C、可行性

D、完整性

答案:A

28、程序能够按照要求的精确度实现其功能的程度,称为( )。

A、正确性

B、移植性

C、可靠性

D、完整性

答案:D

29、以下说法错误的是( )。

A、程序图描述了程序内部、外部的控制流程

B、程序图完全不表现对数据的具体操作以及分支和循环的具体条件

C、程序图往往把一个简单的IF语句与循环语句的复杂性看成是一样的

D、程序图往往把嵌套的IF语句与CASE语句的复杂性看成是一样的

答案:A

30、可被用于与其实现功能相关的其他应用问题的程序称为( )。

A、可重用性

B、可移植性

C、可互操作性

D、通信共用性

答案:A

三、简答题(5小题)

1、程序设计风格是什么?

答案:程序设计风格一般是指人们编程的习惯特点。语养良好的设计风格可以使程序清晰易读,减少错误,不但能提高软件开发效率,还能为以后的软件维护奠定良好的基础。

主要从以下方面注意编程风格。

(1)程序加注释:注释是编写者与读者之间沟通的手段之一,应该在每一个模块的开头加序言性注释,在程序内部加功能性注释。

(2)变量、数据按意取名,增加可理解性;复杂的数据结构也应加注释。

(3)语句简单直接,内层要缩进,使用空格、空行以提高程序的清晰度。

(4)输入输出提示化、表格化、图形化。

2、什么是顺序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?

答案:程序设计风格指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。良好的编程风格可以减少编码的错误,减少读程序的时间,从而提高软件的开发效率。

为了具有良好的设计风格,应注意以下几个方面的问题:

(1)源程序文档化。

①标识符应按意取名。

②程序应加注释。

注释说明了程序的功能,特别在维护阶段,对理解程序提供了明确指导。注释分序言性注释和功能性注释。

序言性注释应置于每个模块的起始部分,主要内容如下。

①说明每个模块的用途、功能。

②说明模块的接口:调用形式、多数描述及从属模块的清单。

③数据描述:重要数据的名称、用途、限制、约束及其他信息。

④开发历史:设计者、审阅者姓名及日期。

功能性注释嵌入在源程序内部,说明程序段或语句的功能以及数据的状态。注意以下几点:

①注释用来说明程序段,而不是每一行程序都要加注释。

②使用空行或缩格或括号,以便很容易区分注释和程序。

③修改程序也应该修改注释。

(2)数据说明。为了使数据定义更易于理解和维护,有以下指导原则:

①数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。

②一个语句说明多个变量时,各变量名按字典顺序排列。

③对于复杂的数据结构,要加注释,说明在程序实现时的特点。

(3)语句构造。语句构造的原则是简单直接,使用规范的语言,在书写上要减少歧义。

为了便于阅读和理解,不要一行多个语句。不同层次的语句采用缩进形式,使程序的逻辑结构和功能特征更加清晰。要避免复杂的判定条件、多重的循环嵌套。表达式中使用括号以提高运算次序的清晰度等。

(4)输入和输出。在编写输入和输出程序时考虑以下原则:

①输入操作步骤和输出格式尽量简单。

②应检查输入数据的合法性、有效性,报告必要的输入状态信息及错误信息。

③输入一批数据时,使用数据和文件结束标志,而不要计数来控制。

④交互式输入时,提供可用的选择和边界值。

⑤当程序设计语言有严格的要求时,应保持输入格式的一致性。

⑥输出数据表格化、图形化。

(5)效率。效率指处理时间和存储空间的使用,对效率的追求明确以下几点:

①效率是一个性能要求,目标在需求分析中给出。

②追求效率建立在不损害程序可读性和可靠性基础上,要先使程序正确、清晰,再提高程序效率。

③提高程序效率的根本途径在于选择良好的数据结构与算法,而不是考编程时对语句作调整。

总之,在编码阶段,要善于积累编程经验,培养和学习良好的编程风格,使编出的程序清晰易懂,易于测试和维护,从而提高软件的质量。

3、说明McCall软件质量度量模型。

答案:McCall质量度量模型是McCall等人于1979年提出的软件质量模型。针对面向软件产品的运行、修正、转移,软件质量概念包括11个特性,其定义如下:

(1)面向软件产品操作。

正确性:软件满足设计规格说明及用户预期目标的程度。

可靠性:软件按照设计要求,在规定时间和条件下不出故障、持续运行的程度。

效率:为了完成预定功能,软件系统所需的计算机资源和程序代码数量的程度。

完整性:对非授权人访问软件或数据行为的控制程度。

可使用性:用户熟悉、使用及准备输入和解释输出所需工作量的大小。

(2)面向软件产品修改。

可维护性:找到并改正程序中的一个错误所需代价的程度。

可测试性:测试软件以确保其能够执行预定功能所需工作量的程度。

灵活性:修改可运行程序所需要付出的努力。

(3)面向软件产品适应。

可移植性:将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境

中运行时所需的工作量。

可重用性:一个软件(或软件的部件)能再次用于其他相关应用的程度。

连接性:将一个系统祸合到另一个系统所需的工作量。

通常对以上各个质量特性直接进行度量是很困难的,在有些情况下甚至是不可能的。因此,McCall定义了一些评价准则,使用它们对反映质量特性的软件属性分级,以此来估计软件质量特性的值。软件属性一般分级范围从0(最低)到10(最高)。主要评价准则定义如下:可跟踪性:跟踪一个设计说明或一个实际程序部件到原始需求(可追溯)的能力。

完备性:所需功能实现的程度。

一致性:在整个软件开发项目中使用统一的设计和文档编制技术的程度。

安全性:防止软件受到意外的或蓄意的存取、使用、修改、毁坏,或防止失密的程度。

容错性:系统出错时,能以某种预定方式,作出适当处理,得以继续执行和恢复系统的能力。它又称“精确性”。

可审查性:检查与标准是否符合的难易程度。

可操作性:软件操作的难易程度。

可训练性:软件使新用户在使用该系统时的辅助程度。

简洁性:在不复杂、可理解的方式下,定义和实现软件功能的程度。

模块性:软件系统内部接口达到的高内聚、低祸合的程度。

自描述性:对软件功能进行自身说明的程度。

通用性:软件功能覆盖宽广的程度。

可扩充性:软件的体系结构、数据设计和过程设计的可扩充的程度。

硬件独立性:不依赖于某个特定设备及计算机而能工作的程度。

通信共用性:使用标准接口、协议和带宽的程度。

数据共用性:使用标准数据结构和数据类型的程度。

4、McCabe度量法的缺点是什么?

答案:McCabe度量法的缺点是:

(1)对于不同种类的控制流的复杂性不能区分。

(2)将简单IF语句与循环语句的复杂性同等看待。

(3)对于嵌套IF语句与简单CASE语句的复杂性是一样的。

(4)将模块间接口当成一个简单分支一样处理。

5、说明容错系统的设计过程。

答案:容错系统的设计过程包括以下设计步骤:

(1)按设计任务要求进行常规设计,尽量保证设计的正确。按常规设计得到非容错结构,它是容错系统构成的基础。在结构冗余中,不论是主模块还是备用模块的设计和实现,都要在费用许可的条件下,用调试的方法尽可能地提高可靠性。

(2)对可能出现的错误分类,确定实现容错的范围。对可能发生的错误进行正确的判断和分类,例如,对于硬件的瞬时错误,可以采用指令复执和程序复算;对于永久错误,则需要采用备用替换或者系统重构。对于软件来说,只有最大限度地弄清楚错误发生和暴露的规律,才能正确地判断和分类,实现成功的容错。

(3)按照“成本一效率”的最优原则,选用某种冗余手段(结构、信息、时间)来实现对各类错误的屏蔽。

(4)分析或验证上述冗余结构的容错效果。如果效果没有达到预期的程度,则应重新进行冗余结构设计。如此反复,直到有一个满意的结果为止。

系统执行软件源程序代码

系统执行软件源程序代 码 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

附录一系统执行软件源程序代码一、系统多机通信从机源程序代码 ** *Lu Bo* ------------------------------------------------------------------------------------------------------------------------------------- ORG 0000H SJMP MAIN ORG 0023H ;串行口中断入口 SJMP SJCS ------------------主程序---------------------------------------------------------------------------------------------------------- MAIN: SLAVE EQU 12 DK EQU MOV SCON,#0B0H MOV TMOD,#20H MOV TL1,#0FDH MOV TH1,#0FDH MOV IE,#90H SETB TR1 LCALL WDCJ SETB RS1 CLR RS0 LCALL BCDZH LCALL DISPLAY CLR RS1 CLR RS0 SJMP MAIN ------------------串行口中断服务子程序---------------------------------------------------------------------------------- SJCS: CLR RI PUSH A PUSH PSW MOV A,SBUF XRL A,#SLAVE JZ SJCS0 SJCS1: SETB SM2 POP PSW POP A RETI

软件工程 编码

实验三 实验项目编码日期2015-11-09 专业班级计科12(3) 组号10 同组者杨爱红、李香、陈晓彤、张家秀学生学号1208210137 姓名项雪丽机号6-5 成绩 一、实验目的 掌握结构化编程,对程序源代码进行工程文档化处理 二、主要仪器设备 微型计算机系统,MS Visio 2003软件,IDE软件 三、实验原理与方法 根据提供的非结构化伪码或源代码,编写出结构化的程序。 结构化程序设计的原则(使用顺序、选择、重复基本控制结构表示程序逻辑,控制结构的单入口与出口等)为指导,使用约束型流程图、NS或PAD图进行结构化的设计;采用自顶向下和逐步细化的原则,导出程序的结构化编码。 四、实验内容与步骤 1、主要内容 根据给定的非结构化案例和实验大纲的要求,建立模块结构化模型(主模块、子模块),并编写每个模块的结构化文档化代码。 案例:复制命令 接口:<程序名> [参数1] [参数2] 功能:是将命令行参数中的参数1标识的文件,复制到参数2标识的文件中,如命令行中只有一个文件名则把该文件写到标准输出文件(显示器)中。 【源码】 #include main(int argc,char *argv[]) { FILE *fp1, *fp2; char ch; int Sel; Sel = argc; if(Sel==1) goto Sel_No ; if((fp1=fopen(argv[1],"rt"))==NULL) goto Sel_Sr ; if(Sel==2) fp2=stdout; else if((fp2=fopen(argv[2],"wt+"))==NULL) goto Sel_Dt ; while((ch=fgetc(fp1))!=EOF) fputc(ch,fp2); fclose(fp1); fclose(fp2); goto Sel_End Sel_No: { printf("have not enter file name strike any key exit"); getch();

数据库设计和编码规范

数据库设计和编码规范 Version

目录

简介 读者对象 此文档说明书供开发部全体成员阅读。 目的 一个合理的数据库结构设计是保证系统性能的基础。一个好的规范让新手容易进入状态且少犯错,保持团队支持顺畅,系统长久使用后不至于紊乱,让管理者易于在众多对象中,获取所需或理清问题。 同时,定义标准程序也需要团队合作,讨论出大家愿意遵循的规范。随着时间演进,还需要逐步校订与修改规范,让团队运行更为顺畅。 数据库命名规范 团队开发与管理信息系统讲究默契,而制定服务器、数据库对象、变量等命名规则是建立默契的基本。 命名规则是让所有的数据库用户,如数据库管理员、程序设计人员和程序开发人员,可以直观地辨识对象用途。而命名规则大都约定俗成,可以依照公司文化、团队习惯修改并落实。 规范总体要求 1.避免使用系统产品本身的惯例,让用户混淆自定义对象和系统对象或关键词。 例如,存储过程不要以sp_或xp_开头,因为SQL SERVER的系统存储过程以 sp_开头,扩展存储过程以xp_开头。 2.不要使用空白符号、运算符号、中文字、关键词来命名对象。 3.名称不宜过于简略,要让对象的用途直观易懂,但也不宜过长,造成使用不方 便。 4.不用为数据表内字段名称加上数据类型的缩写。 5.名称中最好不要包括中划线。

6.禁止使用[拼音]+[英语]的方式来命名数据库对象或变量。 数据库对象命名规范 我们约定,数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。避免中文和保留关键字,做到简洁又有意义。前缀就是要求每种对象有固定的开头字符串,而开头字符串宜短且字数统一。可以讨论一下对各种对象的命名规范,通过后严格按照要求实施。例如:

软件项目代码编码规范

变更履历

目录 1总则 (4) 2源代码完整性保障 (4) 3源代码的授权访问 (4) 4代码版本管理 (5) 4.1系统初验 (6) 4.2试运行 (6) 4.3系统终验 (7) 4.4系统验收标准 (7)

1总则 1、为保障公司源代码和开发文档安全不至于泄露,保证源代码的完整,明确源代码控制管理流程,特制定此管理办法。 2、本办法适用于所有涉及接触源代码的各部门各岗位。所涉及部门都必须严格执行本管理办法。 3、源代码直接控制管理部门为技术开发部。 4、本办法管理重点在于控制管理源代码的完整性,不被非授权获取,不被非授权复制和传播。 5、本办法所指源代码不仅限于公司开发人员自行编写实现功能的程序代码,而且还包括相应的开发设计文档及用于支撑整个系统运行所必须具备的第三方软件、控件和其它支撑库等文件。 2源代码完整性保障 1、所有软件的源代码文件及相应的开发设计文档均必须及时加入到指定的源代码服务器中的指定库中。 2、我们研发的产品软件运行所必须的第三方软件、控件和其它支撑库等文件也必须及时加入源代码服务器中指定的库中。 3、软件开始编写或者调整代码之前,其相应的设计文档和代码必须先从相应的SVN库进行SVNUpdate操作。软件编码或功能调整结束测试正确无误后,相应的源代码必须进行SVNCommit操作,在最终进行SVNCommit操作之前需要再进行SVNUpdate操作,查看是否有冲突产生,如果有冲突产生需要和冲突相关人一并解决冲突。 3源代码的授权访问 1、源代码服务器对于共享的SVN库的访问建立操作系统级的,基于身份和口令的访问授权。 第十条在SVN库中设置用户,并为不同用户分配不同的,适合工作的最小

软件配置项标识编码规则设计方案解读

软件配置项标识编码规则设计方案 刘宏 2011-9-18 Mail:lh@https://www.360docs.net/doc/856146787.html, 1.背景 1.1.服务外包中迁移 在服务外包中,难度较大的阶段为——服务外包的迁移工程。 服务迁移工程难度大的主要原因之一,是没有实施迁移前准备标准和迁移后的验收标准。也就是在服务成熟到何种程度——包括管理与技术成熟度,服务才能够向外包方进行迁移,以便发包方有效控制服务外包中的风险,达到服务外包的目的。 服务外包迁移前应达到的准备标准——包括管理标准与技术标准,技术标准是管理标准的基础。技术标准是在服务外包迁移中的必要条件,管理标准是服务外包迁移中的充分条件。 不同服务业务在外包迁移中,具有不同的技术标准,但是具有相同的管理标准——ISO20000规定了管理相关的内容。 因为不同的服务业务具有不同的服务技术标准要求,因此正对IT服务外包业务应根据业务的特点编制相关的技术标准要求。IT服务外包业务可以包括: ●IT系统基础平台维护服务外包 ●IT系统支撑环境维护服务外包 ●应用系统的维护服务外包 1.2.服务外包迁移标准内容 每类服务有可以分成:运营服务(一线服务)、支持性服务(二线服务)、变更性服务(三线服务)。 在IT服务外包中风险较大的是运营服务,因为运营服务一直是直接在客户的生产环境实施,一旦发生错误,有可能给客户造成无法挽回的损失。目前一般风险较大的运营服务,有客户自己承担,不进行外包。 支持性服务也是在客户生产环境实施,但是一般需要进行策划与实施结果测试。由于支

持服务具有一定的技术性,因此这种服务外包迁移前应按照技术标准要求通过验收。只有通过技术标准验收的服务才能够实施服务外包的迁移。 变更性服务是在其他环境中测试完成后,在反映到生产环境中。因此变更性服务与系统建设期的系统开发存在不同的风险。在系统建设期,可以进行充分的测试与试运行测试。在变更性服务由于工期与成本的原因,可能不能充分进行测试与试运行。 1.3.服务外包迁移中标准需求 服务外包方为了及时提供服务需要将分包方的技术成果迁移到外包方处,因此分包方向服务外包方进行服务迁移时,在服务迁移时,迁移哪些内容,迁移的内容在迁移前应到技术标准要求应进行验证与确认。若是没有达到服务外包迁移技术标准,很显然是增加服务外包迁移的风险。 在服务外包迁移实施中,需要对服务外包迁移内容结果进行验证,因此需要服务外包迁移结果验证与确认的技术标准要求。 1.4.应用软件服务迁移标准需求分析 在应用软件系统维护服务外包的迁移中,技术标准主要是针对分包方迁移给外包方的所有技术成果物。对这些成果物需要相关的技术标准要求,以便在服务外包迁移过程,分包方与外包方能够有效沟通与交接,确保服务能够连续,不因为服务外包迁移发生中断或服务水平下降。 为了确保分包方与外包方能够有效进行技术沟通,首先需要明确出工程成果物的标识标准——配置项标识编码标准。这一标准能够是双方能够正确地在配置管理库中找到所需要的配置项。 为了能够有效避免交付过程中,使用错误的成果物。就需要双方共同承认的成果物的编码规则或标准。 由此得出结论:软件配置项标识编码规则,是IT应用系统维护服务外包的技术标准中的基础。 2.方案的目的与目标 2.1.目的 通过提供一般软件配置项编码规则,为企业的软件配置项的管理提供自动化处理的解决

软件著作权-源代码范本

软件著作权-源代码范本 注意事项:常见的源代码包含:C语言,VB,C++,JAVA,.NET等。 提交的代码必须是源代码的开头载入程序,第30页必须断开,第60页是软 件的程序结尾,代码中不得出现与申请表内容不符合的日期,著作权人,软件名 字等,不能出现开源代码,不能出现任何版权纠纷。 格式要求:一、源代码应提交前、后各连续30页,不足60页的,应当全部提交。 、源代码页眉应标注软件的名称和版本号,应当与申请表中名称完全一致,页 眉右上应标注页码,源代码每页不少于50行。 范例如下: #i nclude #in elude #i nclude #in elude

#in elude #i nclude #i nclude #i nclude #i nclude #in clude #in clude #in clude #in clude #in clude #in clude #in clude #in clude #in clude #in clude #defi ne NS_MAIN 1 #i nclude #en dif #ifdef DLZ #in clude #en dif static tybs_boolean_t wan t_stats = TYBS_FALSE; static char static char static char static char static un sig ned program_ name[TYBS_DIR_NAMEMAX] = "n amed"; absolute_co nffile[TYBS_DIR_PATHMAX]; saved_comma nd_li ne[512]; versio n[512]; maxsocks = 0; n s_ma in _earlywar nin g(c onst char *format, ...) { va_list args; va_start(args, format); if (ns_g」ctx != NULL) { tybs_log_vwrite( ns_g」ctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_W ARNING, format, args); } else { fprin tf(stderr, "%s: ", program_ name); vfprin tf(stderr, format, args); fprin tf(stderr, "\n"); fflush(stderr); } va_e nd(args); } Void n s_ma in _earlyfatal(c onst char *format, ...) { va_list args; va_start(args, format); if (ns_g」ctx != NULL) { tybs_log_vwrite( ns_g」ctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL, format, args); tybs_log_write( ns_g」ctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, TYBS_LOG_CRITICAL, "exit ing (due to early fatal error)"); } else { fprin tf(stderr, "%s: ", program, name); vfprin tf(stderr, format, args); fprin tf(stderr, "\n"); fflush(stderr); } va_e nd(args); exit(1); } static void assert ion _failed(c onst char *file, in t li ne, tybs_assert ion type_t type, const char *cond)

编码风格 软件工程

编码风格 1.标识符: 在VBScript中声明一个变量可以使用Dim语句,如: Dim MM_editConnection 数据库连接名; Dim MM_editTable 数据库中所连接的表格名; Dim MM_editRedirectUrl 跳转到的页面名; 在本程序设计中,为了便于理解和记忆,采用有实际意义的符号名,且符号名易于区分,每一符号名只有单一的含义。 2.程序及注释: ‘***该程序由张群艳制作,实现了ESMS系统安全检查管理模块中检查结果输入的功能<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% ' *** Edit Operations: declare variables声明变量 Dim MM_editAction Dim MM_abortEdit Dim MM_editQuery Dim MM_editCmd Dim MM_editConnection Dim MM_editTable Dim MM_editRedirectUrl Dim MM_editColumn Dim MM_recordId Dim MM_fieldsStr Dim MM_columnsStr Dim MM_fields Dim MM_columns Dim MM_typeArray Dim MM_formVal Dim MM_delim Dim MM_altVal Dim MM_emptyVal Dim MM_i ‘***连接数据库: MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString) End If ' boolean to abort record edit

软件工程专业专业代码0835

软件工程专业专业代码0835 (Software Engineering) 培养目标:本专业培养德、智、体、美全面发展,掌握自然科学和人文社科基础知识、计算机科学基础理论、软件工程专业及应用知识,具有软件开发能力,以及软件开发实践和项目组织的初步经验,具备良好的科学素养和工程素养、自我获取知识的能力、优良的职业素质和创新意识,能够服务于我国经济建设,适应技术进步和社会需求变化,从事各种应用领域的软件分析、设计、开发、管理、研究和服务等工作的应用型软件工程人才。 培养要求:本专业学生主要学习软件基础理论知识和软件工程专业知识。经过良好的软件工程训练和实践,掌握软件应用和工具,具备运用先进的工程化方法、技术和工具从事某一应用领域软件分析、设计、开发、维护等工作的能力,具有初步的工程实践能力、较强的团队协作能力、初步的创新意识和良好运用外语的能力。 毕业生应获得以下几方面的知识和能力: 1. 系统地掌握理工科基础知识,具有较扎实的数学、物理等自然科学的基础理论,以及社会科学、管理科学的相关知识,具有较好的人文科学素养; 2. 具备初步的外语应用能力,能够阅读专业文献、信息交流及使用相应外文软件系统及编写基本程序文档; 3. 掌握扎实的软件基础理论知识和较宽广的软件工程专业知识,具有一定的项目工作经验,能够综合应用工程学方法分析、设计、开发、维护软件的能力; 4. 了解软件工程学科的前沿技术、软件行业的发展动态及软件行业需求,具备独立学习新理论和新技术的能力,以适应软件技术的快速变化; 5. 具有较强的工作适应能力,具备良好的团队精神、协调沟通能力及组织管理能力; 6. 在基础研发、工程设计和实践等方面具有一定的创新意识; 7. 通晓和遵守法律与职业道德,了解国家对软件和IT行业的政策、法律和法规,熟悉国际和国家关于软件工程领域的技术标准和规范。 主干学科:软件工程。 核心知识领域:计算基础、数学和工程基础、职业实践、软件建模与分析、软件系统设计、验证与确认、软件过程、软件质量、软件管理。 核心课程:离散数学(60+0学时)、数据结构(52+8学时)、操作系统(50+10学时)、算法设计与分析(50+10学时)、数据库原理及应用(44+16学时)、编译原理(52+8学时)、软件工程导论(30+0学时)、高级语言程序设计(52+38学时)、软件质量保证与测试(31+14学时)、软件项目管理(30+0学时)、软件体系结构(30+0学时)、计算机组成原理(52+8学时)、计算机网络(46+14学时)、面向对象程序设计(29+16学时)、软件系统分析与设计(30+0学时)等。 主要实践性教学环节:课程实验、课程设计、专业实习与实训、企业实习与实训、毕业设计(论文)等。 主要专业实验:程序设计实验、计算机网络实验、操作系统实验、数据库设计实验、软件建模实验、数据结构与算法设计实验、编译原理实验。 修业年限:四年。 授予学位:工学学士。

单片机程序源代码

第二章 任务一:闪烁广告灯的设计 利用89C51单片机的端口控制两个LED ( DO和D1 ),编写程序,实现两个LED互闪。 #include #define uint unsigned int #define uChar unsigned Char sbit LED仁POP; sbit LED2=P0A1; void delayms(uint ms) { uint i; while(ms--) { for(i=O;i<12O;i++); } } void main() { while(1) { LED1=O; LED2=1; delayms(5OO); LED1=1; LED2=O; delayms(5OO); } } 任务二:流水广告灯的设计 利用89c51单片机的端口控制8个LED( D0~D7 )循环点亮,刚开始时DO点亮,延时片刻后,接着D1 点亮,然后依次点亮D2->D3->D4->D5 ->D6->D7 ,然后再点亮D7->D6->D5->D4 ->D3->D2->D1->DO ,重复循环。 #include #include #define uint unsigned int #define uchar unsigned char uint i; uchar temp; uint a[8]={Oxfe,Oxfd,Oxfb,Oxf7,Oxef,Oxdf,Oxbf,Ox7f}; void delayms(uint ms) { while(ms--) { uint j; for(j=0;j<120;j++); } }

软件设计编码规范

质量管理体系过程文件 软件设计编码过程 文件版本信息:

目录 1.目的 设计编码的目的在于设计和实现关于需求的解决方案。保证《需求规格说明书》中的各项要求在设计时都能够得到满足;对项目的编码实现进行质量控制,保证编码实现活动按计划顺利完成并与设计相一致。 2.范围 适用于公司的各类软件项目的系统设计编码过程。 3.术语 无 4.角色与职责

5.入口准则 ●《需求规格说明书》已通过评审。 6.输入 ●《需求规格说明书》 7.流程图 图1: 系统设计编码过程 8.主要活动 系统设计编码过程包括系统设计、系统实现。系统设计是指设计软件系统的体系结构、数据库、模块等,在需求和代码之间建立桥梁,一般分概要设计和详细设计两个阶段;系统实现是指开发人员按照系统设计去编码开发,并进行单元测试、代码走查;在设计编码过程中同时进行用户文档的编制。 8.1.概要设计 概要设计是分析各种设计方案和定义软件体系结构的过程。设计人员在充分了解需求的基础上,依据《需求规格说明书》选用适当的设计方法,分析与设计软件的结构、模块功能。通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,编写《概要设计说明书》。《概要设计说明书》必须经过技术评审。 8.1.1.解决方案选择 系统设计时可能会涉及到多种解决方案的选择,如: ●系统实现路线; ●采用的工具和技术; ●产品架构; ●设计模式; ●模块的制作、购买或重用等。 当出现多种候选方案,难以通过简单的方法判断出方案的优劣时,应按照《S_DAR00_决策分析和决定过程》进行决策。

8.1.2.概要设计 概要设计是建立整个软件的体系结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义等。概要设计的主要步骤有: ?选择设计方法; ?识别解决方案的主要组件:根据解决方案的技术架构和分析方法(面向对象、面向结 构),相应确定解决方案的组件模块; ?对候选技术和工具、组件进行评估,确定是进行开发、购买还是复用已有技术(工具 或者组件)。评估开发、购买或复用方案时需要考虑的事项包括:业务方面:可行性、产品成本、经验、投资回报、成熟度及其他因素;企业体系结构方面:解决方案必须 与当前状态和远景状态计划的约束相适应。包括与企业现有系统的集成等;技术方面:安全、组件模块交互标准、数据访问、数据存储、系统服务、开发工具、操作系统等。 ?识别解决方案主要组件的重要属性和关键关系:在前一任务的基础上,对解决方案主 要组件的重要属性和关键关系进行识别; ?进行数据库设计,建立数据库的逻辑模型和物理模型; ?进行用户界面设计,确定整个系统的界面框架以及界面风格; ?形成《概要设计说明书》。 8.1.3.概要设计评审 概要设计的结果应进行技术评审。技术评审由设计人员提出,由项目经理组织召开。技术评审会议应邀请需求分析师、公司的技术专家、开发人员、测试人员等参加。 关于技术评审会议的要求详见《评审过程》。 8.2.详细设计 详细设计可以和概要设计并行进行,但应考虑并行设计不会因概要设计而导致较大的详细设计返工。 8.2.1.详细设计 详细设计是从开发需求的角度描述解决方案的组件、服务和技术的过程。详细设计定义了解决方案的各个组成部分,以及这些组成部分的开发方法和交互方式。详细设计的步骤包括: ?选择用于开发解决方案的技术并完善设计模型:在概要设计的基础上,选择开发解决 方案采用的技术,并且完善对应的设计模型。

软件工程试题库

“软件开发与管理”试题库 第一章:软件开发与管理概述 一、填空题 1.软件是由、、三部分组成。 2.软件作为人工生产的产品,主要是由人进行“开发”而来,与硬件比较起来没有明显的制造过程。 3.软件开发过程复杂,但一般包括、、、 等主要阶段。 4.软件的是软件的生命。 5.在软件团队开发中由于人数的增加、成员间的交互与合作,所以除了技术问题外,还存在问题。 6.软件开发方法学包括和两种开发方法。 7.软件项目进度计划主要包括、、和。 二、思考与简答题 1.举例说明程序、软件、系统的区别和联系。 2.软件有什么特点?软件开发有什么特点? 3.说说程序、软件、系统的设计与应用的不同。 4.软件开发过程主要有哪几个典型任务活动,请说说它们各自的内容。 5.软件开发过程模型是什么含义?一般有哪几种开发过程模型? 6.软件开发方法有哪两类?它们各自的优缺点是什么? 7.请说说管理在软件开发中的重要作用。软件项目管理有哪些内容。 8.软件质量是如何管理的? 第二章:需求分析 一、填空题 1.软件的需求是用户对该软件在、等方面的期望与要求。 即软件的需求、需求和其它需求。

2.需求分析的任务是需求分析师通过与用户的交流、、,得到用户对系统完整、准确、清晰、具体的要求。 3.需求分析过程中建立的模型有:、和。 而传统结构化的需求分析模型包括:图、图、 图。 4.传统的需求分析模型中,的建立是今后数据库设计的基础,而的建立是今后软件功能结构设计的基础。 5.软件的需求最终要通过表达出来。 二、思考与简答题 1.需求分析的任务和作用是什么? 2.需求分析的步骤有哪些? 3.什么是数据模型?实体、属性、联系之间的关系是什么? 4.什么是功能模型?处理的描述包括哪些内容? 5.什么是动态模型?它与功能模型的区别是什么?系统的状态是如何转换的? 6.软件需求规格说明书你认为重点包括哪些方面? 第三章:软件设计 一、填空题 1.软件的需求分析解决了软件应该“做什么”的问题,而软件设计则解决软件应该的问题。 2.软件设计能指导软件的编码实现,没有设计的编码其结果很难预料与保证,所以说软件设计是软件开发的关键,直接影响软件的。 3.软件需求分析、软件设计、软件编码之间既有区别又有联系,它们是软件在不同层次的。从,从 是软件开发两个重要的过程进阶。 4.软件设计内容包括、、等方面。 5.传统结构化软件设计,是从E-R图出发设计,从数据流图出发设计。 6.详细设计是对软件模块的设计,它更接近于编码,所以详细设计又称为过程设计或算法设计。

Matlab源程序代码

正弦波的源程序: (一),用到的函数 1,f2t函数 function x=f2t(X) global dt df t f T N %x=f2t(X) %x为时域的取样值矢量 %X为x的傅氏变换 %X与x长度相同并为2的整幂 %本函数需要一个全局变量dt(时域取样间隔) X=[X(N/2+1:N),X(1:N/2)]; x=ifft(X)/dt; end 2,t2f函数。 function X=t2f(x) global dt df N t f T %X=t2f(x) %x为时域的取样值矢量 %X为x的傅氏变换 %X与x长度相同,并为2的整幂。 %本函数需要一个全局变量dt(时域取样间隔) H=fft(x); X=[H(N/2+1:N),H(1:N/2)]*dt; end (二),主程序。 1,%(1)绘出正弦信号波形及频谱 global dt df t f N close all k=input('取样点数=2^k, k取10左右'); if isempty(k), k=10; end f0=input('f0=取1(kz)左右'); if isempty(f0), f0=1; end N=2^k; dt=0.01; %ms df=1/(N*dt); %KHz T=N*dt; %截短时间

Bs=N*df/2; %系统带宽 f=[-Bs+df/2:df:Bs]; %频域横坐标 t=[-T/2+dt/2:dt:T/2]; %时域横坐标 s=sin(2*pi*f0*t); %输入的正弦信号 S=t2f(s); %S是s的傅氏变换 a=f2t(S); %a是S的傅氏反变换 a=real(a); as=abs(S); subplot(2,1,1) %输出的频谱 plot(f,as,'b'); grid axis([-2*f0,+2*f0,min(as),max(as)]) xlabel('f (KHz)') ylabel('|S(f)| (V/KHz)') %figure(2) subplot(2,1,2) plot(t,a,'black') %输出信号波形画图grid axis([-2/f0,+2/f0,-1.5,1.5]) xlabel('t(ms)') ylabel('a(t)(V)') gtext('频谱图') 最佳基带系统的源程序: (一),用到的函数 f2t函数和t2f函数。代码>> (二),主程序 globaldt t f df N T close all clear Eb_N0 Pe k=input('取样点数=2^k, k取13左右'); if isempty(k), k=13; end z=input('每个信号取样点数=2^z, z

软件工程完整规范版

软件工程文档模板 目录 1. 范围............................................................................................................................................... 2. 总体要求....................................................................................................................................... 2.1总体功能要求 ......................................................................................................................... 2.2软件开发平台要求 ................................................................................................................. 2.3软件项目的开发实施过程管理要求...................................................................................... 2.3.1 软件项目实施过程总体要求.......................................................................................... 2.3.2 软件项目实施变更要求.................................................................................................. 2.3.3 软件项目实施里程碑控制.............................................................................................. 3. 软件开发....................................................................................................................................... 3.1软件的需求分析 ..................................................................................................................... 3.1.1 需求分析.......................................................................................................................... 3.1.2 需求分析报告的编制者.................................................................................................. 3.1.3 需求报告评审.................................................................................................................. 3.1.4 需求报告格式.................................................................................................................. 3.2软件的概要设计 ..................................................................................................................... 3.2.1 概要设计........................................................................................ 错误!未定义书签。 3.2.2 编写概要设计的要求...................................................................................................... 3.2.3 概要设计报告的编写者.................................................................................................. 3.2.4 概要设计和需求分析、详细设计之间的关系和区别 (4) 3.2.5 概要设计的评审.............................................................................................................. 3.2.6 概要设计格式.................................................................................................................. 3.3软件的详细设计 ..................................................................................................................... 3.3.1 详细设计.......................................................................................................................... 3.3.2 特例.................................................................................................................................. 3.3.3 详细设计的要求.............................................................................................................. 3.3.4 数据库设计...................................................................................................................... 3.3.5 详细设计的评审.............................................................................................................. 3.3.6 详细设计格式.................................................................................................................. 3.4软件的编码 ............................................................................................................................. 3.4.1 软件编码.......................................................................................................................... 3.4.2 软件编码的要求.............................................................................................................. 3.4.3 编码的评审.................................................................................... 错误!未定义书签。 3.4.4 编程规范及要求.............................................................................................................. 3.5软件的测试 ............................................................................................................................. 3.5.1 软件测试.......................................................................................................................... 3.5.2 测试计划.......................................................................................................................... 3.6软件的交付准备 .....................................................................................................................

软件开发管理规范

软件开发管理规范 Document serial number【KK89K-LLS98YT-SS8CB-SSUT-SST108】

软件开发过程管理规范济南明湖建筑节能技术开发有限公司

一、总则 1.软件开发项目管理的目的 为保障按时、保质、保量完成预期交付的任务,让整个组织能清楚了解项目实施的目的、影响、进度,做到项目组所有成员都理解项目实施的原因、意义及客户的要求。通过制度化管理来合理组织安排项目组成员的工作职责和角色转换。 2.软件开发项目管理规范适用对象 为了达到软件开发项目管理的根本目的,要求公司全体员工必须严格按照本规范执行,同时要求公司业务人员引导合作单位和客户接受并适应公司本《软件项目开发管理规范》。 3.软件项目开发组织管理 根据软件开发的标准流程,结合公司的实际情况对软件项目分三个主要阶段进行组织管理,分别为项目立项阶段、项目实施阶段和项目验收总结阶段。 二、软件项目立项阶段 1.成立公司项目评估委员会负责公司的项目立项审批。 2.公司项目评估委员会由公司总经理或指定负责人召集,成员为公司管 理层人员、商务负责人、市场负责人、技术总监、技术研发经理、财务负责人组成。 3.公司业务部门按照公司发展要求或外部需求形成《软件项目需求说明 书》,确定项目需求管理人或项目申请人。 4.项目申请人填写《软件项目立项申请书》向项目评估委员会提出项目

立项申请,主要说明项目的背景、目的、效益、成本、需求等方面,并由技术部门提供支持和技术说明。 5.项目评估委员会收到《项目立项申请书》后三个工作日内,召开评估 会议。给出评估结果。如果批准立项交公司技术总监组织开发。如果不批准,给出理由后项目中止。中止后的项目可根据情况重新申请。 6.评估结果必须包括:建议项目启动日期,期望项目完成日期,项目等 级系数,项目优先级(高中低),资源冲突程度(1~9)。对于资源冲突程度大于5的项目技术总监有权拒绝接受。 三、软件项目实施阶段 1.公司批准立项的项目交由公司技术总监组织实施。 2.技术总监根据资源情况和项目需求组织相关技术人员进行初步需求讨 论会,确定项目的等级系数(如分大、中、小对应3、2、1)、指定项目开发负责人。在立项后五个工作日内技术总监和项目开发负责人共同制定《软件项目开发计划》,确定项目启动日并提交项目评估委员会做反馈确认。如果项目评估委员会二位成员以上对计划有异议,项目评估委员会应该召开项目计划协调会,协调《软件项目开发计划》的修改和通过。如果无异议授权技术总监按照《软件项目开发计划》执行。 3.项目启动日后,项目开发负责人根据《软件项目开发计划》的进度每 周进行一次分析汇报,形成《项目分析周报》确定项目的状态、分析

相关文档
最新文档