本报告基于计算机技术与软件专业技术资格(水平)考试大纲第24页内容撰写。该页面内容涵盖了考试科目一的收尾部分——企业信息资源管理、知识产权、软件开发新进展和计算机专业英语,以及考试科目二"软件设计"的核心内容——结构化分析与设计、面向对象分析与设计以及数据库应用分析与设计。本文将对这些知识模块进行全面深入的解析,帮助备考人员构建完整的知识体系。
一、企业信息资源管理基础知识
1.1 信息资源管理的概念
企业信息资源管理(Enterprise Information Resource Management, EIRM)是指企业对其信息资产进行规划、组织、控制和管理的过程。信息资源包括企业内部产生的数据和外部获取的信息,以及支持信息采集、存储、处理和利用的技术系统和管理制度。信息资源管理的目标是确保信息的准确性、及时性、完整性和可用性,最大限度地发挥信息在企业决策和运营中的价值。
1.2 信息资源的分类与特征
企业信息资源可分为结构化数据(数据库中的记录、表格数据)、半结构化数据(XML文档、日志文件)和非结构化数据(文档、图像、音频、视频)。信息资源的特征包括共享性(同一信息可被多个用户同时使用)、时效性(信息的价值随时间递减)、可复制性(信息可被无损耗复制)和增值性(信息经过加工处理后价值提升)。
1.3 信息资源管理的关键活动
企业信息资源管理的关键活动包括:
信息规划:根据企业战略目标制定信息资源的长期发展规划,明确信息资源的获取、使用和管理策略。
信息资产管理:建立信息资产目录,对信息资产进行分类、分级和生命周期管理,确保信息资产的安全和有效利用。
数据治理:建立数据标准、数据质量管理制度和数据安全策略,确保数据的规范性和可信度。
信息共享与交换:建立企业信息共享机制,打通信息孤岛,实现跨部门、跨系统的信息互联互通。
二、知识产权基础知识
2.1 保护知识产权有关的法律法规
知识产权是法律赋予权利人对其智力劳动成果享有的专有权利。软件领域涉及的知识产权保护主要包括:
著作权法:《中华人民共和国著作权法》明确将计算机软件列为受保护的作品类型。软件著作权自软件开发完成之日起产生,保护期限为作者终生及其死亡后50年。软件著作权的内容包括人身权(发表权、署名权、修改权)和财产权(复制权、发行权、出租权、信息网络传播权等)。
计算机软件保护条例:对计算机软件著作权的保护对象、权利归属、权利内容和侵权责任进行了专门规定。软件开发者、合作开发者、委托开发者、职务开发者和继受者的权利归属规则各有不同。
专利法:涉及计算机程序的发明创造可以申请发明专利。软件专利保护的是技术方案而非单纯的算法或逻辑规则,需要满足新颖性、创造性和实用性的要求。
商标法:软件产品的名称、标识和图标可以注册为商标,获得商标法的保护。注册商标的有效期为10年,可以续展。
反不正当竞争法:对软件商业秘密的保护提供了法律依据。商业秘密包括未公开的源代码、技术方案、客户信息和经营策略等。
2.2 知识产权侵权的法律责任
侵犯知识产权需要承担民事责任(停止侵害、消除影响、赔礼道歉、赔偿损失)、行政责任(责令停止侵权行为、没收违法所得、罚款)和刑事责任(情节严重的可构成侵犯著作权罪、侵犯商业秘密罪等)。在软件开发和运营过程中,应当尊重他人的知识产权,遵守开源协议,使用正版软件,避免非法复制、修改和传播受保护的软件作品。
三、软件开发新进展
3.1 软件开发新技术
软件开发领域持续涌现新技术和新方法,推动着软件工程实践的不断演进:
DevOps:通过整合开发(Development)和运维(Operations),实现软件的持续集成、持续交付和持续部署。DevOps强调自动化工具链、协作文化和快速反馈,显著缩短了软件交付周期。
容器化技术:以Docker为代表的容器技术将应用程序及其依赖打包为轻量级容器,实现了环境一致性和快速部署。Kubernetes作为容器编排平台,提供了自动化部署、扩展和管理的能力。
Serverless架构:将应用逻辑以函数为单位部署在云平台上,由云平台自动管理计算资源的分配和扩缩容。Serverless使开发人员能够专注于业务逻辑,无需关心底层基础设施。
低代码/无代码开发:通过可视化的拖拽式界面和配置化方式快速构建应用程序,降低了软件开发的技术门槛,加速了企业数字化转型。
3.2 云计算
云计算是一种通过网络按需提供可配置计算资源(网络、服务器、存储、应用和服务)的模式。云计算的服务模式包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。部署模式包括公有云、私有云、混合云和社区云。云计算的核心技术包括虚拟化、分布式存储、软件定义网络和服务编排。
3.3 大数据
大数据技术解决海量、多类型数据的采集、存储、处理和分析问题。大数据的关键技术包括分布式文件系统(HDFS)、分布式计算框架(MapReduce、Spark)、NoSQL数据库(HBase、Cassandra)、数据仓库(Hive)和数据流处理(Flink、Kafka Streams)。大数据的应用领域包括用户行为分析、精准营销、风险控制、智能推荐和预测分析等。
3.4 应用领域进展
软件技术的应用领域不断扩展,在以下方向取得了显著进展:
人工智能与机器学习:深度学习、自然语言处理和计算机视觉等技术在图像识别、语音交互、机器翻译和自动驾驶等领域实现了突破性应用。
区块链:去中心化、不可篡改的分布式账本技术,在数字货币、供应链溯源、数字身份和智能合约等领域具有广阔的应用前景。
物联网(IoT):通过传感器和网络连接物理世界与数字世界,在智慧城市、工业互联网、智能家居和车联网等领域加速落地。
边缘计算:将计算和数据存储能力下沉到网络边缘,降低网络延迟、节省带宽资源,满足实时性要求高的应用场景。
四、计算机专业英语
4.1 工程师所要求的英语阅读水平
作为软件工程师,英语阅读能力是必备的基本素质。需要具备以下英语能力:
英文技术文档阅读:能够阅读和理解英文版的技术规格说明、API文档、技术白皮书和标准规范。例如阅读RFC文档、IEEE论文、开源项目的README和Wiki文档。
专业术语掌握:熟悉计算机领域的常用英语术语和缩略语,包括操作系统术语(process、thread、scheduler、deadlock)、网络术语(protocol、router、firewall、encryption)、数据库术语(query、transaction、index、normalization)和编程语言术语(compiler、interpreter、polymorphism、inheritance)等。
学术论文阅读:具备阅读计算机领域英文学术论文的能力,了解论文的基本结构(摘要、引言、相关工作、方法、实验、结论)。
4.2 理解本领域的英语术语
软件工程领域的英语术语是国际技术交流的通用语言。掌握这些术语不仅有助于阅读技术资料,也是参加国际认证考试和进行跨国技术协作的基础。备考人员应当建立自己的专业英语词汇库,结合技术文章和项目实践加深理解。同时,英语表达能力同样重要,包括能够撰写英文技术邮件、参与英文技术讨论和编写英文注释文档等。
五、考试科目2:软件设计
5.1 结构化分析与设计
5.1.1 需求分析
需求分析是软件设计的第一阶段,目标是全面理解用户的功能需求和非功能需求。在结构化分析方法中,需求分析的核心工具包括:
数据流图(DFD):从数据传递和加工的角度描述系统的逻辑功能。DFD由外部实体(数据的来源和归宿)、加工(对数据的处理)、数据流(数据的流动方向)和数据存储(数据的持久化存储)四种基本元素组成。通过分层的数据流图(从顶层上下文图到详细的子图),可以逐步细化系统的功能描述。
数据字典:对DFD中出现的所有数据流、数据存储、加工和外部实体进行精确定义。数据字典的条目包括数据项的名称、别名、类型、长度、取值范围和结构说明,确保了分析结果的一致性和完整性。
加工逻辑:使用结构化语言(类自然语言)、判定表和判定树等工具描述DFD中每个加工的详细处理逻辑。结构化语言使用顺序、选择和循环三种基本结构来描述加工逻辑,兼具自然语言的易理解性和程序语言的规范性。
5.1.2 数据流图变换
结构化设计阶段需要将数据流图映射为软件结构图。根据数据流的特征,映射策略分为两种:
变换分析(变换流):适用于具有明显输入、加工和输出三个阶段的数据流。变换分析将数据流图映射为变换型结构图,包括输入模块、变换中心模块和输出模块三个部分。每个部分可以进一步分解为子模块。
事务分析(事务流):适用于数据流具有多个平行处理路径的情况。事务分析识别事务中心和事务路径,将数据流图映射为事务型结构图,包括事务获取模块、事务调度模块和多个事务处理模块。
在实际应用中,一个系统的数据流图可能同时包含变换流和事务流特征,需要综合运用两种映射策略。
5.2 面向对象分析与设计
5.2.1 统一建模语言(UML)
统一建模语言(Unified Modeling Language, UML)是面向对象系统分析和设计的标准化建模语言。UML提供了多种图形工具来描述系统的不同方面:
结构图:包括类图(描述类的结构及其关系)、对象图(描述某一时刻对象的状态)、组件图(描述系统组件的组织和依赖)和部署图(描述硬件节点和软件组件的物理部署)。
行为图:包括用例图(描述系统功能及其与外部参与者的交互)、活动图(描述工作流和业务流程)、状态图(描述对象的状态转换过程)和交互图(包括顺序图和通信图,描述对象之间的消息传递)。
实现图:包括包图(描述包及其依赖关系)和组合结构图(描述结构化类中各个部分的运行时交互)。
5.2.2 基于用例的需求描述
用例是面向对象需求分析的核心工具,描述系统与外部参与者之间的交互序列。一个用例代表系统的一项完整功能。用例模型由参与者(Actor)和用例(Use Case)组成,通过用例图展示参与者与用例之间的关系(关联、包含、扩展和泛化)。
用例描述是对用例执行过程的详细文本说明,包括前置条件、后置条件、基本流程(主成功场景)、备选流程和异常流程。好的用例描述应当清晰、完整、无歧义,能够指导后续的设计和测试工作。
5.2.3 软件建模
软件建模是对软件系统进行抽象描述的过程,目的是更好地理解系统的结构和行为。在面向对象设计阶段,需要建立以下模型:
静态模型:使用类图描述系统的静态结构,包括类的属性、操作和类之间的关系(关联、聚合、组合、依赖、继承、实现)。
动态模型:使用顺序图、通信图和活动图描述系统的动态行为,包括对象之间的消息传递、方法的调用序列和并发控制。
物理模型:使用组件图和部署图描述系统的物理组成和部署方案。
5.2.4 设计模式应用
设计模式是面向对象设计中常见问题的可复用解决方案。在软件设计师考试中,需要掌握以下设计模式的应用:
创建型模式:单例模式(保证类只有一个实例)、工厂方法模式(定义创建对象的接口,由子类决定实例化哪个类)、抽象工厂模式(创建相关或依赖对象的家族)。
结构型模式:适配器模式(使接口不兼容的类能够协作)、装饰器模式(动态地为对象添加功能)、代理模式(为其他对象提供代理以控制对该对象的访问)。
行为型模式:观察者模式(定义对象间的一对多依赖关系,当一个对象状态变化时自动通知所有依赖对象)、策略模式(定义算法家族并使其可以互换)、命令模式(将请求封装为对象,支持参数化和可撤销操作)。
5.3 数据库应用分析与设计
5.3.1 E-R模型
实体-联系模型(Entity-Relationship Model, E-R模型)是数据库概念设计阶段的核心工具。E-R模型使用实体(Entity)表示现实世界中的对象,使用属性(Attribute)描述实体的特征,使用联系(Relationship)表示实体之间的关联关系。
联系的类型包括一对一联系(1:1)、一对多联系(1:N)和多对多联系(M:N)。E-R图是E-R模型的图形化表示,使用矩形表示实体、椭圆形表示属性、菱形表示联系、线段连接相关元素。
5.3.2 设计关系模式
将E-R模型转换为关系模式(关系数据库的表结构)是逻辑设计阶段的核心任务。转换规则包括:
实体转换:每个实体对应一个关系模式,实体的属性对应关系的属性,实体的主键作为关系的主键。
联系转换:1:1联系可将其中一个实体的主键添加到另一个实体的关系模式中;1:N联系可将"一"方实体的主键添加到"多"方实体的关系模式中;M:N联系需要创建一个新的关系模式,包含两个实体的主键作为外键。
规范化处理:对转换得到的关系模式进行规范化处理,消除数据冗余和更新异常。通常要求达到第三范式(3NF)或BCNF。
5.3.3 数据库语言(SQL)
SQL是关系数据库的标准查询和操作语言。考试中要求考生熟练掌握:
数据定义:使用CREATE、ALTER和DROP语句创建、修改和删除表、视图、索引等数据库对象。
数据查询:使用SELECT语句进行数据检索,包括单表查询、多表连接(内连接、外连接、自连接)、子查询、分组统计(GROUP BY、HAVING)和排序(ORDER BY)。
数据操纵:使用INSERT、UPDATE和DELETE语句对数据进行增、删、改操作。
数据控制:使用GRANT和REVOKE语句管理用户对数据库对象的访问权限。
事务控制:使用BEGIN TRANSACTION、COMMIT和ROLLBACK语句管理事务,确保数据的一致性和完整性。
总结
本报告全面解析了企业信息资源管理、知识产权保护、软件开发新进展、计算机专业英语以及软件设计科目中的核心内容。企业信息资源管理和知识产权知识为软件从业人员提供了规范层面的指导;软件开发新进展反映了技术发展的前沿趋势;计算机专业英语是工程师走向国际化的必备技能;而软件设计科目(包括结构化分析设计、面向对象分析和设计、数据库应用设计)则构成了软件设计师的核心技术能力。备考人员应当将这些知识融会贯通,在理论学习的基础上注重实践应用,全面提升软件设计能力。