浪潮软件常见问题解答(推荐3篇)
解决方法:充分利用查询条件来进行查询。查看一页显示可以在页面设置-页面里,将分页设置调为0即可。
2、问题:科目余额表中,希望显示每个科目是否设置了辅助核算、设置了哪种辅助核算? 解决:在打开的账表中,将“账表设置”→“列信息”→“辅助核算”的“隐含”去掉即可在账表中显示该列内容。
3、账表查询查看时能不能把科目编号和科目名称两列窗口冻结。
解决方法:在页面设置的页面选项的固定栏目中可以设置固定多少列。
4、怎样查找所有部门发生的余额?
解决方法:通过部门科目余额表(辅助——部门——部门科目余额表)进行查找。
5、现金流量表数字不对,不知道怎样查找?
解决方法:通过项目余额表(辅助——项目——项目余额表)进行查找。
6、问题:查询往来单位余额表(或其他数据量较大的账表),页面刷新速度太慢。
人们在医疗器械中越来越多地采用软件, 为了指导软件的开发、验证和监管, IEC编制了一些标准。 其中的IEC62304:2005 ( 以下简称62304) 《医疗器械软件软件生存周期过程》已经等同转化为中国的行业标准- YY/T 0664-2008。 该标准同时适用于嵌入式软件与独立软件, 几乎所有的复杂医疗器械都被此标准所涵盖。国家食品药品监督管理总局在上市审批的过程中主要也采用此标准。
软件由于其固有的复杂性、非实体性, 其质量无法同硬件那样, 通过测试来验证。于是标准的着眼点是对软件生命周期中的5大过程进行规范, 而不是针对软件本身进行测试。这就给该标准的理解和实施带来一些困难。鉴于此, 在收集到一百多个实际问题后, 欧盟的一些专家将其归为七类, 编写了一个常见问题解答。解答文件发表于2013年4月5日, 由于编者的权威性, 这个问题解答被欧盟的认证机构作为导则使用, 在下一版IEC62304修订时也将被作为重要的参考文献。笔者认为这篇文章对于软件的开发者和监管者都很有参考价值, 特介绍给大家共享。
限于篇幅, 我们以自己的学习心得选择原文中的重要内容译为中文, 建议有兴趣的读者进一步阅读原文。其链接是:
h t t p://w w w.t e a m-n b.o rg/d o c u m e n t s/2013/FAQ_62304_Final_130804.pdf
1.常见问题解答的主要内容
1.1关于标准的适用范围
由于嵌入式软件的确认必须通过医疗器械硬件才能进行, 而在制定IEC 62304时, 编制者是希望将系统确认的这部分要求规划在关于有源医用电气设备的IEC 60601系列标准中。于是在制订IEC 62304标准时, 有意地没有包含软件确认方面的内容。对软件确认方面的要求, 一方面可以参考IEC 60601-1第3.1版的第14章, 也可以参考美国FDA发布的《软件确认通用原则》。由于IEC 62304在纯软件上的这部分存在明显的缺失, 现在正在制订的IEC 82304对此作了弥补。尽管纯软件方面的标准没有涵盖确认的部分, ISO 13485却包含了设计和开发确认的要求, 所以从标准体系的整体来看, 这部分依然是存在的。
科技的发展, 软件的形式显示出多样化的趋势, 例如以服务方式提供的软件, 可编程硬件, 移动平台上的医学应用, Excel宏指令, 云端软件等多种情况, 文章对这些情况一一进行了分析与解答。
1.2上市
由于医疗器械的上市监管比较严格, 个别厂商或开发人员可能会有希望规避监管的想法, 声称自己的软件产品不用于诊断或治疗。这其实是一种搬起石头砸自己脚的做法, 一方面软件具有医疗器械的实际功能, 无论制造商是否声称用于诊断或治疗, 它都必须对产品的使用负责;另一方面, 对医疗器械外的通用产品, 欧盟还有一个比医疗器械指令MDD更为严格的通用产品安全指令GPSD。目前的法规设计, 已经使得这种耍弄小聪明的伎俩不能够真正降低成本。
1.3生命周期过程
由于软件行业的人力资源成本是产品成本的主体, 很多公司会把软件外包给一些专业的软件公司完成, 以降低成本。由于软件产业的特殊性,
几乎所有的开发环节都可以通过外包来完成。通常是人力成本较高的欧美企业把软件外包给人力成本较低的印度或中国企业;而国内企业又常常把软件外包给一些大专院校。外包使得开发过程变得复杂化, 从审查的角度来说, 制造商应该能够控制服务提供商, IEC 62304所需要保留的证据都应能够提供, 开发中的证据的保存与提供最好能够以合同方式明确下来。
在产品开发当中, 常常是以项目形式来组织开发活动的。以项目为核心来组织工作的一个问题在于项目结束之后责任主体不明确的情况。 IEC 62304所定义的5大流程可以以项目来进行组织, 然而必须注意的是, 项目的工作必须要一直持续到产品的生命周期终止。
我们在产品实现中常常会欠下一些“技术债”, 之所以会欠下技术债往往有如下一些原因: 在目前的商业竞争环境下, 有时不等全部工作完成就需要发布产品;限于从业者的知识水平, 商业决策中没有把所有的问题都面面俱到地考虑到;从业者轻视文档工作, 导致事后不得不对文档进行补充;另外对软件没有及时重构也是一个重要的原因。软件之所以需要重构, 是因为软件除了功能之外还存在着很多其他的属性, 比如代码的可读性、复杂性、可维护性、可扩展性。在所有这些不改变软件功能性的情况下对软件的其他属性进行改善, 就是重构。在很多情况下, 重构是可以通过工程师自身来完成的, 这依赖于工程师的职业素养。然而, IEC 62304的配置管理过程要求软件的变更要进行很好的控制。虽然这会给软件的重构造成一些不便, 然而企业可以在更大的程度上来解决这个问题。
IEC 62304在对其5大流程进行规范时, 有意地不对制造商的开发模型进行规定, 于是制造商可以根据自己的实际情况采用适当的生命周期过程。在通用软件开发的实践中, 敏捷开发过程已经被广泛接受, 然而在工程与监管当中曾经存在的问题是这样的流程是否适合用于开发医疗软件?随着时间的推移, 已经有大量的制造商采用敏捷流程进行了医疗软件的开发, 在实践过程中积累了大量的经验, 美国AAMI将其总结起来形成了文件《TIR45, 关于使用敏捷方法开发医疗器械的指南》, 建议有兴趣的读者阅读。
1.4风险管理、分类与隔离
医疗器械的风险管理有其自身的规范ISO14971, 而IEC 62304同样也是一个关于流程的标准。为了帮助企业把这两者有机地结合起来, AAMI发表了技术报告《TIR80002-1, 医疗器械软件- 第一部分:ISO14971用于医疗器械软件的指南》。报告完全遵循ISO14971的结构, 逐项地分析如何将风险管理应用于医疗器械软件的生命周期中, 此报告有望转化为国内行业标准。
关于医疗器械软件的分类, IEC 62304与美国FDA各有一套大同小异的分类方法。相同的是两者根据医疗器械风险的高低, 都分为三个等级, 而且这三个等级在两者的体系中几乎是等同对应的。所不同的是, IEC 62304的体系中的分级直接用于管理5大过程的严格程度, 而FDA体系中, 并不根据分级来直接规定生命周期过程的严格程度, 而是根据分级来对制造商所应提交的材料进行指导。另外, 在硬件控制的情况下, IEC 62304许可软件的安全等级降低一级, 而FDA的关注度体系中并没有这种灵活的安排。
完整的软件需要根据危害的大小来对其进行安全分级, 作为组成整体软件的各个软件项或软件单元则要继承整体软件的安全等级。在软件项进行了隔离的情况下, 单独软件项可以有自己独立的安全等级。所谓隔离, 就是降低软件项之间的耦合, 软件项相互间的耦合通常是通过控制流、 数据流、与资源共享来发生的, 对软件项进行隔离就是需要避免这些耦合方式的副作用。它在功能、逻辑与物理三个层次上发生作用。功能隔离可以通过中间件或者说“包装件”来完成。这种方式通常用于防止系统使用那些希望被屏蔽的SOUP功能。逻辑隔离可以通过对各个进程分配不同的内存来实现。而物理隔离可以让软件项分别使用各自的处理器来实现。隔离的有效性需要通过是否存在副作用来证明。
在一些高风险医疗器械中, 比如手术机器人, 存在一部分软件项用于对其工作部件进行控制, 显然这部分控制软件项属于等级最高的C级, 为了防止这些工作部件的错误动作, 软件系统中又设计了一些软件项来对控制部分进行保护以避免损害的发生。根据IEC 62304的第7.2.2.b条, 被保护的控制部分为C级, 则参与保护的软件项要继承其安全分级, 也应定为C级。需要注意的是, 这种情况下并不是用硬件来进行保护, 整体系统的安全分级不能降低。
在软件的生命周期中, 必然需要其他软件的参与, 才能实现其功能, 比如:软件代码必须要有编译器的编译, 才能从人所理解的高级语言变成可由计算机执行的机器代码;软件生产、维护的管理过程又需要有诸多管理软件, 才能有效、 准确地完成对软件项目的管理工作。那么对这些软件, 是否也需要进行安全分级呢?一般而言是否定的, 因为此类软件并没有在软件的执行中发挥作用, 它们被视为开发工具而不需要进行安全分级。不过需要注意的是, 作为编译器, 常常会提供一些运行时刻调用的软件库, 这种可再发行的运行时刻库, 应当作为SOUP考虑。
在软件开发过程中, 尽可能地进行软件复用是有利于降低软件成本的。复用的范围可以扩展到从网络上获得的一些代码, 当使用到外部的软件时, 如开源代码, 则应符合IEC 62304标准对SOUP的要求, 若制造商对其进行了改动, 则制造商就被视为其开发者。
既然SOUP的很多环节都不在制造商的管控之下, 无论是否真的是SOUP都将其声称为SOUP, 能不能在监管环节上少一些成本呢?其实, 这并不是如预想那样能够节省成本的。甚至会有更多的工作要去完成, 反而增加了成本。首先, 除去细节开发与软件编程工作外, SOUP所要求的工作与自己开发软件的工作没有区别;其次, 对于SOUP还有额外的工作要做, 比如IEC62304要求对SOUP进行监控, 对SOUP供应商的考核也存在筛选、认证、决定是否为关键供应商等工作, 这些工作都需要花费额外的精力与成本。
2.结语
2、什么是软件危机?软件危机的表现是什么?其产生的原因是什么?
软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,导致软件危机。软件危机表现在以下四个方面:(1)经费预算经常突破,完成时间一再拖延。(2)开发的软件不能满足用户要求。(3)开发的软件可维护性差。(4)开发的软件可靠性差。造成软件危机的原因是:(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。
6)开发工具落后,生产率提高缓慢。
软件质量保证应做好哪几方面的工作:(1)采用技术手段和工具。(2)组织正式技术评审。(3)加强软件测试。(4)推行软件工程规范(标准)。(5)对软件的变更进行控制。
(6)对软件质量进行度量。
3、简述软件工程的概念:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
4、两种软件工程方法学开发软件时要建立哪些模型:软件工程方法学包括传统方法学和面向对象方法学。常用的开发模型有:瀑布模型,原型模型,增量模型,螺旋模型和喷泉模型。
5、软件过程模型有哪些?简述它们的特点:过程模型分为五大类:1.管理过程模型。2.瀑布模型。3.增量过程模型:包括增量模型、RAD模型。4.烟花过程模型:包括 原型开发模型、螺旋模型、协同开发模型。5.专用过程模型:包括 机遇构建的开发模型、形式化方法模型、面向方面的软件开发模型。
6、什么是软件生命周期:一个软件从定义、开发、使用和维护,知道最终被废弃,要经历一个毛长的时期,通常把软件经历的这个漫长的时期成为生命周期。
7、软件生命周期有哪几个阶段和步骤:1.软件定义,包括问题定义可行性研究和需求分析。
2.开发时期包括:总体设计,详细设计,编码和单元测试,综合测试。3.维护时期。
8、计算机软件的开发经过哪三个大阶段:答:定义、开发、维护。
9、软件开发的各阶段的任务是什么:1.问题定义:关于规模和目标的报告书。2.可行性研究:系统的高层逻辑模型:数据流图,成本,效益分析3.需求分析:系统的逻辑模型:数据流图,数据字典,算法描述。4.总体设计:系统流程图,成本、效益分析。推荐的系统结构:层次图、结构图。5.详细设计:HIPO图或PDL图。6.编码和单元测试:综合测试方案、结果继承测试,验收测试,完整一直的软件配置。7.维护:包括改正性维护,适应性维护,完整性维护和预防性维护。
10、简述传统方法学软件设计的基本原理及内容。
原理:采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
内容:把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。采用生命周期方法学可以大大提高软件开发的成功率,软件开发的生产率也能明显提高。
11、面向对象设计准则:1.模块化2.抽象3.信息隐藏4.弱耦合5.强内聚6.可重用
11、简述面向对象方法学的4个要点。
(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。
(2)把所有对象都划分成类。
(3)按照父类与子类的关系,把若干个相关类组成一个层次结构的系统。
(4)对象彼此间仅能通过发送消息互相联系。
12、软件设计分哪两个阶段?总体设计的两个阶段分别是什么?答:分为总体设计和详细设计两个阶段。总体设计包括系统设计(划分出组成系统的程序、文件、数据库、人工过程和文档等物理元素)和结构设计(确定系统中每个程序是有哪些模块组成的,以及这些模块相互的联系,不设计模块内部算法流程。)
13、软件与硬件的区别是什么?答:软件是一种逻辑部件,而不是具体的物理部件。软件在开发、生产、使用和维护等方面与硬件有明显差异。1.软件是开发,硬件是制造。2.软件是自定的,硬件是组装的。3.软件不会磨损,硬件存在机械磨损问题。
14、简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则?
答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。
15、软件需求分析的任务是什么?雪球分析的任务是确定系统必须完成哪些工作,也就是对木匾系统提出完整、准确、清晰、具体的要求。一般来说,需求分析的任务包括下述几方面:
1.确定对系统的综合要求(主要有:功能要求、性能需求、巡行需求、将来可能提出的需求。)
2.分析系统的数据要求、3.到处系统的逻辑模型:数据流图、实体-联系图、状态转换图、数据字典、算法流程等4.修正系统开发计划。
16、瀑布模型与原型模型分别适用于开发哪些软件:瀑布模型适用于需求稳定,而且可以预先制定的大型系统工程项目。原型模型适合于需求模糊或者随时间变化的中小型项目。
17、数据流图的作用是什么?如何画数据流图?答:数据流图简称DFD,它是以特定的图形符号描述系统逻辑模型的工具;它从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的过程;它是开发人员与用户之间交流信息的通信工具;它也是系统分析与系统设计的工具。画法总结:1.先找出数据原点和汇点,它们是外部实体,由它们确定系统与外界的借口。2.找出外部实体的输出数据流与输入数据流,画出顶层数据流图。3.从顶层加工出发,逐步细化,画出所需子图。4.分析系统的主要处理功能,把每一个处理功能作为一个加工,并且确定它们之间的数据流入,流出关系,画出第一层数据流图。5.对流图中的每个加工进行细化,画出所需的子图,直到加工不需再分解为止。6.按照前面给出原则检查和修改每一层数据流图和子图。
18、什么叫数据字典?如何写数据字典?答:数据字典是描述数据流图中数据的信息的集合(描述内容包括:数据流图、状态转化图。E-R图中的数据信息(数据流、数据存储、外部实体)、控制星系等,不包括处理)如何写?数据元素的组合方式:顺序:即以确定的次序连接两个或多个分量。选择:即从两个或多个可能的元素中选取一个。重复:即把制定的分量重复零次或多次。
19、软件设计的原则有哪些?模块化、抽象与逐步求精、信息隐藏于局部化,模块独立。
20、耦合与内聚分别有哪些?如何定义?如何区分:耦合衡量图同模块彼此见相互依赖的紧密程度,内聚衡量一个模块内部各元素彼此结合的紧密程度。耦合的种类:数据耦合、标记耦合、控制耦合、公共耦合、内容耦合。内聚的种类:顺序内聚、通讯内聚、过程内聚、暂时内聚、逻辑内聚。
21、详细设计阶段用到了哪些图形工具?答:程序流程图(PFD)盒图(N-S)图 问题分析图(PAD)判定表/判定树图。
22、软件工程的启发式规则有哪些:A.当模块过大时就应该分解它。B.深度、宽度、扇出和扇入都应适当。C.对于任何一个内部存在判断调用的模块,它的判断作用的范围应该是其控制范围的一个自己。D.力争降低模块接口的复杂程度。E.设计单入口单出口的模块
23、模块的作用域与控制域分别指什么?答:模块的控制域:本身及其所有下级模块(包括直接和间接下级模块)。模块的作用域:受到该模块内一个判定影响的所有模块的集合。
24、模块的扇入、扇出、深度、宽度分别是什么意思:深度表示软件结构中控制的层----醋溜的标志一个系统的大小和复杂程度。模块的扇出指的是一个模块拥有的直属下级模块的个数,一般扇出数控制在7以内,平均为3或4。模块的扇入指的是一个模块的直接上级模块的个数。
软件测试的目的是什么?答:软件测试是为了发现错误而执行程序的过程;测试是程序的执行过程,目的在于发现错误;软件测试绝对不是要证明程序的正确性,也证明不了程序的正确性。
单元测试有那些内容?答:单元测试主要针对模块的以下五个基本特征进行测试:1.模块接口2.局部数据结构3.重要的执行路径4.错误处理5.边界条件
25、什么是集成测试?非渐增式和渐增式有什么区别?渐增式如何组装模块?(答案
26、什么是确认测试?该阶段有那些工作? 答:按照需求规格说明书中的确定指标对系统惊醒功能与性能的测试。进行明确测试(对照雪球规格说明书用黑河法进行测试)、软件配置检测。(文档的完整性,发现遗漏误及时补充和修改)
27、什么叫流图?如何画出流图?流图的环形复杂度如何计算? 答:流图是抽象化的程序流图,突出表现控制流,符号〇为流图的一个结点,表示一个或多个五分制语句。剪头为变,表示控制流的方向。在分支结构中,分支的汇聚处应由一个汇聚结点,每一条边必须终止与一个结点,结构判断中的条件表达式是有一个或多个逻辑运算符(OR,AND,NAND,NOR)连接的符合条件表达式,则需要改为一系列只有单个条件的嵌套的判断。根据程序内但条件分指数或循环个数来度量环形复杂度即程序的复杂度。V(G)=流图区域数 V(G)=变数-节点数+2 V(G)=单条件判定树+128、什么是黑盒测试法:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。
黑盒测试中,设计测试用例的五种方法:
1)等价类划分法;2)边界值分析法;3)错误推测法;4)因果图分析法;5)场景分析法。
29、白盒测试与黑盒测试分别有哪些测试方法?如何对具体问题测试?答:百合测试对程序模块的所有的执行路径至少测试一侧;对所有的逻辑判定,取“真“与取”假“的两种情况都至少测试一次;百合测试也叫逻辑覆盖法,包括:语句覆盖,判定覆盖,条件覆盖。黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。黑盒测试有等价类法和边界值分析法。
30、什么叫维护?维护的类型有哪些?答:软件维护就是在软件已经交付使用之后,为了改正错误或满足心的需求而修改软件的过程。类型有:1.该整形维护:对程序使用期间发现的程序错误进行诊断和改正的过程;占维护工作量的17-21%。2.适应性维护:配合变化了的环境进行修改软件的活动;占工作量的13-25%3.完整性维护:满足用户在使用过程中提出增加心的功能或修改以后功能的建议而进行的改进性工作;占工作量的50-66% 4.预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作;占维护工作的4%左右。
34、耦合性有哪几种类型? 其耦合度的顺序如何低:非直接耦合数据耦合 标记耦合控制耦合 外部耦合公共耦合 内容耦合 :高
31、UML中活动图、状态图、顺序图都分别描述什么?答:活动图强调的是从活动到活动的控制流,是一种表述过程机理、业务过程以及工作流的技术。它可以用来对业务过程,国祚流建立模型,也可以对用力实现甚至是程序实现来建模。状态机图常用来描述业务或软件系统中的对象在外部事件的作用下,对象的状态从一种状态到另一种状态的控制流。顺序图描述的是对象之间的消息发送关系,而不是类之间的关系。
31、UML中的事物有哪些:结构事物UML中的名词,它是模型的静态部分,描述概念或物理元素。行为事物:UML中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为。分组事物:UML中的容器,用来组织模型,使模型更加的结构化。注释事物:UML中的解释部分,和代码中的注视语句一样,是用来描述模型的。
32、用例图的作用是什么:用例图是外部参与者所能观察到的系统功能的模型图,由一组用例、参与者以及他们之间的关系组成。主要用于对系统、子类系统或类的功能行为惊醒建模。参与者是与系统交互的外部实体,可以是人,也可以是其他系统。用例是从用户的角度描述系统的行为,它将系统的功能描述成一系列时间,这些时间族中对参与者产生可观察结果。
33、UML中的关系有哪些:UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。
35、解释概念:
软件生存周期模型:描述软件开发过程中各种活动如何执行的模型
数据字典(DD):用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。内聚性:内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量
JSP方法:JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。
36、简述容错技术的四种主要手段,并解释。
结构冗余:包括静态冗余、动态冗余和混合冗余。
信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。
时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。
冗余附加技术:指为实现上述冗余技术所需的资源和技术。
37、以G.J.Myers的观点,简述对软件测试的定义。
G.Myers给出了关于测试的一些规则,这些规则也可以看作是测试的目标或定义。
(1)测试是为了发现程序中的错误而执行程序的过程;
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
(3)成功的测试是发现了至今为止尚未发现的错误的测试。
38、以G.J.Myers的观点,简述对软件测试的目的。
(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。
39、就程序设计语言的工程特性而言,对程序编码有哪些要求?
(1)可移植性(2)开发工具的可利用性(3)软件的可重用性(4)可维护性
40、模块的内聚性包括哪些类型?
偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚
41、列举出5个详细设计阶段的常用工具。
程序流程图,盒图,PAD图(问题分析图),判定表,判定树,过程设计语言,44、系统设计的内容是什么?
(1)系统分解。(2)确定并发性。(3)处理器及任务分配。(4)数据存储管理。(5)全局资源的处理。(6)选择软件控制机制。(7)人机交互接口设计。
42、可行性分析
经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
投资回收期:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。对应关系:即有直接因果关系在程序中可以同时处理。
结构冲突:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。
43、可行性研究报告的主要内容有哪些?
(1)引言:编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。
(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。
(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。
(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。
(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。
(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。
(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。
(8)结论意见:说明项目能否开发;还需要什么条件才能开发;对项目目标有什么变动等。
44、迭代模型的四个阶段:(1)初始阶段。本阶段主要工作是确定系统的业务用况和定义项目的范围。(2)精化阶段。本阶段主要工作是分析问题域、细化产品定义,定义系统的构架并建立基线,为构建阶段的设计和实施工作提供一个稳定的基础。(3)构建阶段。本阶段主要工作是反复地开发,以完善产品,达到用户的要求。(4)产品化(移交)阶段。本阶段主要工作是将产品交付给用户,包括安装、培训、交付、维护等工作。
【浪潮软件常见问题解答】推荐阅读:
浪潮电影影评12-22
浪潮电影观后感10-27
朱家尖的浪潮小学作文400字07-04
反法西斯题材电影《浪潮》观后感11-27
商道软件操作常见问题01-29
常见软件测试笔试题09-13
软件开发软件合同01-09
软件工程实验报告--初识软件工程11-10
软件学院软件工程专业个人简历参考07-05