2024-2025-1 20241411《计算机基础与程序设计》第八周学习总结

news/2024/11/17 20:18:00/文章来源:https://www.cnblogs.com/wangsiqi828828/p/18551021

作业信息

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08
这个作业的目标 功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行
作业正文 https://www.cnblogs.com/wangsiqi828828/p/18551021

教材学习内容总结

  1. 功能设计与面向对象设计
    功能设计
    定义:功能设计主要关注系统或软件应该具备什么样的功能来满足用户需求。它侧重于从用户角度出发,确定软件需要完成的任务和操作流程。
    特点:以功能为核心,将系统看作是一系列功能模块的组合。在设计过程中,通常先进行需求分析,梳理出所有需要实现的功能点,然后对这些功能点进行详细设计,包括输入输出、数据处理等方面。

    面向对象设计
    定义:面向对象设计(OOD)是一种设计方法,它以对象为基础,将现实世界中的事物抽象成对象,对象包含数据(属性)和行为(方法)。通过对象之间的交互来实现系统功能。
    特点:具有封装性、继承性和多态性。封装性使得对象的内部数据和实现细节对外部隐藏,只提供公共的接口来访问对象的功能;继承性允许创建新的类(子类)来继承现有类(父类)的属性和方法,从而实现代码的复用;多态性使得不同对象对相同消息(方法调用)可以产生不同的响应。

  2. 面向对象设计过程
    需求分析、识别对象和类、 定义类的属性和方法、确定类之间的关系、设计用户界面(如果需要)

  3. 汇编、编译、解释、执行
    汇编
    定义:汇编语言是一种低级编程语言,它使用助记符来代替机器语言的二进制指令。汇编过程是将汇编语言源程序转换为机器语言目标程序的过程。
    特点:汇编语言与机器硬件密切相关,不同的CPU架构有不同的汇编语言。它能够直接访问和控制计算机硬件资源,如寄存器、内存等。但是,汇编语言的编程效率相对较低,因为它需要程序员对计算机硬件有深入的了解,并且代码的可读性和可维护性较差。

    执行
    定义:执行是指计算机运行程序的过程,无论是编译后的程序还是通过解释器解释执行的程序。在执行过程中,计算机的CPU按照程序中的指令序列,从内存中读取数据和指令,进行运算和操作,完成程序设定的任务。
    特点:执行的效率和程序的优化程度、计算机硬件的性能等因素有关。对于编译后的程序,执行速度通常较快,因为编译过程中已经进行了一些优化。而对于解释执行的程序,执行速度可能会受到解释器性能的影响。

教材学习中的问题和解决过程(先问 AI)

问题1:面向对象设计的原则有哪些?

  • 问题1解决方案:
    1.单一职责原则(SRP)
    定义:一个类应该只有一个引起它变化的原因,即一个类只负责一项职责。
    解释:如果一个类承担了过多的职责,那么这些职责的变化可能会影响这个类。例如,一个类既负责用户数据的存储,又负责用户界面的展示,当存储方式或者界面展示要求发生变化时,这个类就需要频繁修改,这样会导致代码的稳定性变差。
    2.开闭原则(OCP)
    定义:软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。
    解释:这意味着当需要增加新功能时,应该通过扩展已有代码来实现,而不是修改已有的稳定代码。这样可以保证原有代码的稳定性,减少修改可能带来的错误。
    3.里氏替换原则(LSP)
    定义:子类型必须能够替换它们的父类型。也就是说,在任何使用父类型对象的地方,都可以用子类型对象来替换,而程序的行为不会发生改变。
    解释:这保证了继承关系的正确性和合理性。如果违反了这个原则,可能会导致程序出现错误或者不符合预期的行为。
    4.依赖倒置原则(DIP)
    定义:高层模块不应该依赖低层模块,二者都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
    解释:这有助于降低模块之间的耦合度。当高层模块和低层模块都依赖抽象时,具体的实现可以方便地替换,而不会影响到其他模块。
    5.接口隔离原则(ISP)
    定义:客户端不应该被迫依赖于它不使用的接口。一个类对另一个类的依赖应该建立在最小的接口上。
    解释:这避免了客户端因为依赖不需要的接口而导致的复杂性增加和潜在的错误。将大的接口拆分成多个小的、专门的接口,可以使客户端只依赖自己需要的部分。
    6.迪米特法则(LoD),也叫最少知识原则
    定义:一个对象应该对其他对象有最少的了解。也就是说,一个类应该尽量减少对其他类的依赖,只和直接的朋友(成员变量、方法参数、返回值等)进行交互。
    解释:这样可以降低类之间的耦合度,使得系统更加灵活和易于维护。如果一个类过多地了解其他类的内部细节,当其他类发生变化时,这个类可能会受到很大的影响。

基于AI的学习

代码调试中的问题和解决过程

其他(感悟、思考等,可选)

学习进度条

|
| 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长
|
|
-------- | :----------------😐:----------------😐:---------------: |:-----😐
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 300/500 | 2/4 | 18/38 | |
| 第三周 | 500/1000 | 3/7 | 22/60 | |
| 第四周 | 300/1300 | 2/9 | 30/90 | |

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难,[软件工程 估计方法](http://www.cnblogs.com/xinz/archive/2011/04/06/2007294
.html)

  • 计划学习时间
    :XX
    小时

  • 实际学习时间
    :XX
    小时

  • 改进情况:

(有空多看看[现代软件工程 课件
软件工程师能力自我评价表](
http://www.cnblogs.com/xinz/p/3852177
.html))

参考资料

  • 《计算机科学概论(第七版)》
  • ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/835502.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WINCC 7.5SP2下VBA创建变量组、变量1

今晚继续学习Wincc下面使用VBA创建变量分组,分组下创建多个变量。新浪审核有点慢,我在这里先发表了。 在变量管理中新建一个S7 连接,配置好连接参数,这个不能通过VBA创建。 打开wincc页面,在VBA编辑器下写下面的脚本:Sub addtags()Dim hmigo As hmigoDim strTagGroup As…

Scrum 冲刺博客-day7

一、每天会议 昨天完成的任务与今天计划完成任务成员 昨天已完成任务 今天计划完成任务董雯霖 个人中心页面 前端页面优化陈金星 后台管理页面 前端页面优化邱列圻 后端接口实现 后端接口开发测试李嘉远 后端接口实现 后端接口开发测试詹洛熙 各项页面测试 各项页面测试工作中遇…

Scrum 冲刺博客-day6

一、每天会议 昨天完成的任务与今天计划完成任务成员 昨天已完成任务 今天计划完成任务董雯霖 交流与反馈页面开发 个人中心页面陈金星 公告信息页面开发 后台管理页面邱列圻 debug 后端接口实现李嘉远 活动心得页面开发 后端口实现詹洛熙 首页页面测试、活动信息页面测试 各项…

团队项目冲刺第三天

课程 2024软件工程作业要求 团队作业4——项目冲刺作业目标 团队项目冲刺第三天团队会议合照燃尽图 当开启进度后,明显就比什么都不做纯聊的状态快多了,也积极多了,照这样下去说不定能提前完成计划表格成员 已完成 下一步洪吉潮 用户注册与登录功能完善设计登录界面交互 主题…

2024-2025-1 20241319 《计算机基础与程序设计》第八周学习总结

作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业的目标 功能设计与面向对象设计 面向对象设计过程 面向对象语言三要素 汇编、编译、解释、执行作业正文 https://www.cnblogs…

团队项目冲刺第二天

课程 2024软件工程作业要求 团队作业4——项目冲刺作业目标 团队项目冲刺第二天团队会议合照燃尽图计划表格成员 已完成 下一步洪吉潮 用户注册与登录功能完善设计用户注册界面 用户注册与登录功能完善设计登录界面交互刘家辉 用户注册与登录功能完善实现邮箱注册功能及验证逻辑…

Scrum 冲刺博客-day5

一、每天会议 昨天完成的任务与今天计划完成任务成员 昨天已完成任务 今天计划完成任务董雯霖 活动信息页面 交流与反馈页面开发陈金星 首页页面 公告信息页面开发邱列圻 活动信息页面 debug李嘉远 活动信息页面 活动心得页面开发詹洛熙 配合测试 首页页面测试、活动信息页面测…

941. 有效的山脉数组

题目 自己写的 class Solution { public:bool validMountainArray(vector<int>& arr) {int l = 0, r = 1;bool up = true, change = false;if (arr.size() < 3)return false;if (arr[r] < arr[l])up = false;while (r < arr.size()){if (up){if (arr[r] <…

团队项目冲刺--Day4

每天举行站立式会议昨天已完成的工作成员 任务徐嘉炜 组织会议,说明项目进度,指导项目发展陈祥意 参与会议,简要讲述应用程序测试的各个模块林楦 参与会议,讲述有关功能界面的UI开发陈大锴 参与会议,协调开发技术与实际需求,记录需求蔡家显 参与会议,讲述测试时的注意事…

团队项目冲刺-day2

每天举行站立式会议 昨天已完成的工作成员 任务徐嘉炜 组织会议,说明项目进度,指导项目发展陈祥意 参与会议,简要讲述应用程序测试的各个模块林楦 参与会议,讲述有关功能界面的UI开发陈大锴 参与会议,协调开发技术与实际需求,记录需求蔡家显 参与会议,讲述测试时的注意事…

一文读懂maven

一、什么是mavenmaven是一个项目管理工具,通过pom.xml文件的配置获取jar包不用手动的去添加jar包就是在java项目和web项目上裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能,即通过pom.xml添加jar包 就…