该笔记主要记录SoC的软件开发流程,主要包含一些Linux下的操作命令 1. 编写design file .c .h 2. 编写makefile    可执行文件名,交叉编译环境,compile flags  3. 拷贝文件到SD Card     (1)通过USB mount       1)mount命令格式:         mount [-t vfstype] [-o option] device dir      vfstype:windows 9x fst32文件系统:vfat  …
软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以及编写.提交程序.1需求调研分析 ●相关系统分析员和用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面. ●系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出…
项目开发流程 需求分析 架构师+产品经理+开发组组长 和客户公司谈需求之前 ,事先需要想一下这个项目要怎么做 里面的坑点提前想好比较简单的解决方案 在跟客户谈的时候有意识的引导客户朝你已经想好的方案上去提需求 项目分析 架构师的工作 语言的选择 框架的选择 数据库选择(主库,缓存库) 功能那个划分 开发组组长分配任务) 分组开发 架构师和开发组组长将项目整体框架搭建出来 然后让小组成员各自朝着哥哥部分填写代码 测试 自己写测试脚本,自己测试 测试部门专门测试 交付上线 BBS表设计!…
#程序1: 设计:由用户键入利率.贷款数以及贷款的年限,系统计算出每月还贷数和总还款数 注意:输入的年利率是带有百分比的数字,例如:4.5%.程序需要将它除以100转换成小数.因为一年有12个月,所以将年利率除以12即是月利率,为了获得月利率,月利率=年利率/(12+100) 程序: annualInterestRate =eval(input("Enter annual interest rate,e.g., 7.25:")) #输入年度利率monthlyInterestRate=a…
注:必须是Linux/arm 3.0以上内核才支持RPMSG,在此使用的是.config - Linux/arm 3.0.31 Kernel Configuration.(soure code from blaze_tablet 4AJ.2.1 http://omappedia.org/wiki/4AJ.2.1_OMAP4_Jelly_Bean_Release_Notes)    1.配置Linux内核驱动使得支持RPMSG(see also:http://omappedia.org/wiki/…
好了,你现在会了面向对象的各种语法了,  但是你会发现很多同学都是学会了面向对象的语法,却依然写不出面向对象的程序,原因是什么呢?原因就是因为你还没掌握一门面向对象设计利器, 此刻有经验的人可能会想到瀑布模型.螺旋模型.迭代开发.敏捷.RUP等一堆软件工程相关的软件开发流程,但对于大部分人来说这些流程仅仅只是项目管理上的流程. 本节我们就来了解下,作为一名程序员基于面向对象开发程序的开发流程: 需求模型->领域模型->设计模型->实现模型 一,需求模型 1. 需求VS功能 需求:客户想要…
参考文献:http://www.cnblogs.com/jetzhang/p/6068773.html 历史回顾 为了能够更好的理解什么是DevOps,我们很有必要对当时还只有程序员(此前还没有派生出开发者,前台工程师,后台工程师之类)这个称号存在的历史进行一下回顾. 如编程之道中所言: 老一辈的程序员是神秘且深奥的.我们没法揣摩他们的想法,我们所能做的只是描述一下他们的表象. 清醒的像一只游过水面的狐狸 警惕的像一位战场上的将军 友善的像一位招待客人的女主人 单纯的像一块未经雕琢的木头 深邃的…
AOP在大规模软件开发项目中的应用(图) 本文的写作源于一个真实的大型软件开发项目,我们努力尝试在这个项目中推广应用AOP.在此我们将对曾经面临过的一些实际问题与困难进行分析,试图引发关于面向方面软件开发(AOSD)的一些更深层次的思考.本文的作者将站在开发者的角度做出客观的判断,既不是AOP的狂热鼓吹者,同样也不是AOP反对阵营的一员.因此可以视作来自Java开发者对AOP技术应用的客观分析和建设性意见. 关于AOP 关于AOP的概念,笔者在这里不再赘述.谁最先创造了AOP,业界一直有些争议,…
转自:http://www.ibm.com/developerworks/cn/java/j-lo-jenkinsintegrate/ Jenkins 是一种易于使用的持续集成系统,它可以使开发者从繁杂的集成过程中解脱出来,专注于更为重要的业务逻辑实现.同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性.本文主要介绍了传统开发中的存在的一些问题及 Jenkins 在开发流程中的优势,并用实例为大家详细介绍了自动化持续集…
重复无聊的定义 测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法.它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行.这有助于编写简洁可用和高质量的代码,并加速开发过程.(来源百度百科) 重复无聊的过程 测试驱动开发的基本过程如下: 快速新增一个测试(编者注:并非快速) 运行所有的测试(有时候只需要运行一个或一部分),发现新增的测试不能通过 做一些小小的改动,尽快…
背景 IT已经成为当代企业必不可少的竞争手段,从无到有到标配,可以说以后不懂IT的就是文盲这句一点也不过,而软件开发是个复杂工程,零零碎碎各种理论工具和技巧,一言难尽. 本文意在言简意赅,简述软件开发流程当中重要的环节,以此思路作为明灯,以更好地思考和完成工作.   开始 IT业务系统的开发(APP.网站,大中小型业务系统等等)生命周期大致可用一张图简单概括下: 无论那个环节都互相影响,产品和开发相对更紧密一些,运营相对独立,不断迭代产品直到产品周期终结 需求 产品是来解决问题的,所以做产品之前…
禅道与软件开发云对比分析报告 1. 产品介绍 禅道是易软天创出品的一款项目管理软件,集产品管理.项目管理.测试管理.文档管理.组织管理于一体,覆盖了项目管理和测试管理的核心流程. 华为软件开发云 (DevCloud )是集华为研发实践.前沿研发理念.先进研发工具为一体的研发云平台.DevCloud面向开发者提供研发工具服务,让软件开发简单高效. 2. 产品定位 禅道 主要用户群:项目经理.产品经理.开发人员.测试人员. 主要功能:项目管理.需求管理.任务管理.bug管理.测试管理. 核心竞争力:…
ylbtech-术语-软件-软件开发:SDK(软件开发工具包) 软件开发工具包(缩写:SDK.外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件时的开发工具的集合. 软件开发工具包括广义上指辅助开发某一类软件的相关文档.范例和工具的集合. 软件开发工具包是一些被软件工程师用于为特定的软件包.软件框架.硬件平台.操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使…
1.简介 SDL的全称是Security Development Lifecycle,即:安全开发生命周期.由微软最早提出,是一种专注于软件开发的安全保障流程.为实现保护最终用户为目标,它在软件开发流程的各个阶段引入安全和隐私问题. 2.流程 SDL大致如下,包括了以下七个阶段: • 安全培训:安全培训体系:安全意识+安全测试+安全开发+安全运维+安全产品• 需求分析:确定安全需求和投入占比,寻找安全嵌入的最优方式 • 系统设计:确定设计要求,分析攻击面,威胁建模• 实现:使用标准的工具,弃用不…
  本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39.ctfile.com/f/2501739-683704177-83c7fe?p=2096 (访问密码: 2096) 一.开发环境安装和配置 1.安装Qt Designer和汉化 (1)安装Qt Designer   使用版本为Qt Designer 5.11.1,安装过程就是下一步...最后完成.…
上篇文章:如何将Android Studio与华为软件开发云代码仓库无缝对接(一) 上一章讲了,如何用Android Studio以软件开发云代码仓库为基础,新建一个项目.接下来,这一章继续讲建好项目后,如何通过Android Studio去对华为软件开发云代码仓库进行更新.上传代码等操作. 首先,打开Android Studio,将上一章通过Android Studio新建的项目,打开.如下图所示. 然后,我们在Android Studio中进行代码修改,如下图所示.代码[tv.setText…
在Linux下面,创建进程是一件十分有意思的事情.我们都知道,进程是操作系统下面享有资源的基本单位.那么,在linux下面应该怎么创建进程呢?其实非常简单,一个fork函数就可以搞定了.但是,我们需要清楚的是子进程与父进程之间除了代码是共享的之外,堆栈数据和全局数据均是独立的,主要是学习标准的H文件的包含.  linux下的C语言开发(创建进程) #include <unistd.h> #include <stdio.h> #include <stdlib.h> #in…
一开始学习51单片机就是用的MDK这个IDE软件,IDE软件虽然看起来直观好像更加容易入门(因为有界面看起来很形象),但是实际上IDE却是向我们这些入门人员隐藏了背后真实存在的过程,让我们以为编译就是点一下一个按键就完成了.直到使用了大半年的STM32芯片,我觉得不能一直依赖IDE软件,所以打算试试在Linux下开发STM32,首先需要一个 linux下STM32的编译器查了一下,度娘告诉我 arm-none-eabi-gcc编译器是可以编译STM32的代码的,所以需要现在Linux(ubant…
NO 10.QQ 神奇的TX,经常更新接口,使得linux社区的模仿软件总是跟不上步伐,一整就不能登陆使用.可是老大,您怎么自从2009-01-04发布了第一版QQ for Linux 1.0 Beta1,就再也不发布新版本了呢?好吧,不是哥不会,是哥不稀罕继续做.或许linuxQQ不在你的利益链,也不是你的生态圈!!!好嘛,能提供个web访问的qq,也算是个安慰.http://web.qq.com.(避免盗号等风险,作为安全考虑,还是推荐使用官方版QQ,webqq毕竟功能有限,TX老大,何时把…
近期工作需要在Linux下用Qt进行C++开发,所以就在linux下尝试装QT开发环境.本人用的linux是CentOS 6.5.现在对安装过程做出总结.有两种安装方式,下面分别详述: 1 图形化安装 1.1 安装包的下载与获取 到http://www.qt.io/download-open-source/#section-7链接下载.这个链接中分类罗列出了不同操作系统下的QT安装包.本人的操作系统是32 位的Linux,故我选择的Qt 5.4.1 for Linux 32-bit (546 M…
App软件开发其实并不复杂,完整的在线App开发不过9个步骤,一看就明白到底是怎么回事. 第一步:需求评估 在App项目正式启动前,客户应该对自己的需求进行评估,确认项目的开发周期和成本.登录APICloud定制平台,3分钟提交App需求,由专业客服一对一梳理并形成评估报告.前期需要专业客服和项目监理与客户充分沟通,了解客户要开发APP的类型.平台.功能.产品设计的需求.时长.预算等等,只有了解客户的详细需求才能做出开发方案. 第二步:官方签约   确认App软件项目的开发需求后,与APIClo…
前言:计划开发一个webWMS,并将开发过程比较完整的记录下来.希望可以完成这个目标 软件开发的流程: 1. 了解该项目的相关概念. 了解所要开发的软件属于什么产品.该产品的基本定义是什么?基本功能模块是有哪些? 2. 需求分析. 确定本次开发准备实现的大功能模块,大功能模块有哪些小功能模块,并列出相关界面和界面的功能. 通常需要出一份需求分析报告. 3. 整体设计(概要设计) 比如系统的组织结构.模块划分.使用的架构.使用的技术.开发环境.代码规范.项目计划.特殊约定等 4. 详细设计 描述实…
一.项目开发流程 1.项目需求分析 明确项目具体功能: 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求 参与人员: 产品经理.架构师.开发经理 技术人员主要职责: 引导客户提出合理需求,贴近现实的需求,能够实现的需求 2.项目架构设计 明确项目核心技术点: 项目需要使用的编程语言 项目使用的框架 项目所使用的数据库 参与人员: 架构师 3.项目分组开发 任务分组开发: 明确每个组,每个人具体该写项目的哪些功能 参与人员: 架构师.开发经理.程序员 4.项目提交测试…
关键字:TI  视觉软件开发套件  ADAS 日前,德州仪器 (TI) 宣布推出其视觉软件开发套件(SDK),从而为开发人员提供了一款灵活的框架.一组丰富齐全的硬件设备驱动程序和一套适用的开发工具,可帮助用户依靠TI的异型架构打造更加高效的先进驾驶辅助系统 (ADAS) 实施方案.基于TI广受欢迎的SYS/BIOS RTOS的创新型 TI 视觉 SDK 使得能够在众多的异型内核上并行运行多种算法,并更加容易地将新的功能集成到系统之中.此外,丰富齐全的调试与仪表测量特性还允许算法开发人员在系统环境…
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路线图,帮助新人尽快上手. 本文介绍的我所在小组的一些开发流程及相关工具.做为新人入门手册,其中某些工具可能只有我们这边在用,但对于其他公司的新人来说,一样是具有指导意义的. 2015.4.11 更新: 增加构建工具 Bazel, CMake介绍 增加Linux下任务管理相关命令 增加正则表达式调试的…
Atitit.软件开发的几大规则,法则,与原则Principle  v31.1. 修改历史22. 设计模式六大原则22.1. 设计模式六大原则(1):单一职责原则22.2. 设计模式六大原则(2):里氏替换原则22.3. 设计模式六大原则(3):依赖倒置原则22.4. 设计模式六大原则(4):接口隔离原则22.5. 设计模式六大原则(5):迪米特法则22.6. 设计模式六大原则(6):开闭原则23. S.O.L.I.D原则(oo fp)33.1. Single Responsibility Pr…
生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了. 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制,称为生成器:generator. 要创建一个generator,有很多种方…
软件开发过程(process) 是一个将用户需求转化为软件系统所需要的活动的集合. 软件生命周期(SDLC,Software Devlopment Life Cycle) 软件从孕育.诞生.成长.成熟.衰亡等阶段称为软件生命周期. 早期系统开发的生命周期以结构化的方法具体分成了六个阶段:问题的定义及规划.需求分析.软件设计.程序编码.软件测试.运行维护. 而随着面向对象方法和统一软件开发过程(RUP)方法论的提出,出现统一过程的生命周期,在统一过程中以迭代的方式重复一些列组成系统生命周期的循环,…
UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准,它是一种图形化.可视化的语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置. UML是一种建模语言,而不是一个开发过程. UML统一了各种方法对不同类型的系统.不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异.它实际上是一种通用…
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 1.列表生成式,迭代器&生成器 列表生成 >>> a = [i+1 for i in range(10)] >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访…