0 宣言:DevOps & RUP统一过程建模





















1 项目管理 (需求管理 / 缺陷管理 / ...)

  • 禅道(前身:bugfree) [在线协作]
  • JIRA(项目与事务跟踪工具)

与禅道类同,但又不同,有明显的Scrum敏捷风格

  • Microsoft Project [离线维护]
  • 在线文档 or Excel

2 系统建模

2.1 全过程建模

uml中国 【推荐】

  • PowerDesigner
  • EnterpriseArchitect(EA)
原以为EA跟Rational Rose一样都仅仅是一个UML建模软件,随着对EA的熟悉发现EA的功能太强大了。
EA跟Rational Rose大不一样,Rational Rose只是实现对软件的建模即构建系统的UML模型,而EA却不仅仅是实现这些功能。
对于一个软件设计者来说,从需求分析到概要设计、详细设计、数据库设计到测试、发布、部署等一系列软件设计必须的操作都可以在EA中完成。
可以说只需要一个EA就可以完成一个软件的设计。 生命周期软件设计方案——Enterprise Architect是以目标为导向的软件系统。
它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统管理,非功能需求,用户界面设计,测试和维护等。
为整个团队提供高级的UML 2.0建模工具。
EA为用户提供一个高性能、直观的工作界面,联合UML 2.0最新规范,为桌面电脑工作人员、开发和应用团队打造先进的软件建模方案。
该产品不仅特性丰富,而且性价比极高,可以用来配备您的整个工作团队,包括分析人员、测试人员、项目经理、品质控制和部署人员等。


  • Rational Rose

2.2 部分过程建模

  • Microsoft Visio
  • 亿图图示
  • UMLet

2.3 其他

  • Xmind

3 快速原型 & 界面设计

  • Axure RP [快速原型 / 设计草图]
  • Photoshop(标量图) / Adobe Illustrator(矢量图) [效果图]

4 程序开发

4.0 IDE(集成开发环境) & Editor(编辑器)

  • IntelliJ IDEA / MyEclipse/Eclipse / VSCode

  • HBuilder

HBuilderDCloud(数字天堂)推出一款支持HTML5Web开发IDE

4.1 前端

  • HTML & CSS/LESS/SASS & JavaScript(含: Ajax)

  • npm(包管理)

  • 基础开源框架

easyui
easyui是一种基于jQuery的用户界面插件集合。
easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能。
使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以定义用户界面。
easyui是个完美支持HTML5网页的完整框架。
easyui节省您网页开发的时间和规模。
easyui很简单但功能强大的。
  • Hybrid App Framework(混合模式移动应用框架)

Uni-App:一次开发,多端覆盖

  • NodeJs

  • 截图

  • 取色

4.2 后端

4.2.1 Server

Windows版 下载地址 : http://www.hostbuf.com/downloads/finalshell_install.exe

4.2.2 Language & Frameworks & Tools

  • PHP
  • Python
  • Java / JVM
[聚合框架/整体解决方案框架]
Spring Boot
Spring Cloud (微服务框架)
Nacos [Web层]
Spring MVC
Struts / Struts2 [业务领域层 & 对象容器层]
Spring [持久层/DAO层]
MyBatis / MyBatis Plus / Hibernate / Spring JPA (重量级框架)
Apache Commons DbUtils (轻量级框架)
com.github.jsqlparser:jsqlparser (sql解析框架)
C3P0 / Druid / ... (连接池)
redis.clients:jedis / mysql-connector-java / com.oracle:ojdbc7 / org.postgresql:postgresql / com.microsoft.sqlserver:sqljdbc (jdbc) [缓存(JVM级)]
com.google.guava.guava (JVM级缓存) ——————————————————
[公共]
org.apache.commons:commons-lang3 / hutool (工具类库库)
commons-beanutils{特点:bean类库}
commons-collections{特点:集合类库}
commons-io
commons-fileupload
Log4j / Log4j2{主流} / logback{主流} / commons-logging / slf4j{绝对的主流日志标准框架} (日志)
freemarker / thymeleaf / (模板引擎/网页渲染器)
org.quartz-scheduler.quartz / com.xxl.job-core (任务调度框架)
javax.mail / (邮件)
com.jcraft.jsch{Java Secure Channel/一个SSH2的纯Java实现} (ssh)
joda-time (时间处理)
org.mozilla.javascript / Rhino.js (基于java的javascript实现引擎)
org.drools:[drools-core + drools-compiler](基于Java的规则引擎) [运行期编译器]
janino (java运行时编译器)
org.eclipse.jdt.core.compiler:ecj{在Maven构建中使用Eclipse Java Compiler} [文件解析/数据解析]
fastjson / jackson / net.sf.json-lib:json-lib (json与对象的双向解析/序列化)
com.google.protobuf:protobuf-java(二进制数据流与对象的双向解析/序列化)
org.apache.avro:avro(rpc/序列化;Avro是Hadoop的一个数据序列化系统)
com.thoughtworks.xstream:xstream{Java对象序列化与XML的双向解析}
DOM / SAX / JDOM / DOM4J{xml读/写;市场占有率更高} / xml-apis:xml-apis / xml-apis.java:xml-apis-ext / xerces:xercesImpl (XML读/写)
com.artofsolving:jodconverter (office转pdf)
org.apache.poi.[poi + poi-ooxml + poi-scratchpad] (Word读/写)
net.sourceforge.jexcelapi:jxl (Excel读/写)
batik-bridge (svg读/写) [数据处理]
pentaho-kettle:kettle5-log4j-plugin:6.1.0.1-196(kettle/ETL&处理数据) [网络编程]
io.netty:netty-all{Netty:NIO/异步事件驱动的网络应用框架;Jboss的一部分}
tomcat / org.eclipse.jetty:[jetty-server + jetty-webapp + jetty-continuation + jetty-jsp]{需结合/引入eclipse的ecj编译器方能打包} (servlet容器)
HttpClient / OkHttp / Jsoup(优势:网页解析) / org.seleniumhq.selenium:selenium-java / org.seleniumhq.selenium:selenium-chrome-driver(网络请求)
org.restlet.jse:org.restlet (用于Java的REST框架)
org.springframework.ws:spring-ws-core / org.apache.cxf:[cxf-rt-transports-http + cxf-rt-frontend-jaxws]{基于Maven在Spring中集成CXF Web Service框架;更易于使用;市场占有率高一些} (WebService框架)
com.caucho:hessian{类似于RMI的基于HTTP的轻量级远程服务解决方案} (远程调用框架) ftp4che / ftp4j / commons-net / jftp / edtFtpjJ (ftp/文件传输) [图形化编程]
org.jfree.jfreechart (基于Java的图表展示) [硬件信息采集] https://www.jianshu.com/p/2f979b7b7d52
sigar / oshi [AI/机器学习]
jieba (优势:分词) / hanlp (自然语言处理)
  • ElasticSearch/ELK / Redis / FastDFS / MongoDB / RabbitMQ / RocketMQ / ... (数据存储:存储/缓存/搜索/消息队列/解耦/削峰/...)
  • Maven / Gradle (包管理)
[maven私服/仓库] https://www.cnblogs.com/knowledgesea/p/11190579.html
Nexus [maven插件]
tomcat7-maven-plugin (maven内嵌tomcat到web项目的插件,可直接运行webapp项目) : https://www.cnblogs.com/afeng2010/p/10224597.html maven-surefire-plugin (maven执行测试用例的插件, 不显式配置maven就会用默认配置) maven-compiler-plugin (maven编译项目的源代码插件, 可显式指定项目源码的jdk版本)
maven作为项目管理工具,若我们不告知代码要使用和编译的jdk版本时,其将用maven-compiler-plugin默认的jdk版本来进行处理————极易出现JDK版本不匹配,以至于可能导致编译不通过的问题。
  • Tomcat / Nginx (Web Server)
  • Arthas / JConsole / jps / ...(JVM监控与Debug工具)

4.3 数据库开发

  • 数据库管理工具

4.4 前后端协作

  • YAPI : 接口定义、接口检索、接口调用
  • Swagger : 接口定义、接口检索、接口调用
  • Postman : 接口调试

5 版本管理

  • Git / GitLab [推荐]
  • SVN

6 构建

  • Maven (Java)
  • Gradle (Java/Kotlin/...)
  • sbt (Scala)
  • npm (前端/JS)

7 测试

  • TestLink (基于web的测试用例管理系统)
TestLink 是基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能。
TestLink用于进行测试过程中的管理,通过使用TestLink提供的功能,可以将测试过程从测试需求、测试设计、到测试执行完整的管理起来,同时,它还提供了好多种测试结果的统计和分析,使我们能够简单的开始测试工作和分析测试结果。
TestLink 是sourceforge的开放源代码项目之一。作为基于web的测试管理系统,TestLink的主要功能包括:
测试需求管理
测试用例管理
测试用例对测试需求的覆盖管理
测试计划的制定
测试用例的执行
大量测试数据的度量和统计功能。
  • SonarQube (代码静态扫描)

    • PMD / CheckStyle / Findbugs
sonar可通过PMD,CheckStyle,Findbugs等【代码规则检测工具】规范代码编写。 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷




  • JUnit(单元测试)
  • JMeter / LoadRunner (性能测试)
LoadRunner,是一种预测系统行为和性能的负载测试工具。
通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。
企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
  • soapUI
  • appnium(APP移动端自动化测试{IOS/Android})
  • selenium(Web自动化/系统功能测试、浏览器与操作系统的兼容性测试)

9 发布/集成 : 持续集成

  • Jenkins (持续集成)
  • Codeship (持续集成)
提供快速安全的托管持续集成服务的平台

10 部署

  • openstack (开源的云计算管理平台项目)
  • VMWare
  • Docker
  • Golang
  • Xshell / MobaXterm / Putty / WinSCP

11 运维 : 自动化运维

  • K8S(容器编排) / Rancher
  • Linux Shell & Python
  • puppet(一种Linux、Unix、windows平台的集中配置管理系统)
  • Chef (自动化配置管理工具)
  • Ansible (基于python的自动化运维工具)

12 监测

  • Nagios (监视系统运行状态和网络信息的监测工具)
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
  • zabbix(基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案)
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
  • ELK(日志收集与分析系统)
  • ElasticSearch / Logstash / Kibana
  • splunk (机器数据的引擎)

可类比: ELK

splunk是一款可以收集,索引和利用任何数据的“大数据平台”。
使用 Splunk 可收集、索引和利用所有应用程序、服务器和设备生成的快速移动型计算机数据。
如今互联网的普及,数据是一个大爆发的时代,对于应用程序和系统来讲会产生各种各样的数据,其中很重要的一类数据就是“LOG”。一个商店的售卖情况会产生log,一个linux系统会产生log,一个应用服务器会产生log,这些log有着自己独特的意义价值,售卖情况的log可以给经营者决策判断信息,linux系统log可以给运维工作人员定位分析的信息,应用服务器的log也可以体现相关信息。如何从这戏log中准确,快速,形象化地提取出有价值的信息,splunk便可以做到这些工作。

13 操作系统

  • Linux

Ubuntu & CENTOS/RedHat

Y 问题集

Q0 Devops的参考书籍?

《企业级Devops技术与工具实战》

Q1 tomcat / jetty / netty 的区别?

1 web servlet容器: jetty / tomcat
2 异步(NIO)事件驱动的网络应用框架: netty 3 Jetty 8和Apache Tomcat 7支持servlet 3.0规范,但netty不支持。因为netty本身就不是一个servlet容器。
Jetty是一个轻量级的servlet容器,易于嵌入到Java应用程序中,还有一个易于使用的jetty客户端。
Netty是一款NIO客户端服务器框架、一个异步事件驱动的网络应用框架。可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化并简化了TCP和UDP套接字服务器等网络编程。
因此Netty专注于帮助编写NIO /非阻塞异步网络程序。例如,你可以在Netty框架的帮助下编写自己的servlet容器或http客户端应用程序。

Q2 UML系统建模工具Rational Rose、PowerDesign、EA、Visio的区别?

ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能。ROSE主要是在开发过程中的各种语义、模块、对象以及流程,状态等描述比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加明朗(但是它的结构仅仅对那些对掌握UML的开发人员,也就是说对客户了解系统的功能和流程等并不一定很有效),对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。

Rational Rose是一种基于UML的建模工具。在面向对象应用程序开发领域,Rational Rose是影响其发展的一个重要因素。
Rational Rose自推出以来就受到了业界的瞩目,并一直引领着可视化建模工具的发展。越来越多的软件公司和开发团队开始或者已经采用Rational Rose,用于大型项目开发的分析、建模与设计等方面。
从使用的角度分析,Rational Rose易于使用,支持使用多种构件和多种语言的复杂系统建模;利用双向工程技术可以实现迭代式开发;团队管理特性支持大型、复杂的项目和大型而且通常队员分散在各个不同地方的开发团队。
同时,Rational Rose与微软Visual Studio系列工具中GUI的完美结合所带来的方便性,使得它成为绝大多数开发人员首选建模工具;Rose还是市场上第一个提供对基于UML的数据建模和Web建模支持的工具。
此外,Rose还为其他一些领域提供支持,如用户定制和产品性能改进。具体介绍可参看http://www.uml.org.cn/RequirementProject/200604043.htm

PowerDesigner原来是对数据库建模而发展起来的一种数据库建模工具。直到7.0版才开始对面向对象的开发的支持,后来又引入了对UML的支持。但是由于PowerDesigner侧重不一样,所以它对数据库建模的支持很好,支持了能够看到的90%左右的数据库,对UML的建模使用到的各种图的支持比较滞后。但是在最近得到加强。所以使用它来进行UML开发的并不多,很多人都是用它来作为数据库的建模。如果使用UML分析,它的优点是生成代码时对Sybase的产品PowerBuilder的支持很好(其它UML建模工具则没有或者需要一定的插件),其他面向对象语言如 C++,Java,VB,C#等支持也不错。但是它好像继承了Sybase公司的一贯传统,对中国的市场不是很看看好,所以对中文的支持总是有这样或那样的问题。

http://www.uml.org.cn/UMLTools/powerDesigner/powerDesignerToolIntroduction.htm

UML建模工具Visio 原来仅仅是一种画图工具,能够用来描述各种图形(从电路图到房屋结构图),也是到VISIO2000才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式来表达各种商业图形用途的工具(对软

件开发中的UML支持仅仅是其中很少的一部分)。它跟微软的office产品的能够很好兼容。能够把图形直接复制或者内嵌到WORD的文档中。但是对于代码的生成更多是支持微软的产品如VB,VC++,MS SQL Server 等(这也是微软的传统),所以它可以说用于图形语义的描述比较方便,但是用于软件开发过程的迭代开发则有点牵强。

Enterprise Architect是一个全功能的、基于UML的visual CASE工具,主要用于设计、编写、构建并管理以目标为导向的软件系统。它支持用户案例、商务流程模式以及动态的图表、分类、界面、协作、结构以及物理模型。此外,它还支持C++、Java、Visual Basic、Delphi、C#以及VB.Net。具体可看http://www.softwarechn.com/SparxSystems/sparxsystems_index.htm

Q3: maven中如何引入keetle的JAR包?

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
... <!-- 新增大数据组件jar -->
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-core</artifactId>
<version>${kettle.version}</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
</exclusion>
<exclusion>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis-ext</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-engine</artifactId>
<version>${kettle.version}</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-dbdialog</artifactId>
<version>${kettle.version}</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-ui-swt</artifactId>
<version>${kettle.version}</version>
</dependency>
<dependency>
<groupId>com.verhas</groupId>
<artifactId>license3j</artifactId>
<version>1.0.7</version>
</dependency> <dependency>
<groupId>pentaho</groupId>
<artifactId>pdi-osgi-bridge-core</artifactId>
<version>${kettle.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- -->
<dependency>
<groupId>pentaho</groupId>
<artifactId>pentaho-platform-extensions</artifactId>
<version>${kettle.version}</version>
<exclusions>
<exclusion>
<artifactId>xbean</artifactId>
<groupId>org.apache.xbean</groupId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
<exclusion>
<groupId>elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.ws.commons.schema</groupId>
<artifactId>XmlSchema</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.ws.commons.neethi</groupId>
<artifactId>neethi</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.karaf.jaas</groupId>
<artifactId>
org.apache.karaf.jaas.modules
</artifactId>
</exclusion>
<!-- 解决数据服务包冲突 -->
<exclusion>
<groupId>pentaho</groupId>
<artifactId>
pentaho-hadoop-hive-jdbc-shim
</artifactId>
</exclusion>
<exclusion>
<groupId>woodstox</groupId>
<artifactId>wstx-asl</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.metro</groupId>
<artifactId>webservices-rt</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>pentaho</groupId>
<artifactId>pentaho-metaverse-api</artifactId>
<version>${kettle.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>pentaho</groupId>
<artifactId>pentaho-metaverse-core</artifactId>
<version>${kettle.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-xml</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>pentaho</groupId>
<artifactId>pentaho-metaverse-web</artifactId>
<version>${kettle.version}</version>
</dependency> <dependency>
<groupId>pentaho</groupId>
<artifactId>metastore</artifactId>
<version>${kettle.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency> <dependency>
<groupId>pentaho</groupId>
<artifactId>pentaho-platform-api</artifactId>
<version>${kettle.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
</exclusion>
</exclusions>
</dependency> <!--<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle5-log4j-plugin</artifactId>
<version>6.1.0.1-196</version>
</dependency>-->
<!-- https://mvnrepository.com/artifact/org.apache.karaf/org.apache.karaf.util -->
<dependency>
<groupId>org.apache.karaf</groupId>
<artifactId>org.apache.karaf.util</artifactId>
<version>3.0.3</version>
</dependency> <!-- <dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle5-log4j-plugin</artifactId>
<version>6.1.0.1-196</version>
</dependency> --> ...
<repositories>
<repository>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</repository>
<repository>
<id>kettle</id>
<url>https://nexus.pentaho.org/content/groups/omni/</url>
</repository>
</repositories>
</project>

X 参考文献

有时需要将一个简单的功能封装为服务,相比python使用flask、web.py的简洁,使用java-web显得太重量级。
幸好,我们可直接在java项目中使用jetty来搭建简易服务

[软件过程/软件生命周期模型]软件过程的工具链&技术链【待续】的更多相关文章

  1. 形形色色的软件生命周期模型(4)——MSF、实用型

    摘要: 读大学时,我们曾经学习过不少软件生命周期模型,当时还不是很懂软件开发,你可能会觉得这些东西很新奇.在实际工作中,你会发现这些模型其实很难应用,与此同时你会接触到RUP.MSF等权威软件公司的生 ...

  2. Mono产品生命周期

    软件生命周期 同任何事物一样,一个软件产品或软件系统也要经历孕育.诞生.成长.成熟.衰亡等阶段,一般称为软件生命周期(软件生存周期) .软件生命周期模型是指人们为开发更好的软件而归纳总结的软件生命周期 ...

  3. 软件测试的分类&软件测试生命周期

    软件测试的分类: 按测试执行阶段:单元测试.集成测试.系统测试.验收测试.(正式验收测试,Alpha 测试-内侧,Beta 测试-公测) 按测试技术分类:黑盒测试.白盒测试.灰盒测试 按测试对象是否运 ...

  4. 熟悉软件的生命周期AND测试工程师的工作流程

    1.软件的生命周期 *软件生命周期(SDLC)是软件开始研制到最终被废弃不用所经历的各个阶段.在不同阶段里,由不同的组织.个人和资源进行着明确的任务. 2.生命周期的模型 *常见的生命周期模型有:瀑布 ...

  5. 数据库设计 Step by Step (2)——数据库生命周期

    引言:数据库设计 Step by Step (1)得到这么多朋友的关注着实出乎了我的意外.这也坚定了我把这一系列的博文写好的决心.近来工作上的事务比较繁重,加之我期望这个系列的文章能尽可能的系统.完整 ...

  6. Activity生命周期的学习以及Logcat的使用

    http://android.blog.51cto.com/268543/322518/  Activities是由Activity stack管理的.当一个新的Activity被启动,它就会处于st ...

  7. 软件测试的生命周期&测试流程

    一.软件的生命周期 二.软件生命周期的阶段 三.软件模型 四.软件测试的基本流程 五.软件开发流程.测试流程梳理 六.C/S与B/S架构 七.对软件测试行业的理解 八.常见笔试面试题 一.软件的生命周 ...

  8. [转]: 两分钟彻底让你明白Android Activity生命周期(图文)!

    转自:http://blog.csdn.net/android_tutor/article/details/5772285 大家好,今天给大家详解一下Android中Activity的生命周期,我在前 ...

  9. Maven生命周期详解

    来源:http://juvenshun.iteye.com/blog/213959 Maven强大的一个重要的原因是它有一个十分完善的生命周期模型(lifecycle),这个生命周期可以从两方面来理解 ...

  10. Android生命周期详细说明

    提供两个关于Activity的生命周期模型图示帮助理解:                                           图1 图2 从图2所示的Activity生命周期不难看出, ...

随机推荐

  1. Shell脚本基本命令4

    使用join连接字段 1.$ cat >sales 创建salse文件 #业务员数据   注释说明 #业务员量 joe 100 jane 200 herman 150 chris 300 2.$ ...

  2. 面向对象3(Java)

    多态 基本介绍 即同一方法可以根据发送对象的不同而采用多种不同的行为方式 一个对象的实际类型是确定的,但是可以指向对象的引用类型可以很多 多态存在的条件:a.有继承关系:b.子类重写父类方法:c.父类 ...

  3. 树形DP【初级版】

    START: 2021-08-14 10:00:37 在树形DP中,我们可以用数据模拟出一张图,一般是一棵树或是森林,所有的节点一般最多只有一个父节点.并且树里面没有重边或者环, 因此,一颗有N个节点 ...

  4. python——numpy

    NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. import numpy a = num ...

  5. 用C#语言实现记事本

    一.实验内容: 二.记事本所需功能: (1)记事本程序具有文件的新建.打开.保存功能: (2)文字的复制.粘贴.删除功能:字体类型.格式的设置功能: (3)查看日期时间等功能,并且用户可三根据需要显示 ...

  6. 用requests库的get( )函数访问搜狗网站20次

    代码: import requests from bs4 import BeautifulSoup def getHTMLText(url): try: r=requests.get(url,time ...

  7. 统信桌面端专业版开启cron日志,确认定时任务执行情况

    默认没有开启cron日志记录 1. 修改rsyslog vi /etc/rsyslog.conf #将cron前面的注释符去掉 cron.* /var/log/cron.log 排查完毕需关闭,重新注 ...

  8. app 好用的手机端开发调试工具插件 vconsole vue3

    效果:可以在手机上看控制台的内容 $ npm install vconsole 在main.js里引入 // 添加移动端log查看调试器 import Vconsole from 'vconsole' ...

  9. nvm的下载安装

    nvm下载地址:https://github.com/coreybutler/nvm-windows/releases 下载包,双击安装,选取路径, 注意:如果按默认的,安装在c盘的话,那之后的切换版 ...

  10. 学习记录--C++多态性简答+编程题

    #include<iostream> #include<string> //双目运算符:运算符作用域两个操作数 //定义一个复数类,重载"+",作为复数类的 ...