铜仁市论坛

首页 » 分类 » 问答 » 架构设计的真谛系统与子系统模块与组件
TUhjnbcbe - 2021/4/29 18:29:00

-前言-

在软件研发这个领域,程序员的终极目标都是想成为一名合格的架构师。然而梦想很美好,但现实却很曲折。

在实际工作中,程序员会分很多种,有的擅长编码实现,有的擅长底层原理,有的擅长逻辑实现等等,在各自的领域都表现不俗、担当核心,然而,面临更高层架构设计时,很多优秀的程序员却折戟沙场,未能完成华丽转身。

架构的真谛是什么呢?架构真的如此难把控吗?难道真的只有天资聪慧、天赋异能的程序员才能驾驭架构吗?

不要气馁,平常心,其实人人都是架构师,可能你做的任一一件事已无形中用到了架构。

本篇文章将带您慢慢走进架构,揭秘架构的真谛。正如,架构不是神秘物,吸取真谛即了然。

-架构的背景-

如果想要深入理解某一事物的本质,最好的方式就是去追寻这个事物出现的历史背景和推动因素。所以我们先来梳理一下软件开发的进化史,探索一下软件架构出现的历史背景。

、机器语言

最早的软件开发使用的是“机器语言”,其直接使用二进制码0和来表示机器可以识别的指令和数据。

比如:为了完成“将寄存器BX的内容送到AX中”,机器语言如下:

面对上面的0的字符串,不用多说,程序员心里肯定会万马奔腾吧,更别说输入错误要去定位问题,求程序员的心里阴影面积?

归纳一下,机器语言的主要问题是三难:

太难写、太难读、太难改!

、汇编语言

为了解决机器语言编写、阅读、修改复杂的问题,汇编语言应运而生。汇编语言又叫“符号语言”,用助记符代替机器指令的操作码,用地址符号(Symbol)或标号(Labl),代替指令或操作数的地址。

比如:为了完成“将寄存器BX的内容送到AX中”,汇编语言如下:

movax,bx

相比机器语言来说,汇编语言就清晰得多了。汇编语言虽然解决了机器语言读写复杂的问题,但本质上还是面向机器的,因为写汇编语言需要我们精确了解计算机底层的知识。

面向机器的语言,带来的问题就是:

汇编语言需要针对不同CPU的汇编指令和结构,代码编写多份。

3、高级语言

为了解决汇编语言的问题,前辈们又设计出了一个“高级语言”。为什么会叫“高级语言”呢?原因在于这些语言让程序员不需要

TUhjnbcbe - 2021/4/29 18:29:00
一、考试说明1.考试目标

通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集测试,开发出符合系统总体设计要求的高质量软件,具有工程师的实际工作能力和业务水平。

2.考试要求

(1)掌握计算机内的数据表示、算术和逻辑运算方法;(2)掌握相关的应用数学及离散数学基础知识;(3)掌握计算机体系结构以及各主要部件的性能和基本工作原理;(4)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;(5)熟练掌握常用数据结构和常用算法;(6)熟悉数据库、网络和多媒体的基础知识;(7)掌握C程序设计语言,以及C++、Java中的一种程序设计语言;(8)熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;(9)掌握软件设计的方法和技术;(10)了解信息化、常用信息技术标准、安全性,以及有关法律、法规的基础知识;(11)正确阅读和理解计算领域的英文资料。

3.考试科目

(1)计算机与软件工程知识,考试时间为分钟,笔试,选择题;(2)软件设计,考试时间为分钟,笔试,问答题。

二、考试范围考试科目1:计算机与软件工程知识1.计算机科学基础知识1.1数制及其转换

二进制、八进制、十进制和十六进制等常用数制及其相互转换

1.2计算机内数据的表示

数的表示(补码表示,整数和实数的表示,精度和溢出)

非数值表示(字符和汉字表示,声音表示、图像表示)

1.3算术运算和逻辑运算

计算机中的二进制数运算方法

逻辑代数的基本运算

1.4其他数学基础知识

常用数值计算

排列组合,概率论应用,应用统计(数据的统计分析)

编码基础

命题逻辑、谓词逻辑、形式逻辑的基础知识

运筹基本方法

2.计算机系统知识2.1计算机硬件基础知识2.1.1计算机系统的组成、体系结构分类及特性

CPU、存储器的组成、性能和基本工作原理

常用I/O设备、通信设备的性能以及基本工作原理

I/O接口的功能、类型和特性

CISC/RISC,流水线操作,多处理机,并行处理

2.1.2存储系统

虚拟存储器基本工作原理,多级存储体系

RAID类型和特性

2.1.3可靠性与系统性能评测基础知识

诊断与容错

系统可靠性分析评价

计算机系统性能评测方法

2.2计算机软件知识2.2.1数据结与算法知识

数组

链表

队列、栈

的定义、存储和基本操作

杂凑(Hash表)

常用的排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法

算法描述和分析

2.2.2操作系统知识

操作系统的内核

处理机管理

存储管理

设备管理

文件管理

作业管理

网络操作系统和嵌入式操作系统基础知识

操作系统的配置

2.2.3程序设计语言和语言处理程序知识

汇编、编译、解释系统的基础知识和基本工作原理

程序设计语言的基本成分(数据、运算、控制和传输),程序调用的实现机制

各类程序设计语言的主要特点和适用情况

2.2.4数据库知识

数据库模型(概念模式、外模式、内模式)

数据模型,ER,规范化

数据操作

数据库语言

数据库管理系统的功能和特征

数据库的控制功能

数据仓库和分布式数据库基础知识

2.3计算机网络知识

网络体系结构

传输介质,传输技术,传输方法,传输控制

常用网络设备和各类通信设备的特点

Client-Server结构,Browser-Server结构

LAN(拓扑,存取控制,组网,网间互连)

Internet和Intranet基础知识以及应用

网络软件

网络管理,网络性能分析

2.4多媒体基础知识

多媒体系统基础知识

简单图形的绘制,图像文件的处理方法

音频和视频信息的应用

多媒体应用开发过程

3.系统开发和运行知识3.1软件工程知识

软件生存周期与软件生存周期模型

软件开发方法

软件开发项目管理

软件开发工具与软件开发环境

3.2系统分析基础知识

系统分析的主要步骤

机构化分析方法

3.3系统设计基础知识

概要设计与详细设计的基本任务

系统设计的基本原理

系统模块结构设计

结构化设计方法

面向数据结构的设计方法

系统详细设计

3.4系统实施基础知识

系统实施的基本内容

程序设计方法

程序设计的基本模块

系统测试

系统转换

3.5系统运行和维护基础知识

系统可维护性的概念

系统维护的类型

系统评价的概念和类型

3.6软件质量管理基础知识

软件质量特性(ISO/IEC软件质量模型)

软件质量保证

软件复杂性的概念及度量方法(McCabe度量法)

软件评审(设计质量评审、程序质量评审)

软件容错技术

3.7软件过程改进基础知识

软件能力成熟度模型CMM

统一过程(UP)与极限编程(XP)的基本概念

4.面向对象基础知识

面向对象的基本概念

面向对象分析与设计知识

分析模式与设计模式知识

面向对象程序设计知识

面向对象数据库、分布式对象基础知识

5.信息安全知识

信息系统安全基础知识

信息系统安全管理

保障完整性与可用性的指施

加密与解密机制基础知识

风险管理(风险分析、风险类型、抗风险措施和内部控制)

计算机安全相关的法律、法规基础知识

6.标准化、信息化和知识产权基础知识6.1标准化基础知识

标准化意识,标准化组织机,标准的内容、分类、代号与编号规定,标准制订过程

国际标准、国家标准、行业标准、企业标准

代码标准、文件格式标准、安全标准、互联网相关标准、软件开发规范和文档标准、基于构件的软件标准

6.2信息化基础知识

全球信息化趋势、国家信息化战略、企业信息化战略和策略

互联网相关的法律、法规

个人信息保护规则

远程教育、电子商务、电子*务等基础知识

企业信息源管理基础知识

6.3知识产权基础知识

保护知识产权有关的法律、法规

7.计算机专业英语

具有工程师所要求的英语阅读水平

理解本领域的英语术语

考试科目2:软件设计1.外部设计1.1理解系统需求说明1.2准备进行系统开发

选择开发方法、准备开发环境、制订开发计划

1.3设计系统功能

选择系统结构

设计各子系统的功能和接口

设计安全性策略、需求和实现方法

制订详细的工作流和数据流

1.4设计数据模型

设计ER模型及其他数据模型

1.5编写外部设计文档

系统配置图、各子系统关系图

系统流程图、系统功能说明书

输入输出规格说明、数据规格说明、用户手册框架

设计系统测试要求

1.6外部设计的评审2.内部设计2.1设计软件结构

按构件分解,确定构件功能、规格以及构件之间的接口

数据结构与算法设计

采用中间件和工具

2.2设计输入输出2.3设计物理数据2.4构件的创建和重用

创建构件、重用构件

使用子程序库或类库

2.5编写内部设计文档

构件划分图、构件间的接口图、构件处理说明

屏幕界面设计文档、报表设计文档、文件设计文档、数据库设计文档

2.6内部设计的评审3.数据库应用分析与设计

设计关系模式

数据库语言(SQL)

数据库访间

4.程序设计4.1模块划分4.2编写程序设计文档4.3程序设计评审5.系统实施5.1配置计算机系统及环境5.2选择合适的程序设计语言5.3用C程序设计语言以及C++、Java中的任一种程序设计语言进行程序设计5.4系统测试

指导程序员进行模块测试,并进行验收

准备系统集成测试环境和测试工具

准备测试数据

写出测试报告

6.软件工程应用6.1软件开发周期模型6.2需求分析6.3软件设计

软件设计的基本原则

软件设计方法

程序设计(结构化程序设计、面向对象程序设计〕

6.4软件测试的原则与方法6.5软件质量(软件质量特性、软件质量控制)6.6软件过程评估基本方法、软件能力成熟度评估基本方法6.7软件开发环境和开发工具6.8面向对象技术

面向构件技术

统一建模语言(UML)

软件过程改进模型和方法

6.9网络环境软件技术预览时标签不可点收录于话题#个上一篇下一篇
TUhjnbcbe - 2021/4/29 18:29:00

我校年普通专升本自命题专业综合课考试大纲已更新至学校招生信息网,请各位考生自行前往下载,及时做好复习!

温馨提示

请考生自行购买年普通专升本自命题专业综合课指定参考书,购买时请注意参考书的版本、出版社以及出版时间。

互联网金融

证券投资学

《证券投资学》(第5版),吴晓求主编,中国人民大学出版社,.2。

物流管理

物流学概论

《物流学概论》(第4版),周启蕾、许笑平编著,清华大学出版社,.6。

旅游管理、酒店管理

旅游学概论

《旅游学概论》(第3版),吴必虎、*潇婷等编著,中国人民大学出版社,。

审计学

审计学基础

《审计》(精编版)(第3版),刘明辉、史德刚主编,东北财经大学出版社,。

德语

德语阅读

《德语中级阅读教程》,吴江编著,外语教学与研究出版社,。

基础德语

《当代大学德语(2)》(学生用书),梁敏、聂黎曦主编,外语教学与研究出版社,。

基础德语

《当代大学德语(3)》(学生用书),梁敏、聂黎曦主编,外语教学与研究出版社,。

数据科学与大数据技术(华为创新班)、智能科学与技术(华为创新班)

程序设计基础

《C语言程序设计》(第3版),何钦铭、颜晖主编,高等教育出版社,。

程序设计基础

《数据结构(C语言版)》(第2版),严蔚敏、李冬梅、吴伟民编著,人民邮电出版社,。

数字媒体艺术

分镜头故事板

绘制

《动画分镜头脚本设计》(升级版),殷俊编著,上海人民美术出版社,.6。

国际商务(中英双语创新班)

国际商务基础

《国际商务》(第二版),韩玉*编著,中国人民大学出版社,。

广州商学院年

普通专升本招生专业目录

注:1.招生专业、计划数及收费标准等,以广东省教育考试院核定发布为准。

2.具体考试科目考试办法以省教育考试院最新文件为准。

需要咨询专插本专升本的同学可以进插本学习咨询群提问哦

群里有上岸的师兄师姐可以提供咨询

有任何疑问都可以直接提问

不定时分享学习方法和学习资料

(进了1-7群的同学不要重复进8群了哦)

????

有疑问点击“写留言”哦!记得点再看鸭!预览时标签不可点收录于话题#个上一篇下一篇
1
查看完整版本: 架构设计的真谛系统与子系统模块与组件