当前位置:文档之家› 软件技术特点

软件技术特点

软件技术特点
软件技术特点

软件技术特点

本系统分为BS和CS两部分

一、BS采用J2EE+WEBLogic+ SQLServer模式编写。

,一,J2EE的特点:

J2EE是专门为WEB应用开发而诞生的一种语言, J2EE以“一次编译,处处运行”的神奇魅力和强大的安全技术支持,很快成为WEB信息系统开发的首选语言。目前J2EE的应用大部份都是多层结构的, 良好的分层可以带来很多好处,例如可以使得代码结构清晰,可以快速适应应用的新需求。同时,J2EE还提供了强大的安全技术(例如:JCA、HTTPS、JSSA等)。对于电子商务系统而言,系统平台的安全性和效率是其中的核心问题,而这些正好是J2EE及其相关技术的强项。因为J2EE 在服务器应用,特别是电子商务、企业应用领域具有更广泛的应用,其稳定与可靠也被市场所证明,并且具有跨平台的优势。

JSP是BS结构程序开发的一个利器。由于他的脚本语言是J2EE,所以继承了J2EE诸多优点。运行速度、跨平台性、扩展性、安全性、稳定性、函数支持、厂商支持、对XML的支持等等, JSP都是WEB编程语言中最好的。COM组件的复杂性实编程实现有一定的难度。而JavaBeans和J2EE的结合却是天衣无缝的。

,二,JSP的特点:

1. JSP的脚本语言J2EE也是面向对象的、分布式的、解释的语

言。

2. JSP有一项全新的技术――Servlet,服务器端程序,很好的节

约了服务器资源。

3. 再有就是J2EE的JDBC数据库连接技术。

4. JSP能定制标签库,所以对XML同样有十分广泛的支持。

5. 安全性上因为JSP用J2EE语言作服务器语言, J2EE最大优点

之一就是安全, J2EE也把这种特点带到JSP上。 6. JSP跨平台的可重用性。

,三,SQLServer的特点:

1,Internet 集成。SQLServer数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能。

2. 可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。

3,企业级数据库功能。SQLServer关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQLServer分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQLServer数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。

4. 易于安装、部署和使用。SQL Server中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功

能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。

5. 强壮的事务处理功能,采用各种方法保证数据的完整性。

SQLServer是由微软开发的数据库管理系统,是WEB上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。

SQLServer 提供了众多的WEB和电子商务功能,如对XML和Internet标准的丰富支持,通过WEB对数据进行轻松安全的访问,具有强大的、灵活的、基于WEB 的和安全的应用程序管理等。而且,由于其易操作性及其友好的操作界面,深受广大用户的喜爱。

,四,常用WEB页面编写语言比较

Jsp php Asp 操作系统所有平台多种平台 Windows 运行效率高中低稳定性高一般一般安全性高一般一般多层结构是否是应用方向偏重政府、银行、偏重企业级应偏重企业级应

电信等要求高可靠用用

性、高安全性、大

数据量的应用

平台支持公Sun 业余开发者微软司

二、CS采用PowerBuilder+ SQLServer模式编写。

PowerBuilder语言的特点:

1. 可重复使用。可在不同的应用程序间共享,

2. 性能提升。将计算机负担从客户机转至服务器,开发者可充分利

用计算资源,使应用程序的执行达到最佳状态,由此获得更好的

性能,

3. 易于管理。可将大型、复杂的应用程序划分为易于管理的模块,

4. 易于维护。由于组件集中,便于重复使用,适应商业需求的变化。

5. 企业数据库的连接能力,PowerBuilder的主要特色是DataWindow,

通过DataWindow可以方便地对数据库进行各种操作,也可以

处理各种报表,而无需编写SQL语句,可以直接与Sybase、

SQLServer、Informix、Oracle等大型数据库连接。 6. 强大的查询、报表和图形功能。PowerBuilder提供的可视化查

询生成器和多个表的快速选择器可以建立查询对象,并把查询

结果作为各种报表的数据来源。

经典案例:山东干部学习网

案例介绍

山东干部学习网采取“门户网站 + 学习平台,省市一体、互联互通”的构架方式,以学分制管理为主线,实现网上“教、学、管、考”等功能。

1、门户网站。所有人员可以任意登陆浏览。

主要开设“首页、通知公告、干教资讯、重要精神、政策法规、在线答疑、热点链接”等模块。

2、在线学习平台。已经注册的干部,凭用户名、密码或采取密钥方式,山东CA 数字认证,登陆学习。

在线学习平台提供了“学习超市、视频播报、最新课程、宏观决策信息、数字图书馆”等栏目,学员可以进行自主学习、自主考试、自主管理,查询资料、查阅本人参训档案等。

在全省干部共享学习平台课件的基础上,为各市单独开辟“地市专区”,供各市干部进入相对独立空间,学习、了解当地中心工作和任务。

3、互动交流平台。已经注册的学员可进入“交流天地”进行网上互动交流,根据干部不同级别,分别设置省部级领导干部论坛、市厅级领导干部论坛、县市区委书记论坛、处级公务员论坛、中青年后备干部论坛等。

4、后台管理平台。按照“上下联动、分级维护、分级管理”的原则,各级管理员凭管理用户名和密码登陆后台管理平台,按照职责进行相应管理和数据维护。

,1,人员管理模块。按照干部管理权限,实现各级干部所属区域、部门,单位,、处室、职务、职级等基本信息的日常维护、学员学习分区调整。

,2,培训档案模块。主要采集干部脱产培训、在线学习、在职学历学位教育、发表理论文章,著作,、党委,党组,中心组学习等方面培训信息,生成干部参训档案。

按照“谁主办、谁负责,谁调员、谁维护”原则,干部脱产培训信息经各级组织部门审核把关后,由各级党校、行政院校,各培训基地负责所主办培训班次学员参训信息的维护,其他机构组织的脱产培训和干部参加在职学历学位教育、发表理论著作等档案信息由各级组织部门定期组织,指导有关部门,单位,进行维护,省、市、县各级党委,党组,中心组学习信息,由各级组织部门进行维护。

3,课程管理模块。根据需要可以增加、删除、修改课程,实,

时查看每门课程的点击情况,进行课程满意度调查,生成课程点击排行榜,实时查看每门课程的考试情况,及时调整试题内容等。

,4,统计查询模块。随时查询每名干部参加各类培训情况,统计汇总大规模培训干部任务完成情况,实现按职级、性别、地域、时间段自动统计各级、各类培训期数、参训人数,为各级调员,干部奖惩、考核,职称评聘等提供依据。

,5,集群短信模块。根据工作需要,及时向各级网络管理员下发各类通知。

嵌入式系统概论_第七章

四系统行为描述(计算)模型

计算模型(Computation Model) 概述 时序程序模型 有限状态机(FSM) 并发进程模型 数据流模型 流程图 小结

计算模型-概述(1) 计算模型(computation Model)描述系统的处理行为(过程)的方法 模型作用 帮助设计者理解和描述系统行为 减少系统缺陷(bug) Most system bugs come from mistakes made describing the desired behavior rather than from mistakes in implementing that behavior.

计算模型-概述(2) 描述嵌入式系统的模型 时序程序模型(sequential program model) 提供一组语句、语句排列的规则 说明语句如何以一次一条的方式执行 表现为程序伪码 状态机模型(State machine model) 提供系统状态及状态之间转换的条件和方式 常用于以控制为主的系统 主要行为包括监视控制输入、设置控制输出来相 应

计算模型-概述(3) 描述嵌入式系统的模型(续) 并发进程模型(parallel process model) 描述多个进程执行的时序,以及进程之间的通讯过程。 适用于多进程系统 数据流(dataflow model) 描述过程中数据流动的路径 常用于以数据为主的系统 主要行为将输入数据流转换为输出数据流 面向对象模型(Object-oriented model) 将复杂的软件分为简单而确定的片断

嵌入式软件开发技术 习题集

嵌入式软件技术概论习题集 一单项选择题 1. 世界上第一台计算机研制成功的年代是( C ) Α.1944年B.1945年C.1946年D.1947年2. 十进制数235,用二进制表达为( A ) Α.11101011 B.11101010 C.11101001 D.11101110 3. ARM采用定长指令格式,所有指令都是32位,Bit[31:28]为( B ) Α.目标寄存器编码B.条件执行C.指令操作符编码D.永远是0 4. 8080处理器是(C ) Α.32位处理器B.16位处理器C.8位处理器D.4位处理器5. 把微处理器与外部设备相连接的线路称为(D ) Α.电源线B.控制线C.数据线D.总线 6. 嵌入式软件开发构建阶段的第一步是( A ) Α.编译B.链接C.定址D.打包 7. 以下有关进程和程序的说法错误的是( D ) Α.进程是动态的B.程序是静态的 C.一个程序可以对应多个进程D.程序就是进程 8. 微软开发的嵌入式操作系统是( C ) Α.RT-Linux B.MontaVista C.Windows CE D.VxWorks 9. ROM监视器是一个小程序,驻留在嵌入式系统的( B ) Α.RAM中B.ROM中C.Flash中D.DOM中10.直接存储器存取的英文缩写是( A ) Α.DMA B.DRAM C.ISA D.IRQ 11. 以下不是嵌入式系统应用领域的是( C ) Α.移动电话B.汽车电子C.办公系统D.军工航天12. 十进制数235,用八进制表达为( C ) Α.351 B.352 C.353 D.354 13. ARM采用定长指令格式,所有指令都是32位,Bit[27:26]为(C ) Α.目标寄存器编码B.指令操作符编码C.永远是0 D.条件执行14. 80286处理器是(B ) Α.32位处理器B.16位处理器C.8位处理器D.4位处理器15. 厂家和用户为性能扩充或作为特殊要求使用的信号线称为( A ) Α.备用线B.控制线C.数据线D.总线16. 嵌入式软件开发构建阶段的第二步是( B ) Α.编译B.链接C.定址D.打包17. 以下有关进程和程序的说法错误的是(B ) Α.进程是动态的B.一个进程可以对应多个程序 C.一个程序可以对应多个进程D.程序不是进程 18. WindRiver公司开发的嵌入式操作系统是( A ) Α.VxWorks B.MontaVista C.Windows CE D.RT-Linux 19. GDB中,用来设置断点的命令是( D ) Α.kill B.next C.make D.break 20.1Byte等于( D ) Α.1024KB B.1024KM C.1024GB D.8bit 21. 以下不是嵌入式系统应用领域的是( A ) Α.电子商务B.移动电话C.消费类电子产品D.军工航天

什么是嵌入式软件开发嵌入式系统软件开发所需要学习那些知识_百(精)

什么是嵌入式软件开发?嵌入式系统软件开发所需要学习那些知识? 随着智能化和信息化网络化的不断发展,嵌入式技能已经日趋成为一种新时代新技术革命的关键。对于嵌入式系统和嵌入式软件开发人员来说,这份职业无疑是种高端应用技术的结合。是一个很有前景的职业。 嵌入式趋势来势汹涌,目前为止已经被很多企业所应用,对于这方面人才的需求更是倍感吃紧。关于嵌入式具体应用不做详细的解说,在这里有必要强调一下,嵌入式软件开发是含义,和要想在嵌入式软件开发中取得不菲的成绩所需掌握那些最基础的知识。 嵌入式技术执行专用功能并被内部计算机控制的设备或者系统。嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,嵌入式技术及应用是计算机应用技术的新发展,具有广泛的应用领域和发展前景,就业形势看好。 嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑,笼统地来说,嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 这么多的应用可见嵌入式系统的前景和人才需求是相当大的,在最近几年中关于这一类的培训也层出不穷,所涉及到的课程和知识点相对来说还是有点差异的,在深圳达内福田培训中心网站上看到了关于嵌入式系统软件开发所需要掌握的几大知识点,感觉划分的很细致。 主要包含以下8个核心部分 1.Linux操作系统核心

第一章计算机软件技术概述(精)

第一章计算机软件技术概述 ?了解以下知名公司的发展历史,掌握公司业务范围及主流产品的应用 领域 Microsoft、Apple、IBM、Oracle(Sun、 Google、Adobe、Amazon、Symbian 1.1 软件的组成要素 1.2 软件技术的组成体系 1.3 软件的主要属性与特点 1.4 软件的工作与存储空间 1.1 软件的组成要素 ?引子:使用计算机就是使用软件,我们会用到许多感兴趣的应用软件, 而应用软件还需要一个“看不见的引擎”的支撑和驱动。我们不能真正看到或触摸这个“引擎”—也称软件平台,但在现代产品中它却无处不在,有的甚至家喻户晓 1、软件(Software的三要素 ?计算机软件:程序、数据及相关文档组成 ?文档(Document:指软件开发、维护和使用相关的图文资料,包括对软件程序和数据的描述等 2、软件与程序 ?软件的组成中,程序和数据是主体,核心是程序。有时软件和程序可

以相互替换使用,并不严格区分,也有称软件程序 ?但要了解,两者区别是很明显 ?程序侧重描述软件实现的指令代码,并且源程序中的代码通常是可以 阅读的,但是不能被计算机直接执行,而可执行程序的代码通常是无法被阅读的,但可以提交计算机执行。从这个角度,我们所购买的软件只是程序的可执行版本而不是(软件的源代码 ?软件包含程序,其内涵与外延更广泛 ?计算机系统由软件与硬件组成。硬件(Hardware作为有形、可触摸 的物理设备构成一个“裸机”,须加载软件(即装入程序才能构成可以运行和发挥功用的计算机系统以服务于用户 ?计算机软硬件协同工作、相互支持、相互制约,推动着计算机应用的 发展 1.2 软件技术的组成体系 ?计算机软件技术是与软件开发及软件使用相关的理论和技术的总称。 软件使用体现软件在各行各业的具体应用 ?从学科角度,软件技术体系非常丰富、广泛,可概括为软件理论、软 件系统及软件开发三大组成部分 ?软件系统由系统软件、支撑软件及应用软件组成,涉及软件整体含义 的内容组成,不同软件根据其作用按不同的层次环绕硬件。上述也是一种常用软件分类方法

软件系统需求说明书

专 组号:小组成员: 完成时间:

目录 1.系统概述 (3) 1.1. 系统功能简介 (3) 1.2 系统用户角色 (3) 2.理由 (3) 3.项目范围 (3) 4.系统假设 (3) 5.系统定义 (4) 6.用户场景 (5) 7.用户用例 (5) 7.1 用户用例步骤 (5) 7.2系统需求 (9) 7.2.1 功能需求 (9) 7.2.2 非功能需求 (12) 8.文档历史 (14)

1.系统概述 1.1. 系统功能简介 教务处工作人员根据设置的用户名和密码,登录到学生信息管理系统,并对学生提交的信息修改进行审核,,系统优先级高; 档案管理员添加、查看、删除、修改学生的基本信息, 系统优先级高; 老师查看自己所管班级的学生的信息, 系统优先级高; 学生修改、查看自己的某些信息, 系统优先级高; 1.2 系统用户角色 2.理由 由于现在的学校规模在逐渐的扩大,设置的专业类别、分支机构及老师、学生人数越来越多,对于过去的学生信息管理系统,不能满足当前学生信息管理的服务性能要求。本报告对于开发新的<<学生信息管理系统>>面临的问题及解决方案进行初步的设计与合理的安排,对用户需求进行了全面细致的分析,更清晰的理解学生信息管理系统业务需求,深入描述软件的功能和性能与界面,确定该软件设计的限制和定义软件的其他有效性需求,对开发计划进行了总体的规划确定开发的需求与面临困难的可行性分析。 3.项目范围 学生信息管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序具有功能完备,易使用等特点。学生信息管理系统对全校学生实行统一的管理,可以方便的进行增添、查询、修改、删除学生信息的工作。为了使本系统成功达到用户的要求,需要在2012.12.28之前完成本系统的开发测试,并写提交相关的技术文档。通过与用户的沟通,及时获得用户的最新需求以便于本系统的完善。 4.系统假设 本项目的开发时间为2012.9.9—2012.12.28 开发人员人数:3人 技术文档写作人员人数3人

29945嵌入式软件技术概论

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子系列微控制器的嵌入式计算机软件系统开发的方法以及对嵌入式计算机系统各基本接口及模块的开发编程方法。 (三)本课程与相关课程的联系 嵌入式软件技术概论是一门综合性和应用性都比较强的课程,其内容涉及计算机相关专业的大部分专业课程,学习者需要具有一定的数字电路及编程基础,也要对计算机的一般组成有所了解。因此,本课程的前修课程应至少包含《数字电路》、《程序设计语言》(以C语言为主)以及《计算机组成原理》,这些课程可以帮助学生很好的理解嵌入式计算机系统的硬件结构及尽快掌握嵌入式计算机系统的软件编程方法。 二、课程内容与考核目标 第1章概述

软件系统详细设计说明书模板

xxxxx系统详细设计说明书

版本历史

修改记录

目录 1引言 (5) 1.1编写目的 (5) 1.2背景 (5) 1.3参考资料 (5) 1.4术语定义及说明 (5) 2设计概述 (5) 2.1任务和目标 (5) 2.1.1需求概述 (5) 2.1.2运行环境概述 (5) 2.1.3条件与限制 (6) 2.1.4详细设计方法和工具 (6) 3系统详细需求分析 (6) 3.1详细需求分析 (6) 3.2详细系统运行环境及限制条件分析接口需求分析 (6) 4总体方案确认 (6) 4.1系统总体结构确认 (6) 4.2系统详细界面划分 (7) 4.2.1应用系统与支撑系统的详细界面划分 (7) 4.2.2系统内部详细界面划分 (7) 5系统详细设计 (7) 5.1系统程序代码架构设计 (7) 5.1.1UI(User Interface)用户界面表示层 (7) 5.1.2BLL(Business Logic Layer)业务逻辑层 (8) 5.1.3DAL(Data Access Layer)数据访问层 (8) 5.1.4Common类库 (8) 5.1.5Entity Class实体类 (8) 5.2系统结构设计及子系统划分 (8) 5.3系统功能模块详细设计 (9) 5.3.1XX子系统 (9) .1XX模块 (9) 列表和分页 (9) 创建XX (9) .2XX模块 (9) XX列表 (9) XX修改 (9) 5.3.2XX子系统 (9) 5.3.6.1用户管理模块 (9) 5.3.6.2角色管理模块 (14) 5.3.6.3系统设置模块 (14) 5.3.6.4系统登录注销模块 (14) 5.4系统界面详细设计 (14) 5.4.1外部界面设计 (14) 5.4.2内部界面设计 (14) 5.4.3用户界面设计 (14) 6数据库系统设计 (14) 6.1设计要求 (14) 6.2信息模型设计 (14) 6.3数据库设计 (14) 6.3.1设计依据 (14)

嵌入式系统概论讲解

第一章嵌入式系统概论 参考习题 1、嵌入式系统本质上是什么系统? 答:从本质上讲,嵌入式系统中的计算机总是处于一种实时计算模式,也可以认为嵌入式计算机应具有某种实时性。也就是说,从嵌入式系统的广义概念考虑,嵌入式系统都可以看成是实时系统。 2、嵌入式系统开发与PC机软件开发的区别是什么? 答:嵌入式开发就是设计特定功能的计算机系统,形象的说就是开发一种嵌入在一个机器上实现特定功能的一个系统。PC的开发往往是上层应用程序,会更多的和业务流程,数据库,UI打交道。嵌入式的开发主要是和底层打交道,例如内存,NAND, 各种控制器,中断调度等等。当然现在也有很多需要在嵌入式设备上开发上层应用程序的需求了。 3、嵌入式系统基本概念? 答:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的专用系统。这类系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统(可选择)以及应用程序等四个部分组成的。 4、嵌入式系统分类?

答:(1)按微处理器位数划分 按所采用的处理器位数,可以分为4位、8位、16位、32位和64位系统。 (2)按应用类别划分 可以简单地划分为信息家电、通信、汽车电子、航空航天、移动设备、军用电子、工业控制、环境监控等各种类型。 (3)按系统的实时性划分 硬实时系统、软实时系统和自适应实时。 (4)按工业界应用的复杂程度划分 简单单处理器系统 可扩展单处理器系统 复杂嵌入式系统 制造或过程控制中使用的计算机系统 第二章ARM嵌入式微处理器技术基础 参考习题 1、ARM32位指令、16位指令的特点。 答:ARM微处理器支持32位的ARM指令集和16位Thumb指令集,每种指令集各有自己的优点和缺点:ARM指令集效率高,但代码密度低;Thumb指令集具有较高的代码密度,却仍保持ARM的大多数性能上的优势,可看做ARM指令集的子集。

概述软件的技术方案设计.doc

软件开发技术方案 Xxxx有限公司2018年6月13日

1.开发框架 开发的系统中所应用的技术都是基于JavaEE,技术成熟稳定又能保持先进性。采用B/S架构使系统能集中部署分布使用,有利于系统升级维护;采用MVC 的开发模式并参考SOA体系架构进行功能设计,使得能快速扩展业务功能而不会影响现有系统功能的正常使用,可根据实际业务量进行部分功能扩容,在满足系统运行要求的同时实现成本最小化。系统采用分布式部署,系统功能隔离运行,保障系统整体运行的稳定性。 图1.开发框架与体系结构图 1.1.web端技术栈 (1)前端采用elementUI/jquery/bootstrap/vue实现,前端和Controller交换数据基于json格式。 1.2业务端技术栈 (1)业务端基于springboot、springMVC、JPA、SpringData技术栈构建,对于复杂的系统则采用springCloud构建。 (2)四层分隔:controller(Facade)/service/dao/entity,其中fa?ade主要用于生成json,实现和前端的数据交换。 (2)命名:按照功能模块划分各层包名,各层一致。 2.系统安全保障 2.1 访问安全性

权限管理是系统安全的重要方式,必须是合法的用户才可以访问系统(用户认证),且必须具有该资源的访问权限才可以访问该资源(授权)。 我们系统设计权限模型,标准权限数据模型包括:用户、角色、权限(包括资源和权限)、用户角色关系、角色权限关系。权限分配:通过UI界面方便给用户分配权限,对上边权限模型进行增、删、改、查操作。 基于角色的权限控制策略根据角色判断是否有操作权限,因为角色的变化性较高,如果角色修改需要修改控制代码。 而基于资源的权限控制:根据资源权限判断是否有操作权限,因为资源较为固定,如果角色修改或角色中权限修改不需要修改控制代码,使用此方法系统可维护性很强。建议使用。 2.2 数据安全性 可以从三个层面入手:操作系统;应用系统;数据库;比较常用的是应用系统和数据库层面的安全保障措施。 在操作系统层面通过防火墙的设置。如设置成端口8080只有自己的电脑能访问。应用系统层面通过登陆拦截,拦截访问请求的方式。密码不能是明文,必须加密;加密算法必须是不可逆的,不需要知道客户的密码。密码的加密算法{ MD5--不安全,可被破解。需要把MD5的32位字符串再次加密(次数只有你自己知道),不容易破解;加密多次之后,登录时忘记密码,只能重置密码,它不会告诉你原密码,因为管理员也不知道。 3.项目计划的编制和管理 本公司项目基于敏捷过程的方式组织,项目计划基于需求和团队反复讨论的过程。在开发系统时都经过了解需求,开需求分析会议,确定开发任务,推进开发进度,测试,试点,交付等开发步骤,其中具体内容有: 1,了解需求:跟客户沟通,充分了解对方的需求,然后对需求进行过滤,最后整体成需求文档 2,需求分析会议:也就是项目启动会议之后要做的事情,对拿来的需求进行讨论,怎么做满足需求。主要对需求进行全面的梳理,让开发,产品,项目都熟悉整个需求。

嵌入式系统导论复习题.docx

嵌入式系统导论复习题 一填空 1、嵌入式系统通常是以应用为中心,以计算机技术为基础,软换件可裁剪,对功能、体积、功耗等严格耍求的专用计算机系统。 2、嵌入式系统的可靠性是嵌入式计算机的生命线。 3、嵌入式系统的基本结构一般可分为硕件和软件,换件包括嵌入式核心芯片、存储器系统及外部接口,软件包括应用软件、编程接口、嵌入式操作系统和板升级支持包。 4、嵌入式处理器主要包括EMPU、EMCU、EDSP和ESOC。其中ESOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。 5、目前使用的嵌入式操作系统有好几十种,最常用的是LINUX和WINCEo 6、嵌入式系统的系统级设计方法主要冇先硬件后软件设计方法和软硬件协同设计的方法,其中针对单片机的开发是釆用先硕件后软件的方法。 7、嵌入式软件可分为系统软件、支撑软件和应用软件三类。 8、嵌入式处理器是嵌入式硬件系统的核心,其种类非常多,常见的有ARM处理器、MIPS 处理器和PowerPC处理器。 9、TI公司的TMS320C2XXX系列的DSP可作为MCU进行使用。 10、标准的嵌入式系统架构有两人体系:RISC和CISC,其中RISC架构的处理器包括ARM、MIPS、PowerPC、ARC等,CISC架构为我们所熟知的是INTEL的X86架构、VIA架构和AMD 架构。 ARM7系列微处理器为32位RISC处理器。 12、国产嵌入式处理器的代表芯片为方舟和龙芯系列处理器。 13、存储器有三个主要特性:速度、容量和价格。其中寄存器速度最快、价位最高、容量最小;主存用來存放将要参与运行的程序和数据;存取速度和容量介于寄存器和主存之间的为高速缓冲存储器cacheo 14、按存储器的作用不同,可分为主存储器、辅助存储器和缓冲存储器,其屮RAM和ROM 属于主存储器。 15、RAM主要有SRAM和DRAM,常见的RAM容量扩展方法为字长扩展和字数扩展。 16、CPU和I/O接口Z间通信的总线包括数据总线、控制总线和地址总线,其中数据总线是双向总线。 17、接口是两个部件之间的连接点或边界,通过接口把CPU和外设连接在一起,接口电路主要面向CPU和外设两个方面。 18、嵌入式系统中,I/O接口芯片寻址方式为:存储器映像法和I/O隔离法。 19、嵌入式处理器的复位电路是使处理器从起始地址开始执行指令。 20、串行通信有3种基本传送方式:单工、半双工和全双工。串行通信的两种类型为异步串行通信和同步串行通信。 21、串行接口RS 系列标准冇:RS-232, RS-422, RS-485o 22、蓝牙模块的无线通信频率为2.4GHZ以内,主要有3个部分组成:无线传输收发单元、 基带处理单元以及数据传输接口。 23、I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。 24、嵌入式操作系统是嵌入式系统极为重要的纟R成部分,是嵌入式系统的灵魂,通常包 括与硕件相关的底层驱动软件、系统内核、设备驱动接口、通信协议等。 25、典型的嵌入式操作系统包括VXWorks, windowsCE, LINUX, U C/OS-II, QNX等,其中不是实时操作系统的为UNUXo

软件工程项目之系统设计概述

第五章系统设计 系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在全然上决定了软件系统的质量。就象“一切帝国主义差不多上纸老虎”那样能够断定“差的系统设计必定产生差的软件系统。”因此我们要努力保证系统设计“根正苗红”,把一切左倾、右倾的设计思潮消灭在萌芽状态。 WindowsNT的一位系统设计师拥有8辆法拉利跑车,让Microsoft公司的一些程序员十分眼红。但你只能艳羡而不能愤恨,因为并不是每个程序员都有本领成为复杂软件系统的设计师。系统设计要比纯粹的编程困难得多。即便你清晰客户的需求,却未必明白应该设计什么样的软件系统——既能挣最多的钞票又能让客户中意。“天下西湖三十六,最美是杭州”,千年前苏东坡大学士对西湖精采绝伦的系统设计,使杭州荣升为“天堂”,让后人只剩下赞美和破坏的份了。 本章讲述系统设计的四方面内容:体系结构设计、模块设

计、数据结构与算法设计、用户界面设计。假如将软件系统比喻为人体,那么: (1)体系结构就如同人的骨架。假如某个家伙的骨架是猴子,那么不管如何样喂养和美容,这家伙始终差不多上猴子,可不能成为人。 (2)模块就如同人的器官,具有特定的功能。人体中最出色的模块设计之一是手,手只有几种动作,却能做无限多的情况。人体中最糟糕的模块设计之一是嘴巴,嘴巴将最有价值但毫无相干的几种功能如吃饭、讲话、亲吻混为一体,使之无法并行处理,真乃人类之不幸。 (3)数据结构与算法就如同人的血脉和神经,它让器官具有生命并能发挥功能。数据结构与算法分布在体系结构和模块中,它将协调系统的各个功能。人的耳朵和嘴巴尽管是相对独立的器官,但假如耳朵失聪了,嘴巴就只能发出“啊”“呜”的声音,等于丧失了讲话的功能(因此聋子天生确实是哑巴),可人们却又能用手势代替讲话。人体的数据结构与算法设计真是十分奇妙同时十分可笑。

计算机软件系统概述

计算机软件系统概述 操作系统基础知识 数据输入、数据处理和数据输出等任务。软件可保证硬件的功能得以充分发挥,并为用户提供良好的工作环境。本章按照网络管理员考试大纲的要求,首先简述计算机软件系统和软件技术的发展,再重点介绍操作系统的基本原理,以及几个常用的操作系统。 计算机软件系统概述 软件系统是指为运行、管理和维护计算机而编制的各种程序、数据和文档的总称。程序是完成某一任务的指令或语句的有序集合;数据是程序处理的对象和处理的结果;文档是描述程序操作及使用的相关资料。计算机的软件是计算机硬件与用户之间的一座桥梁。 计算机软件按其功能分为应用软件和系统软件两大类。用户与计算机系统各层次之间的关系如图3-1所示。

1.系统软件 系统软件是指控制计算机的运行,管理计算机的各种资源,并为应用软件提供支持和服务的一类软件。其功能是方便用户,提高计算机使用效率,扩充系统的功能。系统软件具有两大特点:一是通用性,其算法和功能不依赖特定的用户,无论哪个应用领域都可以使用;二是基础性,其他软件都是在系统软件的支持下开发和运行的。 系统软件是构成计算机系统必备的软件,系统软件通常包括以下几种。 1)操作系统 操作系统(Operating System,OS)是管理计算机的各种资源、自动调度用户的各种作业程序、处理各种中断的软件。它是计算机硬件的第一级扩充,是用户与计算机之间的桥梁,是软件中最基础和最核心的部分。它的作用是管理计算机中的硬件、软件和数据信息,支持其他软件的开发和运行,使计算机能够自动、协调、高效地工作。 操作系统多种多样,目前常用的操作系统有DOS、OS/2、UNIX、Linux、NetWare、Windows 2000、Windows XP/Vista、Windows NT、Windows 2003和Windows 2008等。 2)程序设计语言

嵌入式软件开发入门教程

C语言是嵌入式软件开发人员必须熟练掌握的编程语言。作为C语言的初学者重点掌握基本数据类型、复合数据类型、流程控制、数组、指针、函数这几方面的基本知识。本人建议通过观看视频教学的方式进行学习,这样既快速又通俗易懂,当然前提是必须找到优质的教学视频资源。此外,可以配合入门书籍谭浩强的《C语言程序设计》进行学习。如果想深入的学习可以参考美国人写的人民邮电出版社出版的《C Primer Plus》。 方法/步骤2: C语言的磨炼 掌握了基本的C语言语法以后并不代表我们就学会了C语言,关键是如何灵活的去运用。我们可以练习编写C语言学习书籍的课后习题或者在网站上搜索C语言笔试题库进行练习。也可以百度寻找经典的C 语言编程案例进行学习。总之,就是将C语言运用的越熟练越好。至于开发环境可以选择VC++ 6.0 或者linux。 方法/步骤3: 硬件电路基础

嵌入式软件工程师还必须懂一些硬件电路的基本知识。当然,对于刚入门的软件开发人员没必要非常精通电路技术,熟悉基本的电子元器件的功能即可。例如,电阻、电容、电感的作用以及符号,三极管、MOS管导通截止的条件,微处理器、晶振的基本概念等。至于,以上这些基本知识我们可以通过童诗白的第四版《模拟电子技术基础》和网上查阅的资料进行学习。 方法/步骤4: 如何看懂原理图 作为嵌入式软件开发人员我们经常会和硬件打交道,我们的程序最终会被烧录到微处理器内部运行。所以,我们必须要会看硬件原理图,看懂之后才知道如何写程序。首先,我们要知道嵌入式硬件最小系统的组成部分,包括电源电路、晶振、微处理器、复位电路。然后以微处理器为中心向四周查看,主要看我们可以操纵的外设资源。以上知识的学习我们不妨经常浏览一下某些知名IT网站其他人上传的经典原理图。 方法/步骤5: 基本外设知识

软件技术公司工作流程概述

软件技术公司工作 流程概述

浙江中控软件技术有限公司 综合办公室 工作流程 浙江中控软件技术有限公司

综合办公室 行政工作流程手册 (附工作流程图) 综合办公室行政管理的主要工作内容:执行办公设备、公共设施的日常管理和维护;执行办公用品及日常见品的采购、发放管理;执行档案的归档管理;执行固定资产及低值易耗品的管理;执行各种费用的控制交纳;执行公司对外关系建立维护;执行突发事件处理;执行秘书事务管理;执行后勤管理;执行行政日常事务处理;执行上级交办事务等。 具体工作流程 一、执行办公用品及日常见品的采购、发放管理 月末综合办公室要根据其它部门的请购计划及库存情况,并要根据相关规定作适当储备以备不时之需,作好请购计划单经主管审批后,及时保质保量地采购办公用品和日常见品,采购物品应当定价定点,保证质优价廉。要作好物品出入库登记,每月盘存,确保帐物相符。 二、执行固定资产及低值易耗品的管理 对于公司所有的固定资产以及低值易耗品,需要建立台帐清

单,监督各部门于每月25日进行盘点,办公室会根据各部门盘点情况进行抽查,核对帐物是否相符,然后根据各部门盘点状况及调动增加状况制作<固定资产、低耗品清单>报表发放各部门;每季度组织财务部对各部门进行全面盘点,核对帐物。对需要报废的资产按照相关程序申请报废,及时跟进各部门资产调动、出入库单据的核对,做到帐物相符。对于资产管理不当、帐物不符,应进行相应处罚。 综合办公室负责根据维修要求协调或外请技术人员维修、对维修全过程进行控制; 各部门对维修质量监督、确认。 所有维修要求做好记录、跟踪维护结果及完成状态;对未按要求完成的维修事项、及时了解情况并报告负责人。 四、执行文件档案的归档管理 根据不同种类档案的特点,做好系统编目、使用 /传阅控制、分类存放、排列有序,定期收集各类文件资料,并整理立卷归档。 各部门往来的备忘录、文档、资料等按类别、内容、时间顺序等存档管理。

软件系统概要设计及总体架构设计

目录 1.1软件系统概要设计及总体架构设计 (2) 1.1.1系统设计概述 (2) 1.1.2系统概要设计(结构设计) (3) 1.1.3系统概要设计中的架构设计 (5) 1.1.4层架构技术在系统设计中的典型应用 (11)

1.1软件系统概要设计及总体架构设计 1.1.1系统设计概述 1、系统设计 (1)什么是系统设计 所谓系统设计就是通过某种特定的平台,而达到完成整体软件的功能。主要涉及包括概要设计(静态结构)和详细设计(动态结构)。 (2)主要任务 系统设计阶段的主要任务是在需求分析和建模的基础上,更加深入、综合地考虑辅助决策系统的目标、技术要求和约束,扩展和细化需求分析阶段的模型 (3)设计的目标 是精化方案并开发一个明确描述方案的可视化模型,保障设计模型最终能平滑地过渡到程序代码,即“怎么做”的问题。 2、系统设计的目的 1)是指明一种易转化成代码的工作方案,是对分析工作的细化 2)即进一步细化分析阶段所提取的类(包括其操作和属性),并且增加新类以处理诸如数 据库、用户接口、通信、设备等技术领域的问题。 3)因为,设计是对问题域外部可见行为的规格说明、并增添实际的计算机系统实现所需 的细节,包括人机交互、任务管理和数据管理的细节。 3、分析和设计的合作 1)分析面向问题,是明确动力的过程,重在理解和翻译,灵活性高 2)设计面向方案,是排除阻力的过程,重在精化和适应,受约束大 从整体上看,分析和设计的对立是保障问题和方案趋于一致的基本动力。就像两个相反方向的张力,使软件朝着正确的方向前进。

1.1.2系统概要设计(结构设计) 1、在什么时期进行系统概要设计 在需求明确、准备开始编码之前,要做概要设计,概要设计对后面的开发、测试、实施、维护工作起到关键性的影响。 2、系统概要设计工作的主要重点 是适应特定的实施环境和部属环境。工作的核心是规划方案的构造,在揭示实施细节的基础上得到方案的详细对象模型。 3、系统概要设计的重要性 1)分析和设计模型是交错并且迭代的 2)概要设计的重要性主要体现在它是把需求转化为软件系统的最重要的环节,并且系统 设计的优劣在根本上决定了软件系统的质量。 4、概要设计所涉及的内容 (1)制定规范:主要涉及代码体系、接口规约、命名规则。 因为,这些是项目小组今后共同开发的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式和方法,大家就有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。 (2)体系结构设计(构架设计) 体系结构是对复杂事物的一种抽象,如客户/服务器(C/S)和浏览器—Web 服务器—数据库服务器(B/W/S)结构等。 本项目采用B/W/S的结构以构造分布式系统。 (3)模块设计(类的设计) ●功能独立 根据用户的需求实现从功能上来划分各个功能模块,在模块设计中保持“功能独立”是模块化设计的基本原则。因为,“功能独立”的模块可以降低开发、测试、维护等阶段的代价。 ●模块设计的目的 通过创建出类图、状态图和活动图来描述新的技术类,并扩展和细化分析阶段"素描"的商业对象类。

29945 嵌入式软件技术概论

高纲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子系列微控制器的嵌入式计算机软件系统开发的方法以及对嵌入式计算机系统各基本接口及模块的开发编程方法。 (三)本课程与相关课程的联系 嵌入式软件技术概论是一门综合性和应用性都比较强的课程,其内容涉及计算机相关专业的大部分专业课程,学习者需要具有一定的数字电路及编程基础,也要对计算机的一般组成有所了解。因此,本课程的前修课程应至少包含《数字电路》、《程序设计语言》(以C 语言为主)以及《计算机组成原理》,这些课程可以帮助学生很好的理解嵌入式计算机系统的硬件结构及尽快掌握嵌入式计算机系统的软件编程方法。 二、课程内容与考核目标 第1章概述

计算机软件系统概述

计算机软件系统概述操作系统基础知识 数据输入、数据处理和数据输出等任务。软件可保证硬件的功能得以充分发挥,并为用户提供良好的工作环境。本章按照网络管理员考试大纲的要求,首先简述计算机软件系统和软件技术的发展,再重点介绍操作系统的基本原理,以及几个常用的操作系统。计算机软件系统概述 软件系统是指为运行、管理和维护计算机而编制的各种程序、数据和文档的总称。程序是完成某一任务的指令或语句的有序集合;数据是程序处理的对象和处理的结果;文档是描述程序操作及使用的相关资料。计算机的软件是计算机硬件与用户之间的一座桥梁。 计算机软件按其功能分为应用软件和系统软件两大类。用户与计算机系统各层次之间的关系如图3-1所示。 1.系统软件 系统软件是指控制计算机的运行,管理计算机的各种资源,并为应用软件提供支持和服务的一类软件。其功能是方便用户,提高计算机使用效率,扩充系统的功能。系统软件具有两大特点:一是通用性,其算法和功能不依赖特定的用户,无论哪个应用领域都可

以使用;二是基础性,其他软件都是在系统软件的支持下开发和运行的。 系统软件是构成计算机系统必备的软件,系统软件通常包括以下几种。 1)操作系统 操作系统(Operating System,OS)是管理计算机的各种资源、自动调度用户的各种作业程序、处理各种中断的软件。它是计算机硬件的第一级扩充,是用户与计算机之间的桥梁,是软件中最基础和最核心的部分。它的作用是管理计算机中的硬件、软件和数据信息,支持其他软件的开发和运行,使计算机能够自动、协调、高效地工作。 操作系统多种多样,目前常用的操作系统有DOS、OS/2、UNIX、Linux、NetWare、Windows 2000、Windows XP/Vista、Windows NT、Windows 2003和Windows 2008等。 2)程序设计语言 人们要使用计算机,就必须与计算机进行交流,要交流就必须使用计算机语言。目前,程序设计语言可分为4类:机器语言、汇编语言、高级语言及第四代高级语言。 机器语言是计算机硬件系统能够直接识别的、不需翻译的计算机语言。机器语言中的每一条语句实际上是一条二进制数形式的指令代码,由操作码和操作数组成。操作码指出进行什么操作;操作数指出参与操作的数或在内存中的地址。用机器语言编写程序时工

归纳嵌入式系统概论习题

第一题单项选择题 1、ADDS R0,R1,R2执行完成后,不会对CPSR中的哪一位产生影响( B)? A、N B、C C、V D、F 2、FD表示( B )。 A、满递增堆栈 B、满递减堆栈 C、空递增堆栈 D、空递减堆栈 3、已知R0=0xFFFFFC0F,则执行MVN R1,R0后,R1的值为(C )。 A、0xFFFFFFFF B、0xFFFFFFF0 C、0x3F0 D、0x3F 4、在Linux中使用ls命令显示当前目录的所有内容应使用(A)参数? A、-l B、-a C、-d D、-i 5、在EMBEST IDE开发环境中,程序的默认入口地址为( C )。 A、0x C000 B、0x 1C00 C、0x 8000 D、0x 0 6、已知R0=0x1000,R1=0x2000则执行CMP R0,R1后,R0的值为(B) A、0x2000 B、0x1000 C、0xFFFFF000 D、0xFFFFEFFF 7、已知R1=0x2F,则执行mov R0,R1,ASL #2后,R0的值为(D )。 A、0xBC B、0xBF C、0x2F0 D、0x2F 8、在Linux中查看文件前10行内容的命令是( D)。 A、less B、cat C、tail D、head 9、已知R0=0xFC,则执行BIC R0,#0x3C后,R0的值为( D )。 A、0x18 B、0x24 C、0xC0 D、0x30 10、已知R0*R1=0x1C2F3E4D5C6B,则执行SMULL R2,R3,R0,R1后,R2和R3的值分别为(D)。 A、R2=0x1C2F3E4D R3=0x5C6B B、R2=0x5C6B R3=0x1C2F3E4D C、R2=0x1C2F R3=0x3E4D5C6B D、R2=0x3E4D5C6B R3=0x1C2F 11、EMPU是( B )。 A、嵌入式微控制器 B、嵌入式微处理器 C、片上系统 D、嵌入式数字信号处理器 12、以下不属于CPSR的条件码标志位的是(A)。 A、F B、N C、Z D、C 13、S3C44B0X的内核工作电压是( B )。 A、3.0V B、2.5V C、3.5V D、 1.5V 14、Linux中删除目录的命令是(B)。 A、rm B、 rmdir C、mkdir D、del 15、能实现ARM处理器在两种工作状态之间进行切换的命令是( D )。 A、B B、 BL C、 BLX D、BX 16、若CPSR寄存器的低5位(4-0)的值为10010,则ARM处理器工作于(B) 模式。 A、FIQ B、IRQ C、USER D、SVC

嵌入式软件开发流程

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

相关主题
文本预览
相关文档 最新文档