软件工程程序设计题目
软件工程、程序设计基础考试题目汇编0909⒈软件设计中划分模块的一个准则是A)低内聚低耦合 B)高内聚低耦合C)低内聚高耦合 D)高内聚高耦合⒉下列选项中不属于结构化程序设计原则的是A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精⒊软件详细设计产生的图如下:该图是A) N-S图(P.104) B) PAD图C) 程序流程图 D) E-R图⒋程序流程图中的菱形框表示的是【1】。
逻辑判断(参见教材P.103)⒌软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中【2】阶段产生软件需求规格说明书。
需求分析0903⒈下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B) 对被调试的程序进行“错误定位”是程序调试的必要步骤C) 程序调试通常也称为DebugD) 软件测试应严格执行测试计划,排除测试的随意性⒉耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A) 提高耦合性降低内聚性有利于提高模块的独立性B) 降低耦合性提高内聚性有利于提高模块的独立性C) 耦合性是指一个模块内部各个元素间彼此结合的紧密程度D) 内聚性是指模块间互相连接的紧密程度⒊软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件),下面属于应用软件的是A)编译程序 B)操作系统C)教务管理系统 D)汇编程序⒋软件测试分为白盒测试和黑盒测试。
基本路径测试属于【1】测试。
白盒⒌符合结构化原则的三种基本控制结构是:选择结构、循环结构和【2】。
顺序0809⒈数据流程图中带有箭头的线段表示的是A)控制流B)事件驱动C)模块调用D)数据流⒉在软件开发中,需求分析阶段可以使用的工具是A)N-S图 B)DFD图 C)PAD图 D)程序流程图常见的需求分析方法主要有结构化分析方法和面向对象的分析方法。
结构化分析的常用工具有数据流图(DFD)、数据字典(DD)、判定树和判定表等。
⒊按照软件测试的一般步骤,集成测试应在【1】测试之后进行。
单元⒋软件工程三要素包括方法、工具和过程,其中,【2】支持软件开发的各个环节的控制和管理。
过程0804⒈程序流程图中带有箭头的线段表示的是A)图元关系 B)数据流C)控制流 D)调用关系⒉结构化程序设计的基本原则不包括A)多态性 B)自顶向下 C)模块化 D)逐步求精⒊软件设计中模块划分应遵循的准则是A)低内聚低耦合B)高内聚低耦合 C)低内聚高耦合 D)高内聚高耦合⒋在软件开发中,需求分析阶段产生的主要文档是A)可行性分析报告 B)软件需求规格说明书C)概要设计说明书 D)集成测试计划⒌测试用例包括输入值集和【1】值集。
输出0709⒈软件是指A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整集合⒉软件调试的目的是A)发现错误B)改正错误C)改善软件的性能D)验证软件的正确性⒊在面向对象方法中,实现信息隐蔽是依靠A)对象的继承B)对象的多态C)对象的封装D)对象的分类⒋下列叙述中,不符合良好程序设计风格要求的是A)程序的效率第一,清晰第二B)程序的可读性好C)程序中要有必要的注释D)输入数据前要有提示信息⒌软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是【1】。
无歧义性软件需求规格说明书(Software Requirement Specification,SRS)是需求阶段的最后成果,它有以下几个方面的作用:①便于用户和开发人员进行理解和交流;②反映用户问题的结构,作为软件开发工作的基础和依据;③作为确认测试和验收的依据。
⒍在两种基本测试方法中,【2】测试的原则之一是保证所测模块中每一个独立路径至少执行一次。
白盒测试0704⒈在结构化程序设计中,模块划分的原则是A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度⒉下列叙述中正确的是A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件的测试工作D)软件测试是证明软件没有错误⒊下面选项中不属于面向对象程序设计特征的是A)继承性 B)多态性C)类比性 D)封装性⒋软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于【1】测试。
黑盒⒌软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。
编码和测试属于【2】阶段。
开发⒍在结构化分析使用的数据流图(DFD)中,利用【3】对其中的图形元素进行确切解释。
数据字典0609⒈下列选项中不符合良好程序设计风格的是A) 源程序要文档化 B) 数据说明的次序要规范化C) 避免滥用goto语句 D)模块设计要保证高耦合、高内聚⒉从工程管理角度,软件设计一般分为两步完成,它们是A)概要设计与详细设计 B) 数据设计与接口设计C) 软件结构结构设计与数据设计 D) 过程设计与数据设计⒊下列选项中不属于软件生命周期开发阶段任务的是A) 软件测试 B) 概要设计C) 软件维护 D) 详细设计⒋【1】的任务是诊断和改正程序中的错误。
调试⒌下列软件系统结构图的宽度为【2】。
3结构图是精确表达系统内模块组织结构的图形工具(见课件)。
0604⒈下列选项中不属于结构化程序设计方法的是A) 自顶向下 B) 逐步求精 C) 模块化 D) 可复用⒉两个或两个以上模块之间关联的紧密程度为A)耦合度 B) 内聚度 C) 复杂度 D) 数据传输特性⒊下列叙述中正确的是A) 软件测试应该由程序开发者来完成B) 程序经调试后一般不再需要测试C) 软件维护只包括对程序代码的维护D) 以上三种说法都不对⒋在面向对象方法中,【1】描述的是具有相似属性与操作的一组对象。
类⒌程序测试分为静态测试和动态测试。
其中【2】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现错误。
静态测试0509⒈下列叙述中正确的是A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试⒉下列描述中正确的是A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题⒊在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言) B)PAD图C)N-S图D)DFD图常见的过程设计(详细设计)工具包括程序流程图、NS图、PAD图、HIPO图。
⒋下列叙述中正确的是A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令⒌在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。
其中【1】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
驱动模块由于模块不是一个独立的程序,不能单独运行,因此在进行模块测试时,还要为没个被测试的模块另外设计两类模块,即驱动模块和承接模块。
驱动模块的作用是将测试的数据传送给被测试模块,并显示被测试模块产生的结果;承接模块的作用是模拟被测试模块的下层模块,承接模块通常有多个。
0504⒈下列对于软件测试的描述中正确的是A) 软件测试的目的是证明程序是否正确B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能多地发现程序中的错误D) 软件测试的目的是使程序符合结构化原则⒉为了使模块尽可能独立,要求A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强⒊ 下列描述中正确的是A) 程序就是软件B) 软件开发不受计算机系统的限制C) 软件既是逻辑实体,又是物理实体D) 软件是程序、数据与相关文档的集合⒋ 在面向对象方法中,类的实例称为 【1】 。
对象⒌ 诊断和改正程序中错误的工作通常称为 【2】 。
程序调试出现频率较高的知识点⒈ 软件工程的基本概念软件生命周期:根据某一软件从被提出并着手开始实现,直到软件完成其使命被废弃为止的全过程划分为一些阶段,并称这一过程为软件生命周期。
软件工程的三要素:方法、工具和过程,需要关注——软件生命周期分为三个大阶段(时期)——过程问题定义(理解用户要求,划清工作范围)可行性研究(可行性及其代价)需求分析(系统的目标及其应该完成的工作)(通常采用结构化分析方法,SA 。
常用工具有:数据流图(DFD )、数据字典(DD )、判定树和判定表等)概要设计(也称总体设计、逻辑设计)(决定系统的模块结构)(通常采用结构化设计方法,SD 。
常用工具:层次图、HIPO 图、软件结构图,也称结构图。
)详细设计(各模块内部的具体设计)(结构化设计方法,SD 。
常用工具:程序流程图、盒图,N-S 图、PAD 图)编码(结构化程序设计方法,SP )测试运行维护以及每个阶段使用的主要方法、工具以及产生的主要文档。
软件定义系统分析 软件开发 系统设计 软件维护⒉结构化分析方法(SA)针对软件开发的不同阶段,可以采用不同的结构化方法,包括结构化分析(SA)、结构化设计(SD)、结构化程序设计(SP)方法。
结构化分析方法主要用于系统分析阶段,常用工具有:数据流图(DFD)、数据字典(DD)、判定树和判定表等。
⒊结构化设计方法(SD)结构化设计方法主要用于系统设计阶段,分为总体设计和详细设计两个阶段。
总体设计阶段的常用工具:层次图、HIPO图、软件结构图,也称结构图。
生成的主要文档是结构图(SC)以及相应的模块功能说明。
过程设计(详细设计)阶段常见工具包括程序流程图、NS图、PAD图、HIPO图。
⒋软件测试的方法白盒法和黑盒法:测试用例的设计⒌程序的调试静态调试与动态调试软件的测试与调试的区别:测试的目的是暴露错误,评价程序的可靠性;调试的目的是发现错误的位置,并改正错误。
软件工程与系统架构设计考核试卷
4. ______
5. ______
6. ______
7. ______
8. ______
9. ______
10. ______
11. ______
12. ______
13. ______
14. ______
15. ______
16. ______
17. ______
18. ______
7.软件架构设计只关注系统的功能性需求。()
8.微服务架构中,每个微服务都是独立的部署单元。()
9.云计算只适用于大型企业和复杂应用。()
10.软件架构的演化意味着系统需要完全重新设计。()
五、主观题(本题共4小题,每题10分,共40分)
1.请简述软件工程的基本目标和原则,并说明它们在软件开发过程中的重要性。
A.需求评审
B.设计评审
C.代码审查
D.营销策略
13.关于软件架构风格,以下哪个描述是正确的?()
A.分层架构注重模块的横向切分
B.客户端-服务器架构中,服务器端负责处理所有的计算任务
C.面向对象架构强调数据和方法的紧密结合
D.事件驱动架构主要应用于嵌入式系统
14.以下哪个不是软件系统架构设计的主要任务?()
1.软件工程的主要目标之一是完全消除软件缺陷。()
2.需求分析是软件开发过程中唯一不需要编码的阶段。()
3.在面向对象设计中,类的继承是一种强耦合关系。()
4.软件测试的目的是证明软件是正确的。()
5.软件维护通常占软件开发总成本的70%以上。()
6.甘特图和里程碑图是软件项目管理中用于相同目的的工具。()
A.提供了弹性伸缩的能力
软件工程试卷及参考答案0637
开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································学生答题不得超过此线开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································学生答题不得超过此线开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································学生答题不得超过此线开卷,允许考生带教材和参考书籍各一本,考试时间120分钟···································密························封························线································学生答题不得超过此线开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································学生答题不得超过此线班级106030701~02 学号姓名考试科目软件工程【计算机专业】 B 卷共 4 页开卷,允许考生带教材和参考书籍各一本,考试时间120分钟····································密························封························线································班级106030701~02 学号姓名考试科目软件工程【计算机专业】 B 卷共 4 页开卷,允许考生带教材和参考书籍各一本,考试时间120分钟···································密························封························线································学生答题不得超过此线2008-2009学年第1学期106030701~02班软件工程【计算机专业】A卷参考答案及评分标准开卷,允许考生带教材和参考书籍各一本一、断题:每小题1分,共10分,在正确的打上√,错误的打上×1、√2、╳3、╳4、╳5、√6、√7、√8、╳9、√10、╳11、╳12、√13、√14、╳15、√二、项选择题:每题1分,共15分1、D2、C3、A4、B5、C6、B7、A8、A9、C10、 D 11、D 12、D 13、C 14、C 15、C三、简答题(总共20分)1、软件工程项目计划设计(12分)(1)每正确标出一个最早时间和最迟时间各0.5分,10分(2)关键路径如上图粗黑线,该项目最短完成时间为70(2分)。
计算机二级——程序设计与软件工程
计算机二级——程序设计与软件工程1. 构成计算机软件的是答案:BA)程序和数据B)程序、数据及相关文档C)程序和文档D)源代码2. 软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是答案:BA)测试B)可行性研究C)实现D)设计3. 下面不能作为结构化方法软件需求分析工具的是答案:CA)数据流程图(DFD图)B)判定表C)系统结构图D)数据字典(DD)4. 结构化程序设计中,下面对goto语句使用描述正确的是答案:AA)应避免滥用goto语句B)禁止使用goto语句C)使用goto语句程序效率高5. 下面不属于软件测试实施步骤的是答案:AA)回归测试B)单元测试C)集成测试D)确认测试6. 下面不属于软件需求分析阶段主要工作的是答案:BA)需求获取B)需求变更申请C)需求评审D)需求分析7. 结构化程序包括的基本控制结构是答案:BA)选择结构、循环结构与层次结构B)顺序结构、选择结构与循环结构C)主程序与子程序8. 程序测试的目的是答案:AA)发现程序中的错误B)发现并改正程序中的错误C)诊断和改正程序中的错误D)执行测试用例9. 下面属于系统软件的是答案:AA)数据库管理系统B)杀毒软件C)编辑软件WordD)财务管理系统10. 软件设计中模块划分应遵循的准则是答案:BA)高耦合高内聚B)低耦合高内聚C)内聚与耦合无关D)低耦合低内聚11. 下面属于整数类的实例是答案:BA)518E-2B)0x518C)0.518D)"-518"12. 下面属于白盒测试方法的是答案:BA)等价类划分法B)基本路径测试C)错误推测法D)边界值分析法13. 计算机软件的构成是答案:AA)程序、数据及相关文档B)程序和数据C)程序和文档D)源代码14. 下面不属于软件设计阶段任务的是答案:BA)软件的数据设计B)软件的需求分析C)软件的总体结构设计D)软件的详细设计15. 下面属于黑盒测试方法的是答案:AA)边界值分析法B)条件-分支覆盖C)条件覆盖D)基本路径测试16. 下面不属于软件开发阶段任务的是答案:DA)测试B)实现C)设计D)可行性研究17. 下面属于字符类的实例是答案:BA)'nm'B)'\n'C)“5”D)'518'19. 软件工程的三要素是答案:AA)方法、工具和过程B)定义、方法和过程C)建模、方法和工具D)建模、方法和过程20. 通常软件测试实施的步骤是答案:AA)单元测试、集成测试、确认测试B)单元测试、确认测试、集成测试C)确认测试、集成测试、单元测试D)集成测试、单元测试、确认测试21. 下面可以作为软件设计工具的是答案:DA)数据字典(DD)B)数据流程图(DFD图)C)甘特图D)系统结构图22. 某系统结构图如下图所示:图片则该系统结构图的宽度是答案:CA)3B)4C)nD)223. 下面不能作为软件需求分析工具的是答案:AA)PAD图B)判定树C)数据字典(DD)D)数据流程图(DFD图)24. 下面不属于对象基本特点的是答案:AA)可复用性B)封装性C)多态性D)标识唯一性25. 软件生命周期中,确定软件系统要做什么的阶段是答案:AA)需求分析B)软件设计C)系统维护D)软件测试26. 下面对软件测试和软件调试有关概念叙述错误的是答案:AA)软件测试的目的是发现错误和改正错误B)严格执行测试计划,排除测试的随意性C)设计正确的测试用例D)程序调试通常也称为Debug27. 下面属于系统软件的是答案:DA)杀毒软件B)编辑软件WordC)财务管理系统D)编译软件28. 软件生命周期是指答案:DA)软件的开发与管理B)软件的实现和维护C)软件的需求分析、设计与实现D)软件产品从提出、实现、使用、维护到停止使用退役的过程30. 下面属于应用软件的是答案:CA)汇编程序B)编译程序C)学生成绩管理系统D)UNIX操作系统31. 下面描述不属于软件特点的是答案:AA)软件使用不涉及知识产权B)软件复杂性高C)软件是一种逻辑实体,具有抽象性D)软件在使用中不存在磨损、老化问题32. 程序测试的目的是答案:DA)发现并改正程序中的错误B)改正程序中的错误C)为被测程序设计正确的测试用例D)发现程序中的错误33. 下面对类-对象主要特征描述正确的是答案:AA)对象唯一性B)类的依赖性C)对象无关性D)类的单一性34. 下面不属于软件需求分析阶段工作的是答案:CA)生成需求规格说明书B)需求评审C)需求计划D)需求获取35. 软件设计中模块划分应遵循的准则是答案:AA)低耦合高内聚B)高耦合低内聚C)低耦合低内聚D)高耦合高内聚36. 下面不属于黑盒测试方法的是答案:CA)边界值分析法B)错误推测法C)基本路径测试D)等价类划分法37. 计算机软件包括答案:AA)程序、数据及相关文档B)算法和数据C)程序和文档D)程序和数据38. 下面描述中不属于软件需求分析阶段任务的是答案:CA)软件的需求分析B)软件的需求评审C)软件的总体结构设计D)撰写软件需求规格说明书39. 下面属于黑盒测试方法的是A)条件覆盖B)路径测试C)语句覆盖D)边界值分析法40. 软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是答案:AA)可行性研究B)软件测试C)软件总体设计D)软件实现41. 下面不能作为软件设计工具的是答案:DA)程序流程图B)PAD图C)总体结构图D)数据流程图(DFD图)43. 软件需求分析阶段的主要任务是答案:AA)确定软件系统的功能B)确定软件开发方法C)确定软件开发计划D)确定软件开发工具44. 下面对软件测试描述错误的是答案:AA)随机地选取测试数据B)软件测试是保证软件质量的重要手段C)软件测试的目的是发现错误D)严格执行测试计划,排除测试的随意性45. 结构化程序的三种基本控制结构是答案:AA)顺序、选择和重复(循环)B)顺序、选择和调用C)调用、返回和转移D)过程、子程序和分程序47. 下面能作为软件需求分析工具的是答案:CA)甘特图B)PAD图C)数据流程图(DFD图)D)程序流程图48. 下面不属于对象主要特征的是答案:BB)可复用性C)封装性D)多态性49. 下面属于良好程序设计风格的是答案:DA)随意使用无条件转移语句B)程序效率第一C)程序输入输出的随意性D)源程序文档化50. 下面对软件测试和软件调试叙述错误的是答案:DA)严格执行测试计划,排除测试的随意性B)软件调试的目的是改正软件错误C)正确的执行测试用例D)软件测试不需考虑测试成本51. 下面对软件特点描述正确的是答案:AA)软件是一种逻辑实体,具有抽象性B)软件具有明显的制作过程C)软件在使用中存在磨损、老化问题D)软件复制不涉及知识产权52. 下面不属于对象主要特征的是答案:AA)对象可移植性B)对象多态性C)对象唯一性D)对象分类性53. 使用白盒测试方法时,设计测试用例应根据答案:BA)使用说明书B)程序的内部逻辑C)程序的复杂结构D)程序的功能54. 软件按功能可分为应用软件、系统软件和支撑软件(或工具软件)。
(完整)《C语言程序设计课程设计》题目——软件工程2班
1 一元稀疏多项式的运算问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理.实现要求:⑴输入并建立多项式;⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……cn,en,其中n是多项式的项数,ci,ei分别为第i项的系数和指数。
序列按指数降序排列;⑶多项式A和B相加,建立多项式A+B,输出相加的多项式;⑷多项式A和B相减,建立多项式A-B,输出相减的多项式;⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式;⑹设计一个菜单,至少具有上述操作要求的基本功能。
测试数据:(1) (2x+5x8-3.1x11)+(7—5x8+11x9)(2) (6x-3—x+4。
4x2-1。
2x9)-(-6x-3+5.4x2+7。
8x15)(3)(x+x2+x3)+0(4)(x+x3)—(-x—x-3)2 成绩排序假设某年级有4个班,每班有45名同学。
本学期有5门课程考试,每门课程成绩是百分制。
假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求:⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩;⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中;⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表;⑹设计一个菜单,至少具有上述操作要求的基本功能。
(本题⑸由2人完成)3 迷宫问题问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。
程序设计题库及答案详解
程序设计题库及答案详解一、选择题1. 下列哪个选项不是面向对象编程的三大特性?A. 封装B. 继承C. 多态D. 过程化答案:D2. 在Java中,以下哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A3. 以下哪个是Python中的循环结构?A. forB. whileC. both A and BD. none of the above答案:C二、填空题1. 程序设计中的________是用来定义数据的属性和方法的集合。
2. 在C语言中,________关键字用于声明一个函数。
答案:void 或者 int(根据函数返回类型而定)3. 在JavaScript中,________方法用于将字符串转换为数字。
答案:parseInt 或 parseFloat(根据转换类型而定)三、简答题1. 请简述什么是递归函数,并给出一个简单的递归函数示例。
答案:递归函数是指在函数内部调用自身的函数。
递归函数通常用于解决可以分解为相同问题的子问题的问题。
以下是一个计算阶乘的递归函数示例:```cint factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}```2. 解释什么是堆栈,并说明它们在程序设计中的应用。
答案:堆栈是两种不同的数据结构。
堆是一种优先队列,其中最大或最小元素可以在对数时间内被找到。
栈是一种遵循后进先出(LIFO)原则的数据结构。
在程序设计中,堆栈广泛应用于内存管理、函数调用、表达式求值、回溯算法等领域。
四、编程题1. 编写一个函数,实现字符串的反转。
```pythondef reverse_string(s):return s[::-1]```2. 给定一个整数数组nums,请找出数组中最长递增子序列的长度。
答案:```pythondef lengthOfLIS(nums):if not nums: return 0dp = [1] * len(nums)for i in range(1, len(nums)):for j in range(i):if nums[i] > nums[j]:dp[i] = max(dp[i], dp[j] + 1)return max(dp)```五、案例分析题1. 描述一个场景,其中使用多线程可以提高程序的效率,并解释为什么。
软件工程——详细设计习题
一、填空1.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构____进行设计。
2..结构化设计中以数据流图为基础的两种具体设计方法是( 变换分析和事物分析)设计3.两个模块都使用同一张表,模块的这种耦合称为( 公共耦合)。
\4.一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为( 通信内聚)。
6. 反映软件结构的基本形态特征是__深度、宽度、扇入、扇出____。
7.一个模块把数值作为参数送给另一个模块,这种耦合方式称为__数据耦合____。
8. 两个模块通过全程变量相互作用,这种耦合方式称为___公共耦合__9. 将与同一张年报表有关的所有程序段组成一个模块,该模块的内聚性为__通信耦合____。
10. 一个模块的作用范围指___受该模块内一个判定影响的所有模块___的集合。
11. 一个模块的控制范围指____模块本身以及其所有下属模块__的集合。
12. 结构化设计以__数据流图____为基础映射成软件结构。
13.为了防止软件概要设计的错误传播到开发的后续阶段,在概要设计文档完成以后,要进行__软件评审____。
二、选择题1.软件详细设计阶段的任务是( A )。
A.算法设计和数据结构B.功能设计C.调用关系设计D.输入/输出设计2.软件详细设计阶段采用自左向右的二维图形结构描述算法的是( C ).A.IPO B.JSPC.PAD D.JSD3.结构化程序设计采用的思想是( B )。
A.筛选法B.逐步求精法C.迭代法D.递归法4.软件详细设计阶段属于软件生存周期的( B )阶段。
A.需求分析B.软件设计C.编码D.软件维护5. 指出PDL是下列哪种语言?( B )。
A、高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言6.属于软件设计的基本原理是( D)。
A.数据流分析设计B.变换流分析设计C.事务流分析设计D.模块化7.为了使程序能在不同的计算机上运行,程序应当具有较好的(C )A.可移植性B.可重用性C.可维护性D.可适用性8.Jackson方法是软件设计中用到的一种常用的设计方法,使用Jackson方法可以实现(D)。
软件工程课程设计题目(合集5篇)
软件工程课程设计题目(合集5篇)第一篇:软件工程课程设计题目1.销售管理系统通过对某公司的订单销售系统进行分析、调查,系统主要实现以下功能:(1)处理顾客和销售员送来的订单。
具体为:销售部门把送入的订单进行数额核对,查看仓库是否有足够的货物。
(2)仓库根据订单来调拨货品,发出货物的同时开出发票。
并且根据需要及时的进货,随时进行盘点。
(3)销售部门收到顾客付款后,根据发票存根及信贷状况进行应收款处理,同时注销已提货的订单。
(4)主管部门对订单、库存进行统计,并且对所有的发票存根进行统计、结帐,完成月报表与年报表的制作。
本系统主要分为四个功能模块。
销售合同管理模块:该模块主要实现对客户及合同的查询,在浏览每个客户的资料时,都将显示与该客户有关的所有的销售记录。
对客户的查询有两种方式;按客户编号和按姓名。
主要功能为:输入销售合同、修改销售合同、删除销售合同、输入销售合同完成情况、查询销售合同(按合同号、客户、产品、交货日期、交货日期区间、合同完成情况等查询)、统计销售合同(按交货日期和产品统计、按交货日期区间和产品统计、按客户和产品统计)。
产品信息管理模块:该模块主要是对产品进行管理,包括查询、修改、添加和删除。
在对产品信息的更新时,将保证更新操作的事务性。
对产品的查询可以查询全部,或者输入产品编号查询。
主要功能为:输入产品信息、修改产品信息、删除产品信息、查询产品信息、按产品名称查询、按产品规格型号查询。
销售记录管理模块:该模块的功能相对复杂一点,主要功能如下:查询销售记录:可以查询某一年内或某月或某日内的所有销售记录。
选择结果的排序方式:可以按产品编号排序,也可以按客户编号排序。
产品信息和客户信息:当用户选择一条记录时,会显示与这条销售记录有关的客户信息和产品信息。
备份功能:将客户查找出来的所有销售记录到出导一个有用户命名的单独的数据表中。
客户意见的管理模块:该模块的主要功能是管理客户购买产品之后的反馈意见,该模块也相对比较复杂,主要功能如下:输入客户信息、修改客户信息、删除客户信息、查询客户信息、按客户名称查询。
计算机二级选择题——程序设计与软件工程
1.下面属于良好程序设计风格的是A)源程序文档化B)程序效率第一C)随意使用无条件转移语句D)程序输入输出的随意性A【解析】要形成良好的程序设计风格,主要应注意和考虑:源程序文档化;数据说明的次序规范化,说明语句中变量安排有序化,使用注释来说明复杂数据的结构;程序编写要做到清晰第一、效率第二,先保证程序正确再要求提高速度,避免不必要的转移;对所有的输入数据都要进行检验,确保输入数据的合法性。
2.下面不属于结构化程序设计原则的是A)逐步求精B)自顶向下C)模块化D)可继承性D【解析】结构化程序设计方法的原则包括:自顶向下、逐步求精、模块化、限制使用goto语句。
可继承性是面向对象方法的特点。
3.结构化程序设计风格强调的是A)程序的执行效率B)程序的易读性C)不考虑goto语句的限制使用D)程序的可移植性B【解析】按结构化程序设计方法设计出的程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以确保程序的正确性,程序容易阅读并被人理解,便于用户使用和维护。
可见结构化程序设计风格强调的是易读性。
4.结构化程序的三种基本控制结构是A)顺序、选择和调用B)过程、子程序和分程序C)顺序、选择和重复(循环)D)调用、返回和转移C【解析】1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
5.不属于对象构成成份的是A)规则B)属性C)方法(或操作)D)标识A【解析】对象由一组表示其静态特征的属性和它执行的一组操作组成,对象名唯一标识一个对象。
6.下面对“对象”概念描述正确的是A)属性就是对象B)操作是对象的动态属性C)任何对象都必须有继承性D)对象是对象名和方法的封装体B【解析】对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。
对象可以做的操作表示它的动态行为,通常也称为方法或服务,属性即对象所包含的信息。
软件工程中的软件系统建模与设计考核试卷
四、判断题(本题共10小题,每题1分,共10分,正确的请在答题括号中画√,错误的画×)
1.软件系统建模是在软件开发过程中最早进行的步骤。()
2. UML图中的类图主要用于描述系统中类的结构和类之间的关系。(√)
A.单一职责原则
B.开放封闭原则
C.里氏替换原则
D.以上都是
5.在软件设计中,以下哪些活动属于详细设计阶段?()
A.定义模块接口
B.确定数据结构
C.设计算法
D.制定测试计划
6.以下哪些关系可以用来说明类之间的关系?()
A.继承
B.关联
C.组合
D.聚合
7.关于软件系统建模,以下哪些说法是正确的?()
A.建模有助于理解和分析问题
B.状态模式
C.策略模式
D.模板方法模式
17.在软件系统设计时,以下哪些方法可以用来评估设计的复杂性?()
A.循环复杂度
B.类的扇入和扇出
C.耦合度
D.以上都是
18.以下哪些是软件设计模式中常见的行为型模式?()
A.策略模式
B.状态模式
C.命令模式
D.以上都是
19.在软件设计过程中,以下哪些因素会影响软件的架构选择?()
软件工程中的软件系统建模与设计考核试卷
考生姓名:__________答题日期:__________得分:__________判卷人:__________
一、单项选择题(本题共20小题,每小题1分,共20分,在每小题给出的四个选项中,只有一项是符合题目要求的)
1.软件系统建模的目的是()
A.分析和解决问题
D.用例图、类图、顺序图、组件图
软件工程的题目
1.(单选题)软件工程是一种( )分阶段实现的软件程序开发的方法。
(本题2.0分)A.自底向上B.自顶向下C.逐步求精D.面向数据流答案:B软件工程是一种自顶向下分阶段实现的软件程序开发方法。
这种方法将软件开发过程分解为多个阶段,每个阶段都以系统的整体需求和设计为基础,从总体到具体逐步细化。
开发过程从高层次概念和需求开始,逐步细化为更具体的设计和实现,直到最终的编码和测试。
举例来说,考虑一个在线购物网站的开发过程。
首先,以用户需求和整体系统设计为基础,从整体上定义系统的功能和特性,这是自顶向下的第一阶段。
然后,将整体系统划分为子系统和模块,进一步细化各个模块的功能和接口,这是自顶向下的细化阶段。
接着,针对每个模块进行详细设计和实现,分别开发相应的功能模块,这是自顶向下的实现阶段。
最后,进行集成测试和系统测试,确保整体系统功能的正确性和稳定性,这是自顶向下的测试阶段。
通过自顶向下的分阶段开发方法,可以更好地管理软件开发过程,确保系统的功能完备性、易用性和稳定性。
2.(单选题)在测试中,下列说法错误的是( )(本题2.0分)A.测试是为了发现程序中的错误而执行程序的过程B.测试是为了表明程序的正确性D.成功的测试是发现了至今为止尚未发现的错误的测试答案:B在测试中,下列说法错误的是 B. 测试是为了表明程序的正确性。
详细解析:A. 测试是为了发现程序中的错误而执行程序的过程是正确的。
测试的主要目的之一是发现程序中潜在的错误或缺陷。
C. 成功的测试是指找到了至今为止尚未发现的错误。
这是测试的一个重要指标,因为成功的测试应该能够揭示程序中隐藏的问题。
举例说明:假设有一个电子邮件客户端的程序,测试人员执行各种测试来确保其正确性和稳定性。
他们可能会进行功能测试,以验证发送、接收邮件等功能是否按预期工作。
同时,他们还会进行负载测试,以确保客户端可以处理大量邮件流量而不崩溃。
如果测试中发现了程序中的错误,开发团队将修复这些错误,并重新进行测试,直到程序达到预期的质量标准。
