软件构件化理论与技术
- 格式:doc
- 大小:47.00 KB
- 文档页数:3
29945嵌入式软件技术概论-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII高纲1450江苏省高等教育自学考试大纲29945 嵌入式软件技术概论南京航空航天大学编江苏省高等教育自学考试委员会办公室一、课程性质及其设置目的与要求(一)课程性质和特点《嵌入式软件技术概论》是高等教育自学考试计算机网络专业(独立本科段)考试计划规定必考的一门专业课。
通过本课程的学习,不仅使学生了解嵌入式计算机系统的基本概念和组织构成,并以ARM Cortex-M0+系列微处理器为基础掌握嵌入式计算机系统软件的开发方法,重点培养学生嵌入式计算机系统的软件开发能力。
(二)本课程的基本要求本课程共分为14章。
在对嵌入式计算机的学科基础、研究和应用领域以及ARM Cortex-M0+微处理器和KL25子系列微控制器进行简要介绍的基础上,重点阐述了如何基于KL25子系列微控制器开发一个相对完整的嵌入式系统的具体过程,以及嵌入式系统中所包含的基本接口及模块的编程方法,包括串行通信、中断、定时器、GPIO、FLASH、ADC、DAC、CMP、SPI、I2C、TSI、USB2.0、系统时钟及其它接口与模块。
通过对本书的学习,要求应考者对嵌入式计算机系统有一个全面和正确的了解。
具体应达到以下要求:1.了解嵌入式计算机系统的基本概念、发展过程、现状和发展趋势,嵌入式计算机系统的应用范畴,嵌入式计算机系统与通用计算机系统的区别与联系;2.理解并掌握嵌入式计算机系统的基本构成和基本原理;3.掌握基于KL25子系列微控制器的嵌入式计算机软件系统开发的方法以及对嵌入式计算机系统各基本接口及模块的开发编程方法。
(三)本课程与相关课程的联系嵌入式软件技术概论是一门综合性和应用性都比较强的课程,其内容涉及计算机相关专业的大部分专业课程,学习者需要具有一定的数字电路及编程基础,也要对计算机的一般组成有所了解。
第一讲新世纪软件技术面临的挑战新世纪开始了,我们的社会正在步入知识经济时代。
知识经济的特点在于创造价值的主要源泉已不再是依赖于资源、资本和人的简单劳动,而是依赖于人的智慧和科技的创新。
人类文明的发展史已充分地证明,科技的更新对生产力的发展起着决定性的作用,对于知识经济时代,此作用则应更加明显。
随着计算机和Internet的广泛普及和推广应用,计算机软件已成为信息时代社会的最重要的基础设施。
新世纪软件技术面临怎样的挑战,当今软件技术有何新的动向,它对软件产业的发展有何影响,会带来怎样的机遇,我们如何抓住这一机遇把我国的软件产业发展上去?这是我国软件业界同仁最近一直关心和思考的问题。
一.计算机软件是信息时代社会的最重要的基础设施我们先从1999年2月美国总统IT顾问委员会的一份报告[1]说起。
这是一个非常重要而且很有影响的报告。
报告列举了大量的事实论证IT技术对社会和国家以及人民生活的重要作用。
委员会建议美国政府加大对IT技术发展研究的投入。
在建议重点支持的四大项目中,把软件列在首位。
因为报告认为软件是信息时代社会的最重要的基础设施。
我们过去虽然也强调软件的重要,但从来还没有把它提到如此的高度。
看来我们需要对软件的重要性来一个再认识。
细想起来确实如此,我们现在的生活、工作、学习等各方面已经离不开计算机了,正如同我们的社会离不开水和电力一样。
而软件则是计算机工作的核心。
然而现实上,软件这个基础设施却显得相当脆弱和不可靠。
随着计算机和网络的普及软件变得越来越复杂,需求愈来愈多。
可是目前缺乏快速开发各种满足质量要求、安全、可靠的软件的合用技术,软件的生产能力远远满足不了飞速发展的实际需求。
因此可以这样说,新世纪软件技术遇到的最大挑战是寻找和开发新技术,大幅度地提高软件的质量和生产率,以满足软件飞速发展的需求。
如果把当前信息技术的新动向归纳一下,我认为可以概括为以下三点,即社会数字化、计算机网络化和软件构件化。
软件体系结构的研究及应用现状与未来发展方向XXX(湖北经济学院法商学院信息管理系,武汉430205)摘要:随着软件技术的发展,软件规模的扩大、软件开发周期的缩短、软件行业分工的细致、市场竞争的激烈,软件开发商必需要快速分析并实现软件产品。
当今,软件的淘汰速度是非常快的,软件设计问题也已经超越了数据结构和算法问题的范围,好的软件就应该拥有较好的扩展性、伸缩性、适应性、稳定性和重用性。
为了满足用户日新月异、千变万化的需求,好的软件就必需为变化而设计。
不断变化的需求、复杂的业务流程、领域知识的缺乏、许多不可避免的因素都会导致软件变化的发生,所以要确认软件中变化和不变的因素,进行分层处理。
软件架构技术的出现,极大地满足了多个应用领域的要求,使得各种技术形成的软件架构可以最大程度地进行重用。
同时引出了大规模软件开发所面临的一系列问题,如何建造面向对象的软件架构,并有效地组织和管理;如何分析、提取可复用的架构;如何设计适合架构的环境等。
软件架构设计方法能够使软件拥有很好的重用性,扩展性和简洁性。
软件架构虽脱胎于软件工程,但其形成的同时借鉴了计算机体系结构和网络体系结构中很多宝贵的思想和方法,最近几年软件架构研究已完全独立于软件工程的研究,成为计算机科学的一个最新的研究方向和独立学科分支。
研究软件架构根本目的就是解决好软件的重用、质量和维护问题。
关键字:软件架构设计; 软件开发; 研究软件架构; 软件工程The Research And Development Of Characteristics of Software ArchitectureXXX(Dept of Information Management ,College of Law and Business of Hubei University ofeconomics,wuhan430205)Abstract: With the development of The Technology Of Software, The expand of software size, the development cycle of software become shorten, the industry of software divide the work more and more meticulous, the market competition fiercer than before. The developer must develop their product at a high-speed. Nowadays the weed out of software become more faster, the problem of the project of software become more and more difficult. They must have good expansibility, flexibility, adaptability, stability and reuse. In order to satisfied the requirement given by the customer, the good one must be design for the changeable society. At the same time, their requirement change more difficult, more and more factor can led to the changeof software, so we should make sure the modification and invariant. Of course, the research of The Project of Software Architecture become a topic in great demand.Key words: The Project of Software Architecture; Software Development; The Research of Software Architecture; Software Engineering20世纪60年代,随着计算机在工业、商业、科研和国防等领域的广泛应用,计算机程序的规模愈来愈大,其复杂性也急剧增加,软件开发和维护过程遇到了一系列难以解决的严重问题,如软件价格高、难以控制开发进度、工作量估计困难、软件质量低、错误多、且修改和维护十分困难等等;针对这种所谓的“软件危机”现象,1968年在德国Garmish召开的NATO(北大西洋公约组织) 计算机科学会议上,F. Bauer首先提出“软件工程”概念,其目标是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术和方法结合起来,从而解决或缓解软件危机。
计算机应用技术专业硕士研究生培养方案(081203)一、培养目标培养适应我国社会主义现代化建设需要的,德、智、体全面发展的计算机应用技术专业高级人才。
要求硕士研究生:1、认真学习马列主义、毛泽东思想和邓小平理论,加强爱国主义、集体主义、社会主义教育,使硕士生具有较强的事业心和团结协作精神、勇于追求真理和献身社会主义现代化事业的敬业精神,积极为社会主义现代化建设服务的创新人才。
2、具有坚实的计算机科学与技术的理论基础,系统掌握计算机应用技术,并了解有关计算机软件与理论、计算机系统结构方面的专业知识;具有严谨求实的科学态度、较深的学术修养;具有从事科学研究或独立承担专门技术工作的能力,能胜任计算机应用技术的教学、科研、软件系统开发等工作。
3、熟练地掌握一门外国语,能阅读本专业的外文资料,毕业后能胜任与计算机应用技术相关的教学、科研院所、企业以及其他单位的科研与技术管理工作。
4、身心健康,吃苦耐劳,勤奋工作。
二、研究方向1、计算机软件与理论主要内容包括:软件理论和算法、软件工程方法与技术、软件工程理论、软件体系结构、构件化软件开发、嵌入式软件设计与开发、面向对象技术、软件自动化、软件测试、软件项目规划与过程管理等。
2、管理信息系统主要研究内容包括:信息系统架构与规划、电子政务、电子商务、电子农务(农业信息化)、数字旅游(旅游信息化)、现代物流、智能信息处理及海量信息管理等。
3、计算机网络及信息安全主要研究内容包括:网络管理技术、网络安全技术、宽带网技术、无线移动网络技术、无线传感器网络、移动自主网络、分布式系统、网络计算、嵌入式网络技术、密码技术、入侵检测、访问控制、信息隐藏与伪装等。
4、计算机图形学主要研究内容包括:游戏设计与开发技术、计算机仿真技术、虚拟现实技术、计算机动画设计技术、网络多媒体技术、计算机三维造型与可视化技术、计算机数字图像处理技术、图像压缩、图像数据传输、图像分割、图像识别、三维图像重建、数据融合技术等。
1、中间件的概念随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。
这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应孕而生。
比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。
中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能。
2、中间件特点及优势通常意义下,中间件应具有以下的一些特点:满足大量应用的需要;运行于多种硬件和OS平台;支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能;支持标准的协议;支持标准的接口。
程序员通过调用中间件提供的大量API,实现异构环境的通讯,从而屏蔽异构系统中复杂的操作系统和网络协议。
由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。
对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件软件管理着客户端程序和数据库或者早期应用软件之间的通讯。
中间件在分布式的客户和服务之间扮演着承上启下的角色,如事务管理、负载均衡以及基于Web的计算等。
利用这些技术有助于减轻应用软件开发者的负担,使他们利用现有的硬件设备、操作系统、网络、数据库管理系统以及对象模型创建分布式应用软件时更加得心应手。
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.【关键字】系统.cn软件系统可扩展性的研究杨凯北京邮电大学计算机科学与技术学院,北京(100876) E-mail:摘要:业务的飞速发展促使软件开发者必须通过开发具有良好可扩展性,易维护性的软件,迅速高效的满足用户不同的需求,本文对可扩展性理论进行了研究,并提出了一个可扩展性解决方案,以便指导具有良好可扩展性的软件开发。
关键词:软件系统可扩展性;解决方案;灵活性中图法分类号:TP3111.引言业务的飞速发展促使软件开发者必须通过开发具有良好可扩展性,易维护性的软件,迅速高效的满足用户不同的需求。
一般我们所希望的系统是这样的:当业务量较小的时候,可以用一个处理能力较小的系统来实现,既节省投资又满足需求;当业务量大时,又可以通过软件系统的扩展,提高处理能力,满足新的需求。
并且在原有系统的基础上能较容易的添加新的功能,并且尽可能小的影响原有系统。
因此有必要对可扩展性理论进行研究,以便指导具有良好可扩展性的软件开发。
开发具有良好可移植性,可扩展性,易维护的软件产品可以克服目前软件生产周期长,耗资大的困难[1]。
一般人们会觉得简单的系统比复杂的系统易于建造,易于维护,短小而且运行更快。
但实际上简洁性通常不是容易达到的目标,因为程序员倾向于在程序中支持可能在未来才会存在的需求,这就使得系统变得复杂化。
然而,因为觉得未来可能会发生什么变化而使代码变得复杂并不是一个好主意(无数开发人员的经验表明主观对未来的预测总是错的)[2]。
程序员需要这样来编写代码:使程序在未来易于添加新的特性或修改现有的特性,而不是现在就增加这些特性。
因此与其一开始就建造一个复杂的系统,不如考虑开发出一个具有高扩展性的系统。
2.可扩展性研究背景可扩展性是指软件扩展新功能的容易程度。
可扩展性越好,表示软件适应“变化”的能力越强。
可扩展性是由现代软件的商业模式决定的[3]:(1) 社会的商业越发达,需求变化就越快。