软件开发通用常识

1.软件版本命名

软件版本号由四部分组成:

第一部分            软件架构或软件界面变化

第二部分            软件功能新增

第三部分            软件bug修复

第四部分           1.编译版本号加日期版本号 它是编译时的版本标记,一般序号都是递增的。(如windows系统版本号)

2.日期版本号加希腊字母版本号 用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。

希腊字母版本号常见有3种,分别为:alpha(内测版)、beta(公测版)、release(正式版)。

例如:1.1.1.20160101_beta

2.软件开发模型

瀑布模型

快速原型模型

增量模型

迭代(演化)模型

螺旋模型

3.软件架构

mvc模式

mvp模式

mvvm(mvvc)模式

4.单例与原型(属于软件设计模式)

单例只有一个实例。(世界上只有独一无二的我)

原型根据一个原型创建N个对象。(根据“人”,创造“男人”与“女人”)

5.软件编程思想

面向过程

面向对象编程

面向切面编程

6.UML基本模型图

用例图

类图

对象图

活动图

状态图

序列图

协作图

组件图

部署图

7.字节流与字符流
以InputStream(输入)/OutputStream(输出)为后缀的是字节流。
以Reader(输入)/Writer(输出)为后缀的是字符流。

字节流:程序-直接操作文件-文件
字符流:程序-放入缓存-写入文件-文件

PS:优先使用字节流。

8.stack(堆)和heap(栈)

堆是栈的一个组成元素。堆,先进先出。
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈,先进后出。

9.接口与抽象类

接口就是指一些行为或动作。(有没有这种行为或动作)

抽象类就是指一些事物的本质。(是不是这种东西)

10.阻塞与非阻塞

阻塞就是一直等待消息,不等到消息不离开,一直挡道。

非阻塞就是每隔一段时间去看看消息到了没,没到就回去,不挡道。

11.异步与同步

异步就是做完一件事后,不需要等待结果,接着干另一件事。

同步就是做完一件事后,等待结果,拿到结果才能干另一件的事。

12.线程与进程

线程类似于一棵树的所有枝干。

进程类似于独立的一棵树。

线程是进程的一部分。

时间: 2024-11-05 13:43:45

软件开发通用常识的相关文章

软件开发基础常识

1.数据库:DB2  Oracle  Sybase  SQL Server  mySQL  SQLite 2.开发语言:c/c++  java  .net  php object-c (1)两种开发思想:面向对象和面向过程 3.开发工具:eclipse Xcode  myeclipse mulestudio 4.常见容器:jboss  tomcat wasphere 5.常见的操作系统:windows linux unix OS-X

怪不的软件开发这么挣钱,原来是有这么多职位

说起软件开发,现在是无人不知,无人不晓.好多人可能以为软件开发就是做一样工作的,其实不然,软件开发也分很多种类型,很多方向.做为一个过来人,简单介绍一些常见的开发方向. 1. 桌面程序:Java.C++.C#.VB.C均可. 现在大家办公使用的还是桌面程序占多数,不管是OA,ERP等等,都是通过PC来操作,桌面程序开发是一个重要的方向.只要PC还在,桌面程序开发就会一直存在. 2. 网站服务器端开发:JSP(Java语法).PHP.ASP(C#语法).Web App框架等 互联网发展的一个重要部

软件工程过程 第2章 软件开发的主要活动

1.需求工程.P13 需求是任何软件开发项目的基础. 好的需求是项目成功开发的必要条件. 需求分析工作可划分为两个阶段:需求开发和需求管理.需求开发就是传统意义上的需求分析. 2.需求开发(需求分析)的目标.P13 与客户和其他涉众在系统的工作内容方面达成并保持一致. 使系统开发人员能够更清楚地了解系统需求,定义系统边界: 为软件实施计划提供基础: 为估算开发系统所需成本和时间提供基础: 定义系统用户的需求和目标. 3.需求开发阶段包括需求获取.需求分析.规格化说明和需求验证4个活动:需求管理包

软件开发的一些"心法"

从事软件开发也有好几年了,和一开始那个懵懵懂懂的小菜鸟相比,自己也感觉到了一些变化. 也许是熟能生巧,趟过很多坑,但核心的绝不是这些细节的东西. 打个比方,如果说对某种语言的特性和技巧的掌握属于身法,那么对应核心的东西,就叫心法. 没有身法,心法难以实战;但是没有心法,身法再炫也不过是无谓的杂耍而已.今天,就来讲讲多年浸淫软件开发所感悟的一些"心法". 三部曲 软件开发,无论是用什么语言,在什么操作系统,都有其本身不变的东西,称之为编程思想.对我而言,我所遵循的开发思想其实很简单,却都

敏捷软件开发和传统软件工程

一.   传统软件工程 从上个世纪60年代开始,人们开始逐渐认识到了确实存在着"软件危机" 这样一个事实,软件开发人员被诸如下列问题困扰: 软件生产不能满足日益增长的需要 软件开发成本和开发进度估计往往不准确 软件开发人员和用户之间信息交流不充分,用户对完成的软件满意度很低 软件价格昂贵,软件成本在整个计算机系统中所占的比例急剧上升,软件已成为许多计算机系统中花钱最多的项目 软件质量难以保证 软件可维护性差,程序中的错误很难改正,适应性或完善性维护都极其困难 导致危机问题的一个重要原因

软件工程:传统软件工程 vs 敏捷软件开发

前言 软件工程(Software Engineering): 是一种层次化技术. 将系统化的.规范的.可量化的方法应用于软件的开发.运行和维护,即将工程化的方法应用于软件. 研究"建立和使用一套合理的工作原则,以便经济地获得可靠的.可以在实际机器上高效运行的软件"的方法. 敏捷软件开发(Agile software development): 一种应对快速变化的需求的一种软件开发方法.基于迭代和增量开发,通过自组织,跨团队,沟通协作完成开发工作. 一.传统软件工程 (一)产生背景 随着

敏捷软件开发 – OCP 开放-封闭原则

软件实体(类.模块.函数等)应该是可以扩展的,但是不可修改的. 如果程序中的一处改动就会产生连锁反应,导致一系列相关模块的改动,那么设计就具有僵化性的臭味.OCP建议我们应该对系统进行重构,这样以后对系统再进行这样那样的改动时,就不会导致更多的修改.如果正确地应用OCP,那么以后再进行同样的改动时,就只需要添加新的代码,而不必改动已经正常运行的代码. OCP概述 遵循开放-封闭原则设计出的模块具有两个主要的特征.它们是: 对于扩展是开放的(open for extension).这意味着模块的行

《敏捷软件开发读书笔记之一》

要想成为一名优秀的软件开发者,需要熟练应用编程语言和开发工具,更重要的是能够领悟代美代码背后的原则和前人总结的经验——这正是本书的主题.本书凝聚了世界级软件开发大师RobertCMartin数十年软件开发和培训经验,不仅是一部深入浅出.生动易懂的面向对象原则与模式著作,而且还是一部通俗的敏捷方法导引书和快速实用UML教程.分为敏捷开发,敏捷设计,薪水支付案例研究,打包薪水支付系统,气象站案例研究和ETS案例研究六个部分,包含30个章节.以下是我对前两个部分的认识及见解: 以下六章是对第一部分敏捷

让你提前认识软件开发(20):如何在C语言里面执行SQL语句?

[文章摘要] 在通信类软件中,程序经常需要与数据库打交道.为了实现诸如从数据库中获取数据.更新数据库表某字段.插入或删除某条数据等功能,就需要在C语言程序中构造一些SQL语句,并用函数来执行这些SQL语句. 本文介绍如何在C语言程序中构造并执行SQL语句,为相关软件开发工作的开展提供了参考. [关键词] SQL语句  C语言  程序  流程  开发 一.为什么要在C语言程序中执行SQL语句? 在C语言程序中执行SQL语句的原因有以下几个: (1) 程序需要获取数据库中某数据表的字段值,并对这些字