`
touchinsert
  • 浏览: 1329557 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

软件功能和用户体验

 
阅读更多

说到功能和体验,正好昨天就软件的日志功能说过一串话,现在赶紧整理总结一下


一个软件,没有日志功能,也能用
但是,如果有偶尔的异常现象,则不好跟踪,因为人不可能老盯着,而盯着的时候它也不一定就会重现
所以,需要日志功能,日志是一直写的,事后分析日志,按发生时间定位日志,还是可以接受的
写日志又有2种,1种是编译出2个版本,一个是不写日志的发布版,一个是写日志的调试版
这种,需要跟踪时,需要更换程序版本,才能进行,不需要跟踪了,又需要更换程序版本
1种做法是程序支持一个选项,以此决定是否写日志
这个选项是重新运行才生效还是运行时都可以随时切换,又是2种做法了
而且,日志是关注对象是不是可以分级(错误、关键事件、普通事件、调试信息等),又是一个方面的做法了
但是日志文件的输出方式,又有很多做法:每次输出一个不同的日志文件,还是连续输出到一个相同的日志文件
前者会导致小日志文件非常多,后者比较整洁,但是写的过程会复杂一些
如果是后者,就还有一个附加问题:日志文件很大了怎么办?
应该规定到一定大小就换个文件,这里又有2种做法了:大小限制固定为一个数(如100k);大小限制也是通过配置决定
当然,后者这个配置似乎没有必要运行时调整了
每100k换文件了,单个日志文件的大小不会无限大了,但是文件的个数又会无限的多了(如果日志写的频繁的话)
所以,又需要一个功能:每天把当天的日志转移到一个压缩文件(以日期为文件名)
当然,如果每天一个日志压缩文件还嫌杂乱的话,可以每月一个日志压缩文件,或者每次运行结束生成一个日志压缩文件

所以,写应用的,没有写内核、底层那么高深,但是,它的软件功能和用户体验,也还是无止境的,不应该那么受轻视。。。。。。。。。

同时,也说明写软件是一件多么靠程序员积极性的事情。
除非你能把这些“精深”的需求都写清楚了,否则就完全靠程序员的积极性、良心了
国内的软件项目,(数量上的)大多数应该都不可能把需求预先写的这么“精深”吧,除非是外包
如果领导不能完全信任、放手,那么就准备好把需求预先写的这么“精深”吧

这些事情(功能的“精深”程度的确定),本来也许是项目经理、架构师的事情,
但是国内的实际情况往往是落到程序员的头上,尤其是第一次需要这样的功能的时候

用一个决策树来表达,就是:

软件的日志功能
├没有日志:如果有偶尔的异常现象,则不好跟踪,因为人不可能老盯着,而盯着的时候它也不一定就会重现
└有日志:日志是一直写的,事后分析日志,按发生时间定位日志,还是可以接受的
├|编译出2个版本,一个是不写日志的发布版,一个是写日志的调试版:需要跟踪时,需要更换程序版本,才能进
│|行,不需要跟踪了,又需要更换程序版本
├程序支持一个选项,以此决定是否写日志
│├如何切换
││├重新运行才生效
││└运行时都可以随时切换
│└日志是否分级
│ ├日志对象不分级:要写都记,要不写就都不记
│ └日志分级(错误、关键事件、普通事件、调试信息等):可以通过设置决定记哪些
└日志文件的实现
├每次输出一个不同的日志文件:会导致小日志文件非常多
└连续输出到一个相同的日志文件:比较整洁,但是写的过程会复杂一些
├日志文件很大了怎么办?:规定到一定大小就换个文件
│├大小限制固定为一个数(如100k)
│└大小限制也是通过配置决定:这个配置似乎没有必要运行时调整了
└是否每天/或月把当天/或月的日志转移到一个压缩文件(以日期为文件名)

分享到:
评论

相关推荐

    软件工程与软件用户体验设计.pptx

    4. **测试**:验证软件功能,发现并修复bug。 **软件工程的方法论** - **敏捷开发**:适用于需求变化较快的项目,强调快速迭代和灵活性。 - **瀑布模型**:适用于需求相对稳定的项目,阶段划分明确,每个阶段完成...

    zetero插件(完整版)

    Zetoro插件是一款专为提升软件功能和用户体验而设计的工具,其全面性使得用户在使用过程中能够享受到更多便捷和高效的特性。这款插件集成了多种实用功能,经过亲测,表现优秀,稳定性与实用性兼备,是提高工作效率和...

    软件工程与用户体验设计.pptx

    ### 软件工程与用户体验设计 #### 第一章:软件工程概述 ##### 1.1 什么是软件工程 软件工程是一门集成了计算机科学、管理学和工程学原理的跨学科领域,专注于如何有效地组织和管理软件开发过程,以确保能够按照...

    聚焦于用户体验的软件工程技巧.pptx

    以上章节概述了在软件开发过程中,如何将用户体验置于中心位置的一些基本原则和技术。通过遵循这些原则,我们可以创建出既高效又令人满意的软件产品。接下来的章节将进一步探讨用户体验测试与评估、用户体验与产品...

    从微信版本历史,学产品功能迭代和用户体验(上) .doc

    基于微信版本历史的产品功能迭代和用户体验分析 微信自诞生以来,经过多次版本迭代,终于成为了中国最大的社交平台。通过分析微信的版本历史,我们可以学习到产品功能迭代和用户体验的重要性。本文将从微信的诞生...

    基于用户体验的产品设计方法研究医疗器械软件界面设计初探.pptx

    用户体验包括功能性、易用性、美学效果等方面,通过了解用户的需求和习惯,可以设计出更加人性化的软件界面。 基于用户体验的医疗器械软件界面设计方法的步骤: 1. 用户调研:通过问卷调查、深度访谈等方式了解...

    HGZ远程控制软件2009免费体验版.rar

    《HGZ远程控制软件2009免费体验版——...它简化了远程访问的过程,提升了远程工作的效率,同时也注重用户体验,提供了多种个性化设置。在实际使用中,用户应根据自身需求,合理利用软件的各项功能,以充分发挥其潜力。

    软件产品设计心得 - 创造卓越的用户体验

    以下是一些关于软件架构和用户体验设计的核心知识点: 1. **软件架构**:软件架构是系统的基础结构,决定了其可扩展性、可维护性和性能。在设计阶段,良好的架构能够支持灵活的用户体验,确保系统能够快速响应用户...

    QQ电脑管家用户体验改善计划.docx

    总的来说,QQ电脑管家用户体验改善计划通过收集和分析匿名的使用数据,不仅提高了产品功能的实用性,增强了对恶意软件的防御能力,还优化了升级体验,保障了用户的隐私。这一计划是产品持续改进和用户满意度提升的...

    商业Web应用的用户体验设计

    商业Web应用的设计不仅仅是一项技术活动,更是对用户体验的深刻理解和尊重。良好的用户体验设计能够极大地提升产品的竞争力,为企业带来更多的商业价值。通过深入了解用户、细致的任务分析以及精心设计的界面,可以...

    dsoframer.ocx最新版本

    **DSOFramer.ocx** 是一个ActiveX控件,它在IT行业中主要用于嵌入Web页面或者HTML内容到其他应用程序中,比如...通过提供的使用方法文档和控件本身,开发者可以更有效地利用这个工具来提升他们的软件功能和用户体验。

    iPhone应用用户体验设计实战与案例

    iPhone用户体验设计过程中会使用到一系列的设计工具和资源,例如Sketch、Adobe XD、Figma等专业UI/UX设计软件。同时,参考其他成功案例、利用设计模板、图标库等资源也能提升设计效率和质量。 9. iPhone应用市场...

    天翼空间pro用户体验版

    "天翼空间Pro用户体验版"是一款集成了国内软件超市所有功能的应用程序,旨在提供优质的用户交互体验和丰富多样的功能。这款软件超市的突出特点在于其强大的UI(用户界面)设计和全面的功能设置,使得用户在操作过程...

    一款旅游分享软件功能全景体验景点推荐电子导游弹幕评注摄影展览

    首先,全景体验是利用3D技术和图像处理技术,让用户体验到仿佛身临其境的视觉感受。这通常需要JavaScript库如Three.js或A-Frame来创建三维场景,同时配合HTML5的Canvas或WebGL来渲染图像。用户可以通过滑动、旋转等...

    多功能彩色电视机的软件开发和实现的开题报告.pdf

    本研究的结果将为多功能彩色电视机的软件开发和实现提供参考,提高电视机的功能和体验,为用户提供更好的服务。同时,本研究也将为电视机产业的发展提供新的思路和方向。 在多功能彩色电视机的软件开发和实现中,...

    HGZ远程控制软件体验版9000

    考虑到用户体验, HGZ软件应该具有直观的用户界面,使得安装、配置和使用过程简单易懂。快速连接选项和一键式操作能大大提升用户满意度。 4. **多平台支持**: 在现代IT环境中,多平台兼容性是必不可少的。 HGZ...

    软件功能画蝶QQ

    【标题】"软件功能画蝶QQ" 指的是腾讯公司出品的QQ即时通讯软件的一个特定版本或功能模块,可能是该软件在某次更新中针对用户体验或者功能特性进行的优化和创新。通常,"画蝶"这样的词语在产品命名中可能意味着设计...

    宝马远程管理软件2009免费体验版

    宝马远程管理软件2009免费体验版是一款专为宝马车主设计的远程车辆管理系统,它提供了丰富的功能,帮助用户在远离车辆的情况下也能有效地监控和控制汽车的状态。此软件的出现,标志着汽车行业与信息技术的深度融合,...

    软件用户手册编写规范

    特别是对于软件产品而言,缺少用户手册就意味着缺乏用户指导和支持,这将直接影响用户的体验和产品的市场接受度。 #### 二、用户手册的重要性 - **完整性**:用户手册确保了产品的完整性,使产品更加完善。 - **...

Global site tag (gtag.js) - Google Analytics