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

news/2024/12/25 14:20:52/文章来源:https://www.cnblogs.com/yixin20060813/p/18548796

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

作业信息

|这个作业属于哪个课程|
https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
|这个作业要求在哪里|
https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08
|这个作业的目标|
功能设计与面向对象设计

面向对象设计过程
面向对象语言三要素
汇编、编译、解释、执行
|作业正文|
https://www.cnblogs.com/yixin20060813/p/18548796

教材学习内容总结

一.功能设计
定义:功能设计是按照产品定位的初步要求,在对用户需求及现有产品进行功能调查分析的基础上,对所定位产品应具备的目标功能系统进行概念性构建的创造活动。
特点:
侧重于系统功能的实现和问题的解决。
强调模块化设计,将系统分解成若干个功能模块。
模块之间的交互通过函数调用实现。
二.设计过程:
根据需求找出对象,并抽象每个对象为类。
找出各对象之间的关系,使用组合、继承、分类、扩展等描述这些关系。
为每个对象实体定义要做的事(写对象方法),以及每个类在不需要有对象实体的情况下要做的事(写类方法)。
特点:
侧重于对象的抽象、封装、继承和多态性。
强调以对象为中心进行设计和开发。
有助于提高系统的可重用性、灵活性和扩展性。
二者区别
关注点不同:功能设计更注重系统功能的实现和问题的解决,而面向对象设计则更注重对象的抽象、封装、继承和多态性。
设计思路不同:功能设计采用模块化设计思路,将系统分解成若干个功能模块;而面向对象设计则采用以对象为中心的设计思路,将系统分解成若干个对象。
交互方式不同:在功能设计中,模块之间的交互通过函数调用实现;而在面向对象设计中,对象之间的交互则通过消息发送和接收来实现。
综上所述,功能设计与面向对象设计各有其独特的知识点和设计理念。在实际应用中,应根据具体需求和场景选择合适的设计方法,以确保软件系统的质量和效率。
三.面向对象设计过程

  1. 需求分析和理解
  2. 识别类和对象
  3. 建立类图
  4. 设计原则的应用
  5. 细化设计
  6. 迭代和验证
  7. 文档编写
  8. 持续学习和改进
    四.面向对象语言三要素
  9. 封装(Encapsulation)
  10. 继承(Inheritance)
  11. 多态(Polymorphism)
    优点:
    提高了系统的灵活性和可扩展性。
    允许在不修改现有代码的情况下添加新的功能(开闭原则)。
    增强了代码的可读性和可维护性。
    需要注意的是,虽然封装、继承和多态是面向对象语言的三要素,但不同的面向对象语言在实现这些要素时可能会有所不同。例如,一些语言可能提供了更丰富的访问权限修饰符或更灵活的继承机制。因此,在学习和使用不同的面向对象语言时,需要仔细了解它们的具体实现方式和特点。
    五.汇编、编译、解释、执行
    汇编
    定义:
    汇编语言是一种低级的、面向硬件的编程语言,它拥有与机器语言相近的指令集,同时允许程序员使用助记符来代替机器码中的二进制数字。
    特点:
    汇编语言编写的程序需要经过汇编器转换成机器码才能在计算机上执行。
    汇编语言与机器语言有很高的对应关系,因此执行效率较高。
    汇编语言依赖于特定的硬件平台,因此不同平台的汇编语言有所不同。
    组成:
    汇编指令(机器码的助记符):如MOV AX,BX。
    伪指令:由编译器执行。
    其他符号:由编译器识别,如+、-、*、/。
    寄存器:
    寄存器是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
    寄存器用于存放操作数和操作结果,以及控制指令的执行。
    编译
    定义:
    编译是将高级语言编写的源代码转换成机器码或中间码的过程。
    过程:
    编译过程包括预处理、编译、汇编和链接等多个阶段。
    预处理阶段处理宏定义、文件包含等指令。
    编译阶段将源代码转换成中间代码或汇编代码。
    汇编阶段将汇编代码转换成机器码。
    链接阶段将多个目标文件链接成一个可执行文件。
    特点:
    编译型语言通常以其高性能和效率为最大卖点,适用于性能要求高的应用场景。
    编译型语言在程序运行之前需要进行完整的编译过程,因此程序启动速度较快。
    解释
    定义:
    解释是在程序运行时由解释器逐行转换和执行源代码的过程。
    特点:
    解释型语言通常具有更好的灵活性和跨平台性,因为解释器可以在不同的平台上运行。
    解释型语言的执行速度可能相对较慢,因为每次运行程序时都需要逐行解释和执行源代码。
    优势:
    解释型语言易于调试和修改,因为可以立即看到代码更改的效果。
    解释型语言通常具有更丰富的动态特性和内置函数库。
    执行
    定义:
    执行是程序在计算机上运行并完成特定任务的过程。
    方式:
    无论是编译型语言还是解释型语言,最终都需要在计算机上执行以完成特定的任务。
    编译型语言的可执行文件可以直接在计算机上运行,而解释型语言则需要通过解释器来运行。
    特点:
    执行过程涉及CPU、内存、I/O设备等硬件资源的调度和管理。
    程序的执行效率受到多种因素的影响,包括编译器或解释器的性能、硬件资源的配置等。

基于AI的学习

  • 计划学习时间:1小时

  • 实际学习时间:1小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

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

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

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

相关文章

项目冲刺11.15

这个作业属于哪个课程 计科22级34班这个作业要求在哪里 作业要求这个作业的目标 进行为期七天的项目冲刺并记录前言 本篇博客是项目冲刺的第七篇,七篇博客的汇总如下:博客汇总第一篇博客第二篇博客第三篇博客第四篇博客第五篇博客第六篇博客第七篇博客团队简介队名 拖延是你不…

Latex 安装

使用的开发环境是 VSCode. Latex 在编译时需要用到宏包. 宏包到底是啥? 有啥作用? 从何处下载? Latex 软件的安装:texlive: 一次性下载所有的宏包. 磁盘需求较大, 约 7 ~ 8 G.miktex: 仅下载必要的宏包, 编译时补充下载宏包. 磁盘需求较小, 约几百 M.清华大学开源软件镜像站…

20222424 2024-2025-1 《网络与系统攻防技术》实验五实验报告

20222424 2024-2025-1 《网络与系统攻防技术》实验五实验报告 1.实验内容 (1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式 该域名对应IP地址 IP地址注册人及联系方式 IP地址所在国家、城市和具体地理位置 PS:…

Windows程序设计指南

Windows程序设计指南“到Petzold的书中找找”——仍然是解决Windows程式开发各种疑难杂症时的灵丹妙药。在第五版的《Windows程式开发设计指南》中,作者身为倍受敬重的WindowsPioneerAward(Windows开路先锋奖)得主,依据最新版本Windows作业系统,以可靠的取材资料校定这一本…

Windows高级调试

Windows高级调试中文版文档摘要: 本书《Windows高级调试》主要讲解Windows高级调试技术和工具,包括调试器简介、调试器揭密、符号文件与源文件的管理、栈内存破坏、堆内存破坏、安全、进程间通信、资源泄漏、同步、编写定制的调试扩展、64位调试、事后调试、Windows Vista基础…

iman——冲刺日志(第四天)

又一阉割版 团队成员分工与进度 📝👥组别 成员 完成的任务 完成任务所用时间 (小时) 剩余时间 (小时)前端 阿依娜孜 完成了行程概览地图中标记连线与探索功能的删除与添加。 3 2前端 郭剑敏 实现了地图标点的驾车路线绘制功能。 3 1前端 王梓铭 优化了主页与导航栏布局,提…

1.11--06:月度开销

http://noi.openjudge.cn/ch0111/06/月度开销题目传送门思路 给定连续N天的开销,需要将这些天分成M个财政周期,使得开销最多的财政周期的开销尽可能少。 首先,我们可以确定一个财政周期的长度l,即将N天平均分成M个财政周期。这样每个财政周期的长度就是N/M。 然后,我们需要…

SIM Jacker攻击分析

攻击者使用普通手机发送特殊构造的短信即可远程定位目标,危害较大。sim卡的使用在手机上的使用非常普遍,所以一旦SIM卡上出现什么问题就会造成非常大的影响。在19年的报告纰漏中,在全球估算共有10亿设备的sim卡容易遭受SIMJacker攻击,这篇也是比较浅显的对整个攻击进行分析…

shell动态修改yml配置实例

yq安装https://github.com/mikefarah/yq/tree/master每个yq版本支持的选项参数都不一样修改Dockerfile[root@instance base-tlog-test]# vi Dockerfile FROM 192.168.30.113/library/java:latest ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime &am…

『模拟赛』NOIP2024加赛5

Rank 反向挂分大王A. 暴力操作(opt) 签,但是没有人签。 都想到了二分和更新 c 值,但是 c 多多少少没更到最优。 首先还是调和级数预处理,倒序取 min。然后考虑到超过 \(m\) 的也有可能产生更小的代价,因此 \(\mathcal{O(n)}\) 枚举一遍找到最小的 \(j\) 使 \(i\times j\g…

[Moectf2024 ezMaze]

去壳 分析:迷宫分析10 * a2 - 10:Y (a1 - 1) / 8 :X 表示按字节处理迷宫迷宫以十六进制压缩,但迷宫是80 * 56的二进制迷宫 dump下来保存,转二进制,用bin(maze[2:]).zfill(8) 脚本(bfs): from collections import deque maze = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…

有理逼近AAA算法

用于有理逼近的AAA算法,可以有效防止伪极点现象用于有理逼近的AAA算法The AAA Algorithm for Rational Approximation, Yuji Nakatsukasa, Olivier Ste, and Lloyd N. Trefethen, SIAM Journal on Scientific Computing 2018 40:3, A1494-A1522, https://doi.org/10.1137/16M1…