首页 文章 精选 留言 我的

精选列表

搜索[软件产品],共1017篇文章
优秀的个人博客,低调大师

软件产品的“外部质量”和“内部质量”

这几天看了看《硝烟中的Scrum和XP》,其中作者将产品质量分为两种——“外部质量”和“内部质量”。作者认为,在项目工期紧的时候,外部质量是可以妥协的。而内部质量是不容妥协的。但是,哪些问题属于内部质量呢? 作者并没有详细的论述这个问题。下面,我列出了一些常见的场景和划分。你怎么看待这个问题呢? 外部质量 ● 可扩展性 我一直认为,一个没有明确的目标的可扩展性设计往往会变成过度设计。因此,我觉得可扩展性相关的质量问题应该作为外部质量看待。敏捷中强调 做的刚够就好。 ● 功能不完整的实现 有些时候,对某个功能模块的实现中存在 明显的 功能不完整。这一点我认为也是外部质量。因为,我们采用迭代式开发的目的就是可以逐渐的完成这个功能。但是,我认为这种功能不完整应该是 显而易见 的。否则,我认为就属于内部质量中的“逻辑严整性”和“语义清晰性”的问题了。 ● 性能 性能优化往往会牺牲架构的简单性和代码的可维护性。而且,我个人认为从实际的产品角度来看,性能只有“能够接受”和“不能接受”的差别,而没有“好”和“不好”的差别。因此,我认为它是产品是否能够验收的一个重要指标。但不是一个我们应该时刻关注的质量问题。 内部质量 ● 代码规范 混乱的代码意味着更加难以维护。划分外部质量和内部质量的一个重要标准是:对产品的可维护性有很大影响的质量问题应该称之为内部质量。因此,我认为代码规范为“内部质量”。 ● 设计和实现的逻辑严整性 例如:你设计了一个集合类,就应该确保集合的基本增删改操作正确。你可以在集合的删除操作中抛出“NotSupportException”或断言错误以标示该集合是一个只增集合。但是,你不能通过忽略删除方法的实现来达到同样的目的。 另外一个逻辑严整性问题的例子是:Equals方法和GetHashCode方法实现上。你可以同时不实现这两个方法。如果实现,就一定要实现正确。不能因为目前没有需求将该对象作为Hashtable的Key,而忽略GetHashCode的实现。 一个逻辑上不严整的设计往往会对将来使用该模块的开发人员造成误导。 最终造成可维护性问题。因此参考上面的原则,我认为这一条应该归为“内部质量”。 ● 语义清晰性 这一条和“逻辑严整性”类似。不能在方法命名等地方出现语义上的不清晰。对将来的使用者造成误导。 关于划分原则的思考 ● 对产品未来可维护性有影响的点应该归为内部质量 正因为“可维护性”往往是一个不易被觉察的问题,我才觉得可维护性是团队最应该关注的质量问题。是不能够放弃的底线。相对而言,“可扩展性”和“可维护性”如此相似,却恰恰相反,它看起来如此美妙。但,过度设计往往都是因为对“可扩展性”的追求而导致的。它反而是我们程序员应该时刻警惕的东西。 ● 内部质量往往比较虚,而那些清晰明确的问题或目标个人认为归为“外部质量”比较好。 人的精力是有限的,正因为这种有限性,让我们需要建立一些简单的原则来帮助我们将精力放在更重要的问题上。尽可能减少我们关注的范围,会让我们在这个范围内做的更好。因此,我觉得应该尽可能的将那些显而易见的问题排除出“内部质量”问题之外。这样,我们才能够更好的控制“内部质量”。那些显而易见的问题,其实,往往都不是问题。 ● 性能 这一点我一直很犹豫,因为往往一个不好的架构会导致难以修复的性能问题。但是,就这个话题而言。我还是更加倾向于将性能看做是外部质量。因为它往往是显而易见的。产品的Master,Customer等等很多人会关注与这个问题上。很多时候,在产品前期准备的时候就已经提出了明确的性能要求。因此,它是一个重要的产品测量点,但是,不是“内部质量”。 最新内容请见作者的GitHub页:http://qaseven.github.io/

优秀的个人博客,低调大师

诺基亚推出增强型智能软件产品

诺基亚近日宣布推出全新的机器学习能力及专业知识,助力运营商提升数字消费客户体验。 诺基亚的全新解决方案包括诺基亚自主服务(Nokia Autonomous Care)软件、诺基亚群体行为认知分析(Nokia Cognitive Analytics for Crowd Insight)软件及诺基亚分析办公(Nokia Analytics Office)服务套件,每一个都专门针对软件和服务市场的高增长领域,旨在助力运营商改善业务流程,为用户提供更大的价值。 诺基亚应用与分析事业部总裁Bhaskar Gorti表示:“下一步,我们将成立一家具备规模的独立软件公司,我们正在软件和服务能力上进行重要投资,从而帮助客户建立强大的数字业务。我们希望从一开始就避免一些问题的出现,来减少用户对客服的需求。同时,使运营商能够更好地了解并满足客户的需求。” “亲密接触”诺基亚自主客户服务软件 诺基亚自主服务软件专注服务于客户服务市场中增长最快的细分领域—客户交互市场。据调研机构Analysys Mason预测,在2020年之前,该市场年均增长率将达到 9%,实现14.86亿美元的销售额1。诺基亚自主服务软件将于今年第三季度上市,为客户提供深度机器学习能力,提前消除故障隐患。 诺基亚自主服务软件基于诺基亚深厚的数字网络和服务专业知识,能够提供集成了自然语言处理(NLP)功能及诺基亚贝尔实验室机器学习算法的交互服务机器人。这也是首个以电信行业丰富的经验及专有技术为基础开发的自主服务解决方案。 诺基亚自主服务软件能够准确预测并消除故障隐患,做到防患于未然。还能够配合苹果的Siri、亚马逊的Alexa、微软的Cortana及Facebook的Messenger等智能助手进行操作,允许用户使用自然语言并通过自己所选择的渠道来自主检测故障和请求服务,避免问题被搁置。 诺基亚贝尔实验室对诺基亚自主服务软件在一个一流的运营商网络中的表现进行了评估。评估结果显示,机器学习功能可以做到防患于未然,帮助用户预测并解决高达70%的会导致服务中断的住宅网络问题。同时还有数据显示,该软件可在无客户服务代表参与的情况下处理高达80%的服务问题,使服务台呼叫量、客户服务请求量及联络中心的工作负载大幅减少。 诺基亚群体行为认知分析软件 全新的诺基亚群体行为认知分析软件是诺基亚客户体验管理(CEM)解决方案组合的重要组成部分。该软件基于诺基亚贝尔实验室的机器学习算法,可利用实时网络数据(而非GPS或应用数据)来跟踪并分析用户总体行为走向。这样就提高了数据更新频率,增加了样本容量,进而提供准确、及时的行为信息,并可对逾200人的客户群体所产生的数据同时加以利用。该软件可定时进行自我优化,不断创建更加准确、完整的用户活动文件。 诺基亚群体行为认知分析软件可通过为运营商提供有价值的数据来创造新的收入来源。例如,帮助零售商确定适合开新店的高流量区域;帮助城市确定公交站的最佳位置;或依据用户出行方式帮助广告商适时确定数字化广告牌的最佳内容。近日,凭借诺基亚群体行为软件提供的数据,一家购物中心通过推出相关定制化活动,成功使其客流量增加40%。诺基亚群体行为认知分析软件将在今年第三季度正式上市。 诺基亚分析办公服务套件 如今,社会对法医科学家等紧俏型分析专家的需求与日俱增,而诺基亚分析办公服务套件正好可以满足这一需求。Analysys Mason的相关数据显示,分析服务市场正以每年7%的速度激增,预计2020年销售额将达16.13亿美元2。该完整型套件旨在助力运营商提升客户体验,实现服务盈利,更好地经营服务运营中心,发掘利用世界级数据科学家的专业知识,并实现网络自动化。 本文转自d1net(转载)

优秀的个人博客,低调大师

2020报表软件产品整理

开源报表却越来越受到程序员热烈追捧,如ireport、 Jsper report、jfreechart这样的免费,开源的JAVA报表工具,在一下开源的JAVA报表相关的论坛里面都是热火朝天,发问者众多。发现都会有利有弊,近因为公司需求的原因,我上网查找了好多报表工具和试用体验,下面是我向大家推荐5个开源报表工具。 1.iReport iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器,用Visual J++为Win32平台编写。iReport允许用户可视化地编辑XML JasperDesign文件,可以和其它数据库通过JDBC通信。在设计模板时可以以Html、Excel、Pdf等多种方式进行预览;用它生成的文件有.jrxml、.jasper两种文件,其中.jrxml就是我们设计时可视化编辑的xml文件,.jasper是经过编译.jrxml后生成的类文件,也就是我们最终在项目中用的报表模板文件。 2. JasperReport JasperReports是一个基于Java的开源报表工具,基于GPL开源许可协议, 完全采用java编写, 支持多种数据源,可打印或导出多种文件格式,支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。 JasperReport也包含多个组件: JasperReports Library 开源报表引擎库JasperReports Server 是一个独立可嵌入的报表服务器,对数据进行分析和提供定时任务服务。Jaspersoft Studio 是基于Eclipse的报表设计器,它能创建包含图表、图像、子报表、交叉表等复杂的报表。数据源可以是JavaBeans,XML,CSV Hibernate。Jaspersoft ETL 是易于部署和执行的开源ETL系统, 创建一个综合的数据仓库和数据集。 iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器,采用纯Java开发。这个工具允许用户可视化编辑包含charts,图片,子报表等的复杂报表。**3、jfreechart** JFreeChart 是一款易于扩展的纯Java编写绘图图库, 使用它可以生成线图、柱状图、饼图、曲线图、面积图、甘特图、仪表盘、混合图等多种图表,并可将图表输出为PNG、JPEG图片。 稳定、轻量级,支持多种图表类型一个灵活的设计,很容易扩展,并应用于服务器端和客户端的应用程序支持多种输出类型,包括Swing组件和JavaFX组件、图像文件(包括PNG和JPEG)和矢量图形文件格式(包括PDF、EPS和SVG)JFreeChart是开源的,基于GNU通用公共许可证 (LGPL)开源许可协议 这里要强调的是:iReport-0.5.0中集成了jasperreports-0.6.7、jfreechart-0.9.21,所以用iRepot-0.5.0就完全可以开发报表了,但在iReport中进行图形统计报表的开发没有采用,而是直接引用其组件包进行自己手写类来开发的(因为对图形统计图的开发iReport支持的并不好) 4、Pentaho Pentaho将你所有的数据转变成有意义的信息,为您设计Pentaho报表,一套开源的工具,允许你创建完美的报表,支持输出Excel、PDF、HTML、文本、富文本文件,XML和CSV,生成的报表可以很容易地从各种来源提炼成可读的数据。 Pentaho报表的开发是通过创建一个灵活且简单易用的报表引擎。这是一套开源工具,包括Report Designer、Reporting Engine和Reporting SDK。 5、BIRT BIRT 是基于 Eclipse 的一款开源报表,创建数据的可视化和报表,可以嵌入到富客户和Web应用程序。 BIRT主要由两部分组成:一个用于创建BIRT设计的可视化报表设计器,以及可以部署到任何java环境运行时组件。BIRT项目还包括一个图表引擎,可集成到BIRT的一个应用程序图表。 BIRT设计模板保存为XML,可以访问多个不同的数据源包括JDO数据存储,jfire脚本对象、POJOs、SQL数据库、Web服务和XML。 报表方面目前测试做些简单的行式、分组交叉类报表还比较容易,稍微复杂点可能做起来有点麻烦(比如多数据集取数方面有点没搞懂,还未测试),这点实际和没有完善的学习文档有关,不方面查找。 统计图方面,常用的柱图、饼图、折线都提供,但其他的种类就相对少了,另外图形有点老,看着不够高大上,只能说有此功能了。 补充一点,本人是作为一个开发人员来测试birt,对eclipse熟悉,所以上手感觉还可以,但对于只是有sql基础、简单了解java或jsp开发的就来搞birt的话,还是会有很多问题。 Ps:这个就看领导们安排什么水平的员工来开发报表了。 以上是常用的 JAVA 开源报表开发软件,之所有选择它们是因为有专业的报表软件、纯JAVA的、有专业论坛提供大家资源分享、免费(这是最重要的)、用起来更为灵活。综上所述决定性因素只有应该:免费、灵活。 那么报表软件,到底免费与收费孰优孰劣? 首先,免费的java报表开发能给我们带来什么?答案显而易见:拥有了一定可用性的报表软件;开源的代码能够拥有灵活的可定制能力和完全的控制;最重要的是免费。但是开源工具都有个通病,就是开发和维护成本比较大,如果你企业想上报表工具,怎么也得招/培养2、3个开发人,而且学习资料多为英文。而且Jsper report、ireport的所有帮助文档是收费的,文档倒是相当细致,需要花大量的时间阅读。这才明白:所谓开源不可能真的有人那么无聊为人民服务,说白了还是要挣钱的,否则产品的后续研发怎么办? 而且Jsper report、ireport的制表能力实在一般,老外的东西,本质上就不符合咱的报表习惯,报表似乎就该这么做,做不出来的报表似乎就应该写程序、写代码,最后用工具的结果还是去写代码,还不如不用呢。 另外,在论坛里,像“请教高手某某问题如何解决”这类的帖子比比皆是。首先解决问题的时效性不高,需要等待不能即时被答复,而且也不一定有人能遇到过同样的问题,并愿意热心帮你解决,这时就会干着急,希望有人技术支持一下。其实仔细算算,花在这些问题上的时间成本、人工成本,还不如买一个收费的工具? 选择收费的报表软件 首先在你有问题的时候能找专业的java报表厂商支持你,不用在论坛里发些的不一定有准确答复的求问贴了,更有甚者可以叫厂商直接帮你做部分表。做事是讲究效率的,与其浪费时间去自学开源工具的文档,还不如边学边做不懂就直接问报表工具厂商。这样能更顺利高效的完成项目。 我以前的公司做项目时老板就是不肯花钱,以为是省钱,结果,由于不能及时完成折了好几个项目。所以,再碰上选择报表软件的时候,一定不要怕跟老板倾诉: 报表制作其实是很专业的的活,花钱买一个工具比用开源工具划算。 下面的商业报表工具,其实成本算下来也无差,产品提供部署服务,可以走项目,后期还有技术维护。 商用报表工具: 1、XJR快速开发平台报表工具 使用多年钻坚研微的成熟稳定的第三方插件,提供大量标准报表模板,满足各行业不同的需要。使用简单,会数据库就可以用。不需要再出报表授权费用。还有很重要的一点就是已经集成在开发平台内不需要再做整合。XJR快速开发平台融合了时下最实用的web及互联网应用技术,集成多类业务场景。面向服务/接口设计,可轻松集成或集成到外部系统,轻松整合企业现有资源。 价格平民,功能实用,符合中国国情的报表需求; 开发上手快,不需要专业人员,会数据库就可以用。 2、帆软报表 功能较为齐全,适应大多数行业的功能, 价格较贵,基础版价格:80000元/ 服务器,高级版价格:500000/服务器 3、 水晶报表CrystalReport SAP公司的商业报表工具,作为SAP“集团”下的报表组件模块。10年事前盛行一时,后被SAP收购。但水晶报表(Crystal Report)在理论上只支持单数据集,对多集的支持依赖于数据库的运算能力(叉乘与联合等或写存储过程),多库一般难以支持。 4、 cognos IBM Cognos Business Intelligence Cognos功能是很强大的,但是操作的复杂度比较高。如果是普通的列表,操作确实也简单,如果是格式复杂或者是统计数据来源表比较多的时候,至少对于我这样的新手来说,操作起来就没那么得心应手。 5、其他:例如Oracle的BIEE算是商用BI工具,包括在商业智能方案里。国产的还有润乾、斯迈特等等,不多赘述。 一句话总结: 商用>开源,开源需要很强的代能力,项目上线时间长,容易不稳定,后续维护需要不停改代码。 国产>国外,这一点上不要“崇洋媚外”了,事实证明,国产报表更懂表格表姐的心。 不管选择哪类工具,最重要的还是满足业务需求,在满足的前提下寻找合适的工具。

优秀的个人博客,低调大师

工业软件产品文档的检索增强——用 Query Rewriting 与 HyDE 提升召回

工业软件(CAD/PLM/仿真等)的官方文档写得很"规范",但用户提问很"口语"。典型场景:用户问"怎么批量导出 BOM",文档里写的却是"数据导出 → 批量操作 → 勾选装配树节点"。字面完全不匹配,纯向量检索经常召回失败。这篇文章讲我们在工业软件知识库项目里用的两个增强手段:查询改写(Query Rewriting)和假设性文档嵌入(HyDE),以及它们各自的适用边界。

优秀的个人博客,低调大师

微软有史以来最大的软件产品:超 36 斤的 C/C++ 编译器

在47 年的历史里,微软所发行的软件中不乏一些大型软件;但有一个软件版本的物理重量一骑绝尘,远远超过了其他所有软件版本。微软 Windows Dev Docs 官方账号近期在社交平台上,发布了一则对其档案管理员 Amy Stevenson 的采访视频。 Amy 在视频中透露,自始至今,微软发行过的最大的软件就是一个“带有 Windows SDK 的 Microsoft C/C++ 编译器”,且自此自后,微软再没有发布过如此重的软件。根据介绍,该编译器于 1992 年发布,重量超过 40 磅 (约 36 斤),大部分以厚厚的参考书和“快速”入门指南的形式出现。 它将 Microsoft C/C++ 7.0 封装在了一个两英尺多长 (约 61 厘米) 的盒子里,允许开发者制作 MS-DOS、Windows 和 OS/2 应用程序。其中包含了 20 余张独立的软盘用于存放程序本身;以及超过 10,000 页的 20 余本印刷的纸质文档,占据了整个软件包的大部分重量和空间。 相关知情人士透露,也正是因为它太大了,以至于微软自家的 Canyon Park工厂无法消化;最终还是在俄勒冈州的一家工厂生产线上进行的组装。“所以我们没有机会庆祝它的诞生,也没有机会看着它下线”。 实际上,这款C/C++ 编译器并没有被应用太久,它在 1993 年就被以 3.5 英寸软盘和更方便的 CD-ROM 格式提供的 Visual C++ 1.0 取代。根据classic collector listings,Visual C++ 1.0 版本的重量为 33 磅 (约 30斤);直到今天,Visual C++ 仍在继续开发。 而在被问及后续是否还有更多关于这一“重量级”软件的扩展视频时,Windows Dev Docs 团队则表示了否认,并称“没有什么可说的了。它很大,很重”。

优秀的个人博客,低调大师

软件授权管理平台 v1.0.4 发布,数行代码即可集成到任何编程语言开发的软件产品

了解授权管理系统:为什么需要授权管理系统 * License Manager v1.0.4版本更新: ✨ 新增功能 授权期限变更:支持授权期限变更,在线授权可以自动更新授权期限,离线授权可以手动更新授权期限 授权变更:支持功能配置与使用限制变更,支持许可证数量变更,在线授权可以自动更新授权变更,离线授权可以手动更新授权变更 🐛 修复问题 授权期限变更接口:修复授权期限变更接口问题 官方首页:License Manager

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册