关于快速开发框架,软件开发行业如何在竞争中取胜

大家都知道,现在和以前比起来,互联网行业、软件行业已经天差地别了。现在处处都在搞信息化建设,人人都知道互联网思维。这样的信息化时代,对于软件开发者、对于软件开发公司来说,是一个巨大的机遇。  在门外汉看来,软件开发是机遇大、成本低,只要叫几个程序员,就能搞出个软件公司来。但是,事实情况是这个样子吗?本人曾经在国内软件行业发展较好的二线城市发展,几年也亲眼看到了不少软件公司的衰落。有刚起步的创业
阅读本文

软件测试理论2:软件开发过程

软件产品由哪些部分构成?软件产品不仅仅指程序代码,还包括许多其他的可交付部分这些部分客户都要查看或使用,所以软件测试员也要检查这些  其中包括:帮助文件, 用户手册, 样本和示例 ,标签和不干胶 ,产品支持信息 ,图标和标志 ,错误信息 ,广告和宣传材料, 安装, 说明文件等等软件项目的成员?项目经理,程序经理或者监制人员自始至终驱动整个项目体系架构师或者系统工程师是产品小组中的技术专家测试员或质
阅读本文

Testing - 软件测试的思维和技巧

01 - 测试员不仅仅是执行测试用例,对实际结果和预期结果进行比较测试员其实是参与了设计和执行测试的各个环节:测试架构,环境搭建,测试用例等等,并确定预期输出。 大多数设计测试都是基于业务流程和原理的有效推断,或者测试员的有效经验。02 - 黑盒并不是基于“无知”的测试需要了解用户的期望和需要。需要了解测试背景(业务流程、业务配置、测试与运行环境的区别、业务数据、接口交互等等)。了解越多,了解的方
阅读本文

软件架构设计【学习】

引言软件架构设计总述:软件架构的概念软件架构的意义软件架构的风格分层架构面向服务的架构(SOA)特定领域的架构(DSSA) 软件产品线基于架构的软件开发(ABSD)软件架构与质量属性软件架构评估 ------------------------以上是自己学习的总结,
阅读本文

计算机软件相关基础参考书

c语言 《C程序设计语言》 《C语言参考手册》C++ 《Essential C++》 《C++ Primer》 《深度探索C++对象模型》 《C++程序设计语言》 《Think in C++ C++编程思想》Java 《 Java语言规范》 《Java并发编程实战》 《Java核心技术 卷1》 《Java核心技术 卷2》 《 Java编程思想》 《Effective Java》 《深入分析Java
阅读本文

印度人是怎样开发软件的?

我在工作中,接触到印度软件公司开发出来的软件:整个体系架构非常清晰,按照我们的要求实现了全部功能,而且相当稳定。但是打开具体的代码一看,拖沓冗长,水平不咋样。我们自己的一些程序员就有怪话了,说他们水平真低。但是,印度人能够把软件整体把握得很好,能够完成软件,并得到相当好的设计文档。而中国人在那里琢磨数据结构、算法,界面人员就还没编码就想着是Outlook式的还是VisualStudio式的界面。
阅读本文

架构师之路->架构师思维的培养

公司的CMS(综合赋码管理系统)是WINFORM的CS架构。这套系统的架构师换了3届,到现在已经几年没有架构师了。本来入职时,岗位目标就是这个“自动化架构师”。后来和领导达成共识先争取成为储备架构师,因为架构首先是为业务服务的,而工控行业有许多特别的地方,不是普通的软件技术堆叠就能做出优秀的工控软件的。原来以为已经有十多年经验了,CS没有啥搞头了。实际上最近近半年的学习,发现真的是需要活到老学到老
阅读本文

新型软件开发过程模型

目前流行的软件开发过程模式有CMMI、RUP、XP、MSF等。RUP具有很优点:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系架构、可视化建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。但同时它也存在一些不足: RUP只是一个开发过
阅读本文

对统一软件开发过程(RUP)的认识

RUP与UML的关系1.UML的构成    UML作为一种半形式化的规约语言,提供了:    (1)支持建模的术语(表)      ①该术语表中的术语跨越了问题空间到目前“运行平台”之间;      ②该术语表支持不同抽象层的建立;      ③该术语表支持以面向对象的观点,建立系统模型。  (2)支持建模的表达格式      为了表达概念模型和软件模型,UML提供了14种图形化工具,即:
阅读本文

linux软件管理工具-yum

1、yum简介1.1 What‘s yumyum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器。它可以系统管理员交互和自动化地管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包。1.2 yum的基本目录YUM配置文件          /etc/yum.conf,通常无需修改仓库配置文件目录    /etc/
阅读本文

关于软件工程课程的学习计划

《一》个人介绍我是15级计算机科学与技术专业的学生,黄慧。但是并不是很擅长技术方面的学习。在进入大学的第一年,加了工作室,一开始选择的方向是大数据,后来没人带,学的不好,兴趣不足就转了方向,同期也在学习ps方面的有关知识,但是没有深入研究。后来转向了web前端方向的学习,学的也并不是很好,只是学了一些皮毛,期间也提前接触了github。现在加了一个软硬件方向老师的工作室,也就留滞了web方向的学习
阅读本文

软件行业里常说的“架构”

缘起  一直以来,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。甚至于很多架构师一说架构,就开始谈论什么应用架构、硬件架构、数据架构等等。我曾经也到处寻找过架构的定义,请教过很多人,结果发现,没有大家都认可的定义。套用一句关于 big data 流行的笑话,放在架构上也适用:  Architecture is like teenage sex,everybody talks a
阅读本文

软件设计原则之职责单一原则

职责单一原则作为面向对象的SOLID原则之首,可见其重要性了,职责单一原则使得软件系统更易于开发,测试和维护,在设计架构上也体现了高内聚低耦合的特性。面向对象的S.O.L.I.D 原则 一般来说这是面向对象的五大设计原则,但是,我觉得这些原则可适用于所有的软件开发。 Single Responsibility Principle (SRP) – 职责单一原则 关于单一职责原则,其核心的思想是:一个
阅读本文

软件开发过程中的文档总结

(一)、在系统软件的开发前期,需要的文档有:1.系统开发立项报告,需要包含的:  (a).项目的定位及价值  (b).开发中的主要难点及可能出现的问题  (c).时间规划及人员安排 2.系统设计原理,需要包含: (a).总体框架 (b).实现原理 (c).存在问题及解决方案 2.1需求文档,包含内容:(1)概述 1.1原始需求 1.3术语与缩写解释(2).需求描述2.1数据描述2.2功能描述2.3
阅读本文

软件架构设计系列总结

架构引用维基百科:软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,
阅读本文

国内一些大型软件企业现状

加班多。这类公司文化中带着加班的文化,并且是低效的,就是你事情做完了,也希望你留住公司,领导希望看到你在公司。当者管理层说出来时,他们还不好意思讨论。到这儿让我们联想CoolShell起<<加班与效率今天先到这儿,希望对您在系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章: Petter Liu 出处:
阅读本文

基于微服务的软件架构模式

微服务(micro services)这个概念不是新概念,很多公司已经在实践了,例如亚马逊、Google、FaceBook,Alibaba。微服务架构模式(Microservices Architecture Pattern)的目的是将大型的、复杂的、长期运行的应用程序构建为一组相互配合的服务,每个服务都可以很容易得局部改良。 Micro这个词意味着每个服务都应该足够小,但是,这里的小不能用代码
阅读本文

我的路子 - 发现游戏为模型的软件架构方式

总觉得如果一个内容被深刻地理解了,那么当在他口中说出来的时候,应该是很简单才对。  所以一直觉得,编程里那些不容易理解的,需要记住很多内容的东西都是有缺陷的。自己又比较自我认可强,看不到别人的角度,表现上有些自我。自己想的只是,事情还有很多解决方法,为什么要被那一种很难学的方式占了路子,而且找不到理解透彻的,有点为这种状况气愤,觉得肯定是没有好好做的原因,或者是一些人太安于现状的原因,或者是一
阅读本文

软件测试方法汇总

软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多。 我参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法。 从测试设计方法分类  测试名称 测试内容 Black box黑盒测试 把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。从软件的行为,而不是内部结构出发来设计测试. Whit
阅读本文

软件测试工程师笔试题目

软件测试工程师笔试题目一.填空1、 系统测试使用( C )技术, 主要测试被测应用的高级互操作性需求, 而无需考虑被测试应用的内部结构。 A、 单元测试         B、 集成测试       C、 黑盒测试       D、白盒测试 2、单元测试主要的测试技术不包括(B  )。 A、 白盒测试                    B、 功能测试 C
阅读本文