2021-2022-1 20211326《信息安全专业导论》第八周学习总结
2021-2022-1 20211326《信息安全专业导论》第八周学习总结
作业信息
|2020-2021-1信息安全专业导论|
2020-2021-1信息安全专业导论第八周作业|
作业目标:计算机科学概论第九章 Python第九、十章 自学。
- 功能设计与面向对象设计
- 面向对象设计过程
- 面向对象语言三要素
- 汇编、编译、解释、执行
教材学习内容总结
1. 功能设计:功能设计是指为了实现快速迭代,将软件开发生命周期中概要设计和详细设计进行精简而产生的中间产物,是管理人员对项目管理的核心把控能力,也是指导开发人员进行开发的核心思路。
2.面向对象设计:
面向对象设计是一种软件设计方法,是一种工程化规范。这是毫无疑问的。面向对象设计的主要工作包括:
— 确定需要的类;
— 给每个类提供一组完整的操作;
— 明确地使用继承来表现共同点。
概括地说,面向对象设计就是“根据需求决定所需的类、类的操作,以及类之间关联的过程”。
从面向对象分析到面向对象设计是一个逐步扩充模型的过程。面向对象分析以实际问题为中心,可以不考虑与软件实现相关的任何问题,主要考虑“做什么”的问题;面向对象设计则是面向软件实现的实际开发活动,主要考虑“怎么做”的问题。
3.面对对象设计过程
1.根据需求描述提取类
提取类信息可参考需求描述中的名词和动词信息,分别提取各类的属性和方法,对比各个类的属性和方法,提取公有属性和方法,进而提取出父类。
2.根据需求的要求,可构建类工厂,使用多态技术,灵活使用各个类。
3.根据逻辑要求,提取业务类,主要对各个对象进行数据操作。
4.根据人机界面操作(系统提示信息),提取UI类,即测试类,完成用户与程序的交互。
5.进行优化设计,梳理运行过程。
4.面向对象语言三要素 1.封装 2. 继承 3.(运行)多态
5.
汇编程序:
①具有把汇编语言编写的程序转换成等价的机器语言程序的功能的程序。
编译程序:
①具有把高级语言编写的程序转换成等价的低级语言程序的功能的程序。
②所以说编译程序是翻译程序的特殊情况。
③采用编译方式在计算机上执行用高级语言编写的程序,需分阶段进行,一般分为两大阶段,即编译阶段和运行阶段。
④如果编译阶段生成的目标程序不是机器语言程序,而是汇编语言程序,则程序的执行需分3 个阶段,即编译阶段、汇编阶段和运行阶段。
解释程序:
①解释程序也是一种翻译程序。
②它将源程序作为输入并执行之,即边解释边执行。
③它与编译程序的主要区别是在解释程序的执行过程中不产生目标程序,而是按照源语言的定义解释执行源程序本身
教材学习中的问题和解决过程
1.面对对象设计的目标是什么?又分什么阶段?
解决:通过对教材的研读和网上资料查询知道面向对象设计的目标是管理程序内部各部分的相互依赖。为了达到这个目标,面向对象设计要求将程序分成块,每个块的规模应该小到可以管理的程度,然后分别将各个块隐藏在接口(interface)的后面,让它们只通过接口相互交流。比如说,如果用面向对象设计的方法来设计一个客户端-服务器应用,那么服务器和客户端之间不应该有直接的依赖,而是应该让服务器的接口和客户端的接口相互依赖。
面向对象设计分为两个阶段,即高层设计和低层设计。
高层设计阶段开发系统的结构,构造软件的总体模型。在这个阶段中,应该标识出在具体的计算机环境中进行问题求解所需要的概念,并增加一批需要的类,其中包括那些能使软件系统与外部世界进行交互的类。高层设计阶段的输出是适合应用软件要求的类、类之间的关系,以及应用子系统的视图规格说明。图6-13说明了面向对象设计导出的系统结构的大致形式。
在高层设计的过程中,应当使子系统的高层部件之间的通信量达到最小,把子系统中相互之间存在高度交互的类划分在同一组中。
低层设计集中于类的详细设计阶段。类设计的目标是形成单一概念的模型(即一个概念用一个独立的类来表示),而且设计的部件应该是可复用的和可靠的。在类的设计过程中需要采用信息隐蔽、高内聚、低耦合等设计原则。重复使用现有的类是面向对象的技术的主要优点之一。
代码中的问题
[代码托管]
上周考试错题总结
无
学习进度条
代码行数(新增/积累) | 博客量(新增/积累) | 学习时间(新增/积累) | 重要成长 | |
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 10/30 | 1/2 | 20/38 | |
第二周 | 20/40 | 1/3 | 20/38 | |
第三周 | 100/150 | 1/4 | 30/60 | |
第四周 | 250/300 | 1/3 | 40/70 | |
第五周 | 300/400 | 1/5 | 20/100 |
|
第六周 | 350/400 | 1/4 | 50/100 |
|
第八周 500/700 1/5 100/200
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了