资源预览内容
第1页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件体系结构实验指导书 v2.0(附实验报告模板)实验项目1 架构质量实践之可读性与可修改性实验学时 4学时1实验目标通过实验理解软件架构质量中可读性与可修改性的意义,加深理解可修改性的定义,掌握面向可修改性的软件实现、优化以及评价的具体手段和方法。结合可读性理解职业规范和团队意识,结合可修改性理解课程思政内涵中的创新思维。2实验内容实验课前预习可读性和可修改性的材料,思考软件构建过程中为什么要进行重构,给出自己所理解的关于软件架构质量属性之可修改性的定义,列举增强代码可读性和软件可修改性的方法。实验需对一个已完成的有一定规模的系统进行代码可读性和软件可修改性方面的优化,并需要结合相关工具对代码可读性和软件可修改性做评价。实验课后需用自己的语言做实验概要总结,并完成相关报告。3支撑的课程目标学生在实作本实验项目的过程中有助于支撑“课程目标1:掌握提升架构质量的知识和实作要点,具有对软件工程项目涉及的架构质量问题的分析能力,能够从架构质量属性的角度,结合相关文献研究对软件开发领域的复杂工程问题进行分析及方案的合理性论证”、“课程目标2:能够运用架构质量以及架构模式的知识和实作要点对软件的实现方案进行优化和改进,能够基于架构质量属性对软件质量进行评价”。本单元实验安排采用探究式学习、基于问题的实验形式以助于学生了解软件架构质量中可读性与可修改性的意义,掌握基于软件质量属性的软件实现、优化以及评价方法,激发学生的学习兴趣,依据所掌握的知识点,提高分析解决复杂工程问题的能力,从而达到课程的实验目标的要求。4实验要求(1)熟悉实验涉及的相关知识概念。(2)理解实验涉及的相关理论原理。(3)掌握实验涉及的相关技术。(4)根据实验内容要求完成实验的设计和实现。(5)实验报告完整、准确、规范地阐述了实验各关键要素。(6)实现语言不限。(5)报告中需论述实现过程中考虑了哪些架构质量属性。(6)可读性与可修改性(至少深入讨论其中1个方面)(7)架构质量属性需结合代码阐述。(8)架构质量属性需通过工具度量。5编程环境OS CentOS/ Ubuntu / MacOS / Windows PLPython / C/C+ / Java / Go / Rust IDEVisual Studio Code / Eclipse / PyCharm 6实验报告要点(1)相关知识:论述实验涉及的相关知识,应包括对所重点考虑的架构质量属性的理解。(2)需求描述:非功能性需求使用自然语言描述,功能性需求可使用用例图加用例文本的方式描述,这里以非功能性需求的描述为重点。(3)系统/子系统/模块/类/模块结构:给出所讨论目标的结构设计,通常需要辅以图示,如果结构在设计的过程中经过演化,则最好从最初结构出发,逐步演化,每步给出演化的缘由。对所应用的模式/惯用法也需给予应用该模式/惯用法的相关理据。(4)架构质量属性:论述实现过程中考虑了哪些架构质量属性,架构质量属性需结合代码阐述,对质量属性的实现评价需通过工具度量。(5)代码:需给出实验相关的关键代码,代码风格良好、可正确执行,并体现了对架构质量的考量。(6)结论:给出实验结论,需包括对系统结构设计的认识,架构质量实现的感受以及其他心得。实验项目2 架构质量实践之可调试性与可测试性1实验目标通过实验理解软件架构质量中可调试性与可测试性的意义,加深理解可测试性的定义,掌握面向可测试性的软件实现、优化以及评价的具体手段和方法。结合可调试性理解职业规范,结合可测试性理解课程思政内涵中的团队意识。2实验内容实验课前预习可调试性与可测试性的材料,思考软件构建过程中为什么要需要测试驱动?给出自己所理解的关于软件架构质量属性之可测试性的定义,列举代码调试和软件可测试性的方法与常用技巧。实验需对一个已完成的有一定规模的系统进行软件可测试性和可调试性以及相关编程方面的优化,并需要结合相关工具增强代码的可调试性并对软件可测试性做评价。实验课后需用自己的语言做实验概要总结,并完成相关报告。3支撑的课程目标学生在实作本实验项目的过程中有助于支撑“课程目标1:掌握提升架构质量的知识和实作要点,具有对软件工程项目涉及的架构质量问题的分析能力,能够从架构质量属性的角度,结合相关文献研究对软件开发领域的复杂工程问题进行分析及方案的合理性论证”、“课程目标2:能够运用架构质量以及架构模式的知识和实作要点对软件的实现方案进行优化和改进,能够基于架构质量属性对软件质量进行评价”。本单元实验安排采用探究式学习、基于问题的实验形式以助于学生了解软件架构质量中可调试性与可测试性的意义,掌握基于软件质量属性的软件实现、优化以及评价方法,激发学生的学习兴趣,依据所掌握的知识点,提高分析解决复杂工程问题的能力,从而达到课程的实验目标的要求。4实验要求(1)熟悉实验涉及的相关知识概念。(2)理解实验涉及的相关理论原理。(3)掌握实验涉及的相关技术。(4)根据实验内容要求完成实验的设计和实现。(5)实验报告完整、准确、规范地阐述了实验各关键要素。(6)实现语言不限。(5)报告中需论述实现过程中考虑了哪些架构质量属性。(6)可调试性与可测试性(至少深入讨论其中1个方面)(7)架构质量属性需结合代码阐述。(8)架构质量属性需通过工具度量。5编程环境OS CentOS/ Ubuntu / MacOS / Windows PLPython / C/C+ / Java / Go / Rust IDEVisual Studio Code / Eclipse / PyCharm 6实验报告要点(1)相关知识:论述实验涉及的相关知识,应包括对所重点考虑的架构质量属性的理解。(2)需求描述:非功能性需求使用自然语言描述,功能性需求可使用用例图加用例文本的方式描述,这里以非功能性需求的描述为重点。(3)系统/子系统/模块/类/模块结构:给出所讨论目标的结构设计,通常需要辅以图示,如果结构在设计的过程中经过演化,则最好从最初结构出发,逐步演化,每步给出演化的缘由。对所应用的模式/惯用法也需给予应用该模式/惯用法的相关理据。(4)架构质量属性:论述实现过程中考虑了哪些架构质量属性,架构质量属性需结合代码阐述,对质量属性的实现评价需通过工具度量。(5)代码:需给出实验相关的关键代码,代码风格良好、可正确执行,并体现了对架构质量的考量。(6)结论:给出实验结论,需包括对系统结构设计的认识,架构质量实现的感受以及其他心得。实验项目3 架构质量实践之性能1实验目标通过实验理解软件架构质量中性能的意义,加深对性能定义的理解,掌握面向高性能软件实现、性能优化以及性能评价的具体手段和方法。结合性能理解课程思政内涵中的专业精神。2实验内容实验课前预习软件性能的相关材料,思考软件构建过程中为什么要需要考虑性能?给出自己所理解的关于软件架构质量属性之性能的定义,列举性能优化和性能评估的方法与常用技巧。实验需对一个已完成的有一定规模的系统进行软件性能方面的优化,并需要结合相关工具对软件性能做评价。实验课后需用自己的语言做实验概要总结,并完成相关报告。3支撑的课程目标学生在实作本实验项目的过程中有助于支撑“课程目标1:掌握提升架构质量的知识和实作要点,具有对软件工程项目涉及的架构质量问题的分析能力,能够从架构质量属性的角度,结合相关文献研究对软件开发领域的复杂工程问题进行分析及方案的合理性论证”、“课程目标2:能够运用架构质量以及架构模式的知识和实作要点对软件的实现方案进行优化和改进,能够基于架构质量属性对软件质量进行评价”。本单元实验安排采用探究式学习、基于问题的实验形式以助于学生了解软件架构质量中性能优化以及性能评价的意义,掌握基于软件质量属性的软件实现、优化以及评价方法,激发学生的学习兴趣,依据所掌握的知识点,提高分析解决复杂工程问题的能力,从而达到课程的实验目标的要求。4实验要求(1)熟悉实验涉及的相关知识概念。(2)理解实验涉及的相关理论原理。(3)掌握实验涉及的相关技术。(4)根据实验内容要求完成实验的设计和实现。(5)实验报告完整、准确、规范地阐述了实验各关键要素。(6)实现语言不限。(5)报告中需论述实现过程中考虑了哪些架构质量属性。(6)可读性与可修改性(至少深入讨论其中1个方面)(7)架构质量属性需结合代码阐述。(8)架构质量属性需通过工具度量。5编程环境OS CentOS/ Ubuntu / MacOS / Windows PLPython / C/C+ / Java / Go / Rust IDEVisual Studio Code / Eclipse / PyCharm 6实验报告要点(1)相关知识:论述实验涉及的相关知识,应包括对所重点考虑的架构质量属性的理解。(2)需求描述:非功能性需求使用自然语言描述,功能性需求可使用用例图加用例文本的方式描述,这里以非功能性需求的描述为重点。(3)系统/子系统/模块/类/模块结构:给出所讨论目标的结构设计,通常需要辅以图示,如果结构在设计的过程中经过演化,则最好从最初结构出发,逐步演化,每步给出演化的缘由。对所应用的模式/惯用法也需给予应用该模式/惯用法的相关理据。(4)架构质量属性:论述实现过程中考虑了哪些架构质量属性,架构质量属性需结合代码阐述,对质量属性的实现评价需通过工具度量。(5)代码:需给出实验相关的关键代码,代码风格良好、可正确执行,并体现了对架构质量的考量。(6)结论:给出实验结论,需包括对系统结构设计的认识,架构质量实现的感受以及其他心得。实验项目4 架构质量实践之可扩展性实验学时 4学时1实验目标通过实验理解软件架构质量中可扩展性的意义,加深对系统可扩展性定义的理解,掌握面向高可扩展性软件实现以及可扩展性评价的具体手段和方法。结合可扩展性理解课程思政内涵中的终身学习。2实验内容实验课前预习软件可扩展性的相关材料,思考软件构建过程中为什么要需要考虑可扩展性?给出自己所理解的关于软件架构质量属性之可扩展性的定义,列举增强可扩展性的方法与常用技巧。实验需对一个已完成的有一定规模的系统进行可扩展性方面的优化,并需要结合相关工具对软件可扩展性做评价。实验课后需用自己的语言做实验概要总结,并完成相关报告。3支撑的课程目标学生在实作本实验项目的过程中有助于支撑“课程目标1:掌握提升架构质量的知识和实作要点,具有对软件工程项目涉及的架构质量问题的分析能力,能够从架构质量属性的角度,结合相关文献研究对软件开发领域的复杂工程问题进行分析及方案的合理性论证”、“课程目标2:能够运用架构质量以及架构模式的知识和实作要点对软件的实现方案进行优化和改进,能够基于架构质量属性对软件质量进行评价”。本单元实验安排采用探究式学习、基于问题的实验形式以助于学生了解软件架构质量中可扩展性的意义,掌握基于软件质量属性的软件实现、优化以及评价方法,激发学生的学习兴趣,依据所掌握的知识点,提高分析解决复杂工程问题的能力,从而达到课程的实验目标的要求。4实验要求(1)熟悉实验涉及的相关知识概念。(2)理解实验涉及的相关理论原理。(3)掌握实验涉及的相关技术。(4)根据实验内容要求完成实验的设计和实现。(5)实验报告完整、准确、规范地阐述了实验各关键要素。(6)实现语言不限。(5)报告中需论述实现过程中考虑了哪些架构质量属性。(6
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号