EagleBear2002 的博客

这里必须根绝一切犹豫,这里任何怯懦都无济于事

概念:域、笛卡尔积、关系、元组、属性、码。

候选码:若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码

主码:若一个关系有多个候选码,则选定其中一个为主码

主属性与非主属性候选码的诸属性称为主属性。不包含在任何侯选码中的属性称为非主属性或非码属性

数据库完整性

阅读全文 »

数据:数据库中存储的基本对象,是描述事物的符号记录。

数据的含义称为语义,数据与其语义是不可分的。

数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。

数据库系统的构成:数据库、数据库管理系统(DBMS,及其应用开发工具),应用程序,数据库管理员(DBA)。

数据管理方式

阅读全文 »

第一章-软件工程基础

软件工程的概念:

  1. 应用系统的、规范的、可量化的方法来开发、运行和维护软件,即将工程应用到软件。
  2. 对 1)各种方法的研究。

第二章-软件工程的发展

  1. 1950s:科学计算;以机器为中心进行编程;像生产硬件一样生产软件。
  2. 1960s:业务应用(批量数据处理和事务计算);软件不同于硬件;用软件工艺的方式生产软件。
  3. 1970s:结构化方法;瀑布模型;强调规则和纪律。它们奠定了软件工程的基础,是后续年代软件工程发展的支撑。
  4. 1980s:追求生产力最大化;现代结构化方法/面向对象编程广泛应用;重视过程的作用。
  5. 1990s:企业为中心的大规模软件系统开发;追求快速开发、可变更性和用户价值;web 应用出现
  6. 2000s:大规模 web 应用;大量面向大众的 web 产品;追求快速开发、可变更性、用户价值和创新。
阅读全文 »

本文档依据《中国近现代史纲要(2018 年版)》(高等教育出版社)、《中国近现代史纲要(2021 年版)》(高等教育出版社)、《中华人民共和国史》(人民出版社、高等教育出版社)、《从鸦片战争到五四运动》(胡绳著)等文献整理,多个来源互为补充,相左之处予以标明。

睡狮初醒:资本-帝国主义对华侵略

资本-帝国主义列强,对中国的侵略,首先和主要的是进行军事侵略。

鸦片战争

1840 年,英国发动了侵略中国的鸦片战争。中国历史的发展从此发生重大转折。

阅读全文 »

本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。

什么是软件交付

  1. 软件交付是软件项目的结束阶段,标志着软件开发任务的完成
  2. 软件交付是软件开发与软件维护两个既连续又不同的软件产品生存状态的分水岭。
  3. 只有做好软件交付工作,才是真正地完成整个项目。

安装与部署

  1. 需求阶段:考虑环境约束等
  2. 体系结构设计阶段:进行产品部署的设计决策,包括网络拓扑、库文件、动态链接库、配置文件等
    1. 32 位环境还是 64 位环境等问题
  3. 开发阶段:使用的支持软件也会影响到交付,可能要求客户安装特定支撑软件或者硬件
阅读全文 »

本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。

考试题

  1. 给出功能需求,设计功能测试用例
  2. 给出设计图,按要求写集成测试用例,Stub 和 Driver
  3. 给出方法的描述,按要求写单元测试用例,Mock Object
  4. Junit 基本用法

Bug 起源

第一个 Bug

阅读全文 »

本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。

设计易读的代码

  1. 维护的需要(维护的工作量已经超过了开发的工作量)
    1. 50%-90% 的维护时间在于阅读代码
  2. 团队协作的需要

代码规范

布局格式

阅读全文 »

本文主要内容来自 SpriCoder的博客,更换了更清晰的图片并对原文的疏漏做了补充和修正。

部分名词解释

  1. 测试驱动开发:测试驱动开发要求程序员在编写一段代码之前,优先完成该段代码的测试代码。并在编程中重复执行测试代码,以验证程序的正确性。
  2. 结对编程:两个程序员挨着坐在一起,共同协作进行软件构造活动。

什么是软件构造?

SWEBOK2004

阅读全文 »