目标软件

【软考】【软件设计师】【知识模块】【第2章:程序设计语言基础知识】

旧时模样 提交于 2019-12-02 17:04:01
程序设计语言基础知识 2.1 程序设计语言概述   2.1.1 程序设计语言基本概念     低级语言,面向机器的语言,如汇编语言、机器语言;       特性:进行程序设计效率低,程序的可读性差,难以修改、维护,优势是运行速度特别快;     高级语言,面向各类应用的程序设计语言。如C、C++ 、Java、Python、Delphi 、Pascal、Php          语言处理程序:负责将高级语言翻译成计算机能理解的0和1的程序;     语言之间的翻译基本方式:       汇编、解释、编译;       汇编:对使用汇编语言写成的源程序进行翻译成目标程序(机器可直接执行)的过程;       解释:将源程序翻译成中间代码(需要配合专有解释器才可执行)的过程;       编译:将源程序翻译成机器可直接执行的目标程序的过程;                解释和编译的区别在于:       对源程序进行编译后的目标程序可以在机器上直接执行,不需要源程序和编译程序配合执行;机器上运行的是与源程序等价的目标程序。       对源程序进行解释后的中间代码,需要源程序和解释程序(解释器)配合执行;            程序语言的定义涉及的三个范畴:       语义、语法、语用;     所谓高级语言,即不依赖机器硬件的;     所谓通用的程序设计语言

[深入理解Android卷一全文-第一章]阅读前的准备工作

给你一囗甜甜゛ 提交于 2019-11-30 21:52:58
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在OSC博客中全文转发这两本书的全部内容。 第一章 阅读前的准备工作 本章主要内容 本章简单介绍Android系统架构、编译环境的搭建以及一些工具的使用。 1.1 系统架构 1.1.1 Android系统架构 Android是Google公司推出的一款手机开发平台。该平台本身是基于Linux内核的,图1-1展示了这个系统的架构: 图1-1 Android系统架构 从上图中可以看出,Android系统大体可分为四层,从下往上依次是: Linux内核层,目前Android2.2(代号为Froyo)基于Linux内核2.6版本。 Libraries层,这一层提供动态库(也叫共享库)、Android运行时库、Dalvik虚拟机等。从编程语言上来说,这一层大部分都是用C或C++写的,所以也可以简单地把它看成是Native层。 Libraries层之上是Framework层,这一层大部分用Java语言编写。它是Android平台上Java世界的基石。 Framework层之上就是Applications层了,和用户直接交互的就是这些应用程序,它们都是用Java开发的。 从上面的介绍可看出,Android最大的特点之一

完整的IT项目开发流程

╄→尐↘猪︶ㄣ 提交于 2019-11-30 10:04:04
一般情况下,企业开发软件时会按照基线和定制两块并行方式执行项目开发工作。无论什么公司,都需要遵从一套成熟的产品研发过程体系,才能做出质量较好的产品。因此,如果出现项目较多的情况,应该合理地安排基线和定制之前的里程碑,让基线产品能够尽量多地收集用户的通用型需求,为定制项目进度实现技术支撑,减少定制项目中大量更改代码、需要新增模块情况发生。此外,产品研发过程体系也需要按照业务实际时间要求变化,不要拘泥于一定要按照瀑布方式,或是敏捷方式进行管理,凡事都需要找到契合自己的方式。 【这里以一个基线产品开发过程作为流程解释基础,需要注意的是,以下说描述的各个阶段,在项目执行前要明确各个阶段的目标、指定计划、及时沟通,并确保各个时期所有成员对项目理解一致】 项目启动会 项目启动会的目标是明确该产品开发项目的目标。目标不是孤立存在的,目标与计划相辅相成,目标指导计划,计划的有效性影响着目标的达成。所以在执行目标的时候,考虑清楚自己的行动计划,怎么做才能更有效地完成目标,是每个人都要详情清楚的问题,否则,目标越是不清晰或是过高,都会影响项目的实际结果。 项目启动会需要说明项目目标、阶段划分、组织结构、管理流程等关键事项,并将这些内容写入 PPT(最好是有固定格式和范文,让团队内部或者公司内部共同遵守规范),需要大家达成一致。对于关键角色任命,事前也需要听取相关领导和项目主要干系人的意见。 用户需求

《软件工程导论》课后习题答案

六眼飞鱼酱① 提交于 2019-11-30 09:47:29
来源:https://blog.csdn.net/Rong_Toa/article/details/80771976 第一章 软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.为什么会产生软件危机? (1)开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2)软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3)尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 3.怎样克服软件危机? (1)充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训

软件第一次作业

孤人 提交于 2019-11-29 09:49:01
(一) 1.1:软件=程序+软件工程 C语言、二叉树遍历、数据结构、java、软件、程序、excel、c#、c++、vb、Unix Shell、Emacs、Powershell、Javascript、perl、python、用户、需求、软件服务、源程序、软件架软件设计与实源代码管理、配置管理、质量保障、软件测试、需求分析、程序理解、软件维护、服务运营、软件的生命周期、软件项目的管理、用户体验、国际化与本地化、职业道德规范 软件企业=软件+商业模式 1.2:软件特殊性 软件具有复杂性、不可见性、易变性、服从性、非连续性 1.3:软件工程与计算机科学的关系 计算理论、信息和编码理论、算法和数据结构、形式化方程、程序语言设计、计算机体系结构、并行计算机和分布式系统、实时系统和嵌入式系统、操作系统、计算机网络、科学计算、安全和密码学、人工智能、模式识别、机器学习、数据挖掘、信息提取、计算机图形学、计算机视觉、多媒体、数据库和大规模数据处理、万维网、自然语言处理和语音、人机交互、软件工程 1.4软件工程的目标 用户满意度、可靠性、软件流程的质量、可维护性、bug、 (二) 1、完成一项软件工程需要经历那些步骤? 2、代码复审者和开发者有什么样的关系? 3、敏捷流程带来的好处有哪些? 4、一个合理的团队应该有哪些配置? 5、如何将用户体验快速提升? (三) web app :(浏览器

软件课设第七天 8.25

给你一囗甜甜゛ 提交于 2019-11-28 13:26:41
今日完成的任务: 1、研究GMM(高斯混合模型)的运动模型检测算法; 2、研究KCF(滤波器)的运动目标跟踪算法; 3、初步熟悉了OpenCV。 明天的目标: 1、尝试根据算法流程图开始编写算法; 2、继续研究相关算法和软件。 每日小结: 今天稍微休息调整了一下,并没有做太多的工作,只是继续研究了两个相关算法。明天我准备和小组的其他组员一起尝试编写本项目的算法,由于本项目是用Python语言,所以刚开始写程序可能会有些困难,所以就边写边学吧。 来源: https://www.cnblogs.com/yoona5683/p/11408912.html

细谈测试---我的启示录

╄→гoц情女王★ 提交于 2019-11-27 08:17:33
小时候对测试不很重视,比如让你做一件事,你会考虑其风险,别的因素吗。当你埋头只顾自己写软件代码,发布软件,就完事啦。但事实并非如此,对方说你的网站有漏洞,或者软件注册码容易破解,这些你并不知道。跟客户打交道,客户不是说做完项目就完事啦,往往要一个月维护。或者测试一下。意外的情况也很多,这些你绝对没想到。软件的bug如何产生的,在你写之前就产生。人的思维并非绝对的。往往是相对的,人们总喜欢自以为是,"I,M GOOD......"但测试离不开实践,不犯错误是不可能的。 软件测试就像给人诊断 软件测试 的过程其实很像给人看病的过程 首先,你看到一个人的症状的时候,就是看到了这个bug, 然后通过这个bug可以联想到某种病 通过对于这个种病的联想 你可以查看有关这种病的关联性bug是否在这个人的身上也都存在, 如果这种病的关联性的bug都存在 那么就可以很肯定的说,这个人是得了这个病。 。。。。 当修复了这个bug之后, 你应该把有关这个病的所有bug都验证一遍, 并且最好把全身都检查一遍,以确保没有影响到整个人 软件测试就像是向上帝祷告 你究竟有罪没有,牧师有时会问你有没有罪,求上帝宽恕 按照上帝说:“世人皆有罪,唯有上帝是洁净的” 软件产品代码bug,是存在的。 软件测试就像测试人生 如,一个故事----我为什么没升职 到公司 工作 快三年了,比我后来的同事陆续得到了 升职 的机会

网络通信原理

岁酱吖の 提交于 2019-11-26 17:08:59
本文参考:    http://www.cnblogs.com/linhaifeng/articles/5937962.html https://www.cnblogs.com/leiyiming/p/9358965.html 个人理解:   通信 = 连接(光缆,双绞线,无线电等)+传输数据   网络 = 介质+协议(通信规则标准)   互联网 = 一系列协议 本节导读 : CS架构 CS信息传输流程 网络模型 tcp/ip五层模型详解 socket介绍 网络通信流程 网络通信实现 一 CS架构   C指的是client(客户端软件),S指的是Server(服务端软件),我们用socket 就是为了C/S架构软件的开发,实现服务端软件与客户端软件基于网络通信。 二 CS信息传输流程   1、客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统内存   2、客户端操作系统收到数据后,按照客户端软件指定的规则(即协议)、调用网卡发送数据   3、网络传输数据   4、服务端软件调用系统接口,想要将数据从操作系统内存拷贝到自己的内存中   5、服务端操作系统收到4的指令后,使用与客户端相同的规则(即协议)从网卡接收到数据,然后拷贝给服务端软件 三 网络模型   计算机与计算机之间要有统一的连接标准才能够进行通信,这个标准称之为互联网协议

网络通信原理

眉间皱痕 提交于 2019-11-26 16:56:40
本文参考:    http://www.cnblogs.com/linhaifeng/articles/5937962.html https://www.cnblogs.com/leiyiming/p/9358965.html 个人理解:   通信 = 连接(光缆,双绞线,无线电等)+传输数据   网络 = 介质+协议(通信规则标准)   互联网 = 一系列协议 本节导读 : CS架构 CS信息传输流程 网络模型 tcp/ip五层模型详解 socket介绍 网络通信流程 网络通信实现 一 CS架构   C指的是client(客户端软件),S指的是Server(服务端软件),我们用socket 就是为了C/S架构软件的开发,实现服务端软件与客户端软件基于网络通信。 二 CS信息传输流程   1、客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统内存   2、客户端操作系统收到数据后,按照客户端软件指定的规则(即协议)、调用网卡发送数据   3、网络传输数据   4、服务端软件调用系统接口,想要将数据从操作系统内存拷贝到自己的内存中   5、服务端操作系统收到4的指令后,使用与客户端相同的规则(即协议)从网卡接收到数据,然后拷贝给服务端软件 三 网络模型   计算机与计算机之间要有统一的连接标准才能够进行通信,这个标准称之为互联网协议

单元测试软件-winAMS

我们两清 提交于 2019-11-25 18:48:29
winAMS -- 嵌入式软件单元测试 / 集成测试工具 CoverageMaster winAMS : 适用于嵌入式目标机代码的单元测试工具 全面支持嵌入式微机!验证嵌入式C/C++软件 实施以模块为单位的自动化单元测试工具 不需要HookCode 直接使用目标机代码进行单元测试 联合静态解析工具[CasePlayer2],提供C1,MC/DC用优化测试计划(test case)制作功能 已取得第三方认证机构TUVSUD对适用于汽车机能安全ISO26262软件工具的认证 产品概要 [Coverage master winAMS]是以嵌入式软件的函数为单位,实施模块单元测试以及C0/C1/MCDC覆盖率测试(coverage test)的嵌入式软件自动化单元测试工具。目标机源代码通过交叉编译器生成目标机执行代码,通过跟实际处理器同样的模拟处理器环境进行单元测试,不需要对执行代码做任何变动,使高信赖性的模块测试成为可能。在汽车控制软件这样的对安全性要求极高的领域,单元测试已经成为不可缺少的一部分。使用目标机代码进行单元测试也是为了符合汽车行业中ISO26262功能安全认证标准。 产品特长 全面支持嵌入式微机!验证嵌入式C/C++软件 实施以模块为单位的自动化单元测试工具 作为能够检验出仅凭系统测试以及整体测试无法发现的[潜在错误]的检测方法,[单元测试]在嵌入式开发领域受到广泛重视