`
pcajax
  • 浏览: 2157127 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

做一个项目,平时都用到哪些工具提高效率(下)

阅读更多

接上回,继续分享.NET开发中关于工具的使用经验
15  报表工具。数据的导入导出是系统的一项基本功能,我们让用户辛苦的输入那么多数据,现在是让用户享受成果的时候,你的程序要能用各种方法分析用户的input,甚至你也要帮忙用户分析performance.
常用的报表Weekly report,Monthly report,Efficiency report by group/by employee,WIP report都要熟练掌握。
以前的一个项目选用Crystal report,SQL Server 2005发布后,我们又多了一种选择:Reporting Services. 微软的工具一向简单好用,入门容易,尽管如此,你还是要熟练掌握给报表传参数,设计报表公式,区分RDLC和RDL(本地模式和服务器模式),还有动态调用报表。
报表还支持调用自定义程序集。以前做的一个项目,在报表里面实现多语言版本,所有的label的Text属性都是调用DLL的类中的属性,做得相当漂亮。
截一个图,分享一下
参数选择区域
image 报表结果
image
报表中的Logo和公司相关的内容已经被我去除)
最好还做一个报表管理器,集中管理所有的报表。
16 任务记划,Bug追踪。
这个内容在之前我已经分享过,请看这里
软件错误报告与反馈
17 需要熟练掌握SQL脚本书写,最好有大量的SQL代码供你参考。SQL Server本身自带的联机从书就是很好的SQL代码库,你的电脑中最好有SQL Server 2000,SQL Server 2005,SQL Server 2008三个版本的联机从书,查找SQL代码才会轻松自如。另外,经常看的书的随书源码也要保存好,必要的时候都可以参考
image

《SQL Server精华.chm》这本电子书也最好要用,关于SQL的问题,总结的很全面。
如果你做过报表项目,你对SQL的理解应该是超过一般人的。写程序的时候,SQL不好写的,可以放到程序中去实现,比如字符串处理(权限字符串的分解与判断),计算处理(decimal的精度计算)。
但是,在做报表的时候,你没有办法这么做,你必需老老实实的在SQL脚本中考虑好所有问题的处理方法,然后用T-SQL写好,于是,痛苦过后是对SQL脱胎换骨的理解。
报表开发商注意到这个问题,现在Reporting Services支持调用程序员自己开发的Assembly,非常方便,报表的开发商为程序员打开一座后门,你可以从那里逃走,不必在冰天雪地,360度空翻,裸求SQL的写法,呵呵。
18  需要了解一些常见的生产业务系统的动作流程。
做了几年的程序,我们程序最了解的系统应该是系统管理(System Administration),一些常见的部门用户角色权限之类的系统,这样还不够,你还需要了解一些业务系统。
以行业来分,做哪一行,对该行业的生产运作流程,大概应该有个了解,
以通用性来分,生产管理(operation managment),项目管理(project management),品质管理(QC management),人力资源管理(HR management), 采购管理(purchase management),你都应该有所了解。
看书是一种学习的方法;有机会到他们的工厂去参观一下,也是一种方法,而且印象更深刻;
把人家的产品文档,用户手册下载下来,对照软件和用户手册一起看,一边操作,也是一种办法;
以我的理解,每个细分的领域,还是有很多项目可做。通常人家不愿意花银子做,请不起开发人员;想做软件的人(user)没有决定权,有决定权的人(boss)没有做软件的想法;或是找不到信任的人,宁愿不做,还是用EXCEL的版本,春去冬来,年复一年。
19 需要大量的例子程序,编程的时候想都不用想,代码拷贝过去程序就做完了。
这里面需要积累,不是一朝一夕能完成的。做过的项目,好好整理一下,实在认为惨不忍睹(项目被改的面目全非,完全不是当初规划的样子,设计和编程完全脱节),把技术要点整理一下,下次做新的项目好用;还有,微软定期公布的demo,training kit, 你也要下载下来,保存好。
我记得.NET 1.1发布的时候,101 sample code, 一个MSI文件,6MB左右,被我拷贝了很多份。每学一次,就按照自己的理解去改动一下它的例子,看看能不能运行,结果是否是预期的。
image
最近微软又在大肆宣传它的Visual Studio 2010和.NET 4.0,现在还是beta 2,预计下个月就RTM。
你可以视而不见,当做没有这回事。也可以像我一样,把你电脑里的美女帅哥图片删除一些,留点空间给这些demo,sample code,training kit存放。跟着微软混,这些东东迟早是要的。
20  需要一个合理的流程。boss开过很多次会,都提到过这个流程,分享给大家
讨论需求-->设计,开发-->调整,培训,推广-->反馈,跟进,完善—> 再讨论,演化
你可以把软件工程书里的那个流程那拿来和这个流程比较,以此评判我们公司的水平有限,我的水平有限。以公司的角度,
按时按质的完成任务,是职业化员工的必备技能。
每到一个公司,都有他自己的文化,你会发现书中所说的都是理想的状态。这种文化有时候是好的,是做事的一种默契,有时候也有弊端,他会抗拒变化,因为承担不起变化的责任而拒绝变化,抗拒改变。
做一个项目要老老实实的分析需求,设计,开发;实施一个项目要有一些为人处事的伎俩和手段;在我手里,也有失败的项目,不是程序不好,
程序可以持续改进,可以做CIP,从demo—>trial—> trial run,至始至终,向上得不到支持,向下面对一大群EXCEL终实用户的反抗,那个项目真是累死人,
我只好give up.
21 业务开发平台。这个东东,可能是管理软件开发的终极解决方案,像工厂一样,生产企业管理软件。
平时我们见到的factory,是生产产品,现在可以生产企业管理软件的factory诞生了。
以我的理解,需要这四个东东
1) 业务实体设计器,可以生成业务实体,同时导出为SQL代码和C#程序代码
2) 窗体设计器,可以生成用户界面
image

这是《俊先企业管理软件开发平台》中的例子,一个完整的窗全设计器,可以生成窗体代码,在运行时用反射技术,加载窗体,执行。
我自己私下里也折腾过这个东东
image
用XML文件来表示窗体,运行时动态解析窗体文件。XML文件可以放到硬盘里,也可以放到数据库中。
CREATE TABLE [dbo].[Form](
    [GUID] [uniqueidentifier] NOT NULL,
    [Name] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [Text] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [Definition] [xml] NULL,
    [DataTable] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [LastUpdateTime] [datetime] NULL,
    [Workflow] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_Form] PRIMARY KEY CLUSTERED
(
    [GUID] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

3) 流程设计器  直接用工作流本身的流程设计器,自己提前先设计好接口加再进去,否则那些外部方法和事件可能会找不到接口而不能编译通过
clip_image002

4) 报表设计器
image

有些工具是自己折腾的,有些东东是别人的作品,我只是拿来用,有些工具是在别人基础上,进过我的重新规划设计;这些东东只是自己的私房工具,没事的时候瞎折腾,并没有在公司的产品中应用,我敢截图出来与大家分享。不要向我索取,很多东东你都用不上,你只是好奇,真的,相信我。
22 需要一个门户站点,来管理任务,问题,项目。
推荐你用SharePoint Services,这东东70MB多,如果买了Windows Server 2003的License,这个工具包是免费的,好用,稳定,可扩展。
下一个版本我打算把公司的WCF服务器驻留在这里,把报表服务器也驻留在这里,成为公司内部的team site。
image

美观大气,可扩展性好。
写到这里,也写的差不多了,还有几个条目,没想好具体内容,暂且不表。
应该说,不是这些工具重要,而是人更重要,人对了,软件和项目就对了,整个世界就对了。

分享到:
评论

相关推荐

    Commons项目中用来处理Java基本对象方法的工具类包,可以简化很多平时经常要用到的写法

    Apache Commons Lang是Apache软件基金会开发的一个Java库,它提供了一系列高度实用的工具类,用于处理常见的编程任务。这个库特别关注那些在Java的标准库`java.lang`中未涵盖或者可以进一步简化的方法。通过使用Lang...

    cmder.7z平时用到的cmder文件

    标题 "cmder.7z平时用到的cmder文件" 提及的是一个名为 "cmder" 的工具,它是一个流行的命令行模拟器,专为Windows系统设计,提供了类似Unix shell的功能。Cmder集成了Git Bash、ConEmu终端、msysGit等组件,为...

    平时用PS常用到的快捷键收集.pdf

    这份文档整理了用户在日常使用Photoshop时经常会用到的快捷键,这些快捷键涵盖了工具选择、文件操作、编辑操作等多个方面。 1. 工具箱快捷键: - 矩形、椭圆选框工具:【M】 - 移动工具:【V】 - 套索工具、...

    swift-JZClooectionControls一套平时开发用到的iOS控件集合的归类

    通过学习和使用这个库,开发者不仅可以提高开发效率,还能借鉴其中的设计思路和实现技巧,提升自己的iOS开发技能。在实际项目中,可以根据需求选择合适的控件,或者参考源码进行二次开发,以满足特定的界面和交互...

    Utils:整理平时用到的工具类

    在"Utils:整理平时用到的工具类"这个主题中,我们可以深入探讨Utils类的设计原则、常见的工具方法以及如何在实际项目中高效利用它们。 首先,Utils类的设计应遵循一定的规范。一般来说,Utils类是final的,不允许被...

    Visual+C++开发工具与调试技巧整理

    在非MFC环境下,可以通过在工程目录下创建一个空的`.RC`文件,并将其添加到工程中,以此启用ClassWizard功能,便于类的管理和代码自动生成。 #### 七、设置断点的方法 在编辑代码时,可以通过以下两种方式设置或...

    ssh_jar以及平时用到的jar包

    还有可能包括`dbcp.jar`,这是Apache的另一个项目Commons DBCP,它提供了数据库连接池服务,但在这里,我们更倾向于使用C3P0。 此外,还有一些其他常用的库,如`log4j.jar`,这是一个广泛使用的日志记录框架,便于...

    dev-tools:整理自己平时用到的一些工具, 如 chrome 插件 vscode 插件 mac 常用工具等, 持续更新中

    "dev-tools"这个集合就包含了开发者日常工作中可能会用到的各种工具,包括浏览器插件、代码编辑器扩展以及操作系统特定的应用。这里主要聚焦于React相关生态、Chrome插件和VSCode插件,这些都是前端开发者不可或缺的...

    leetcode所有报错-Awesome-Bookmarks:前端开发提高效率的一些库和软件

    本项目为个人技术收藏集,里面会不定期分享一些作者平时用到的一些库,或者常用的网站和小工具。同时作者也会在上面不定期的写一些简单的博文 如果你有好的推荐你可以提 issue 或者 pr 来告诉作者 推荐库 这里主要...

    Small-yards-bay:将自己平时常用到的的网站和资源,集合成一个导航页,方便查找浏览

    这个项目的主要目标是简化网络资源的查找和浏览过程,提高工作效率。通过整理并分类各种在线工具、学习平台、资讯站点等,用户可以一站式访问他们经常需要用到的各种服务。 该项目的核心技术是HTML,即超文本标记...

    各种有关.net的dll的集合

    描述中提到的“很多各种各样的.net方面平时爱用到的dll集合”,这暗示这个压缩包可能包含了开发者在.NET开发过程中经常需要用到的各种功能库,比如文件操作、网络通信、数据处理等领域的DLL文件。拥有这样一个集合,...

    ssm-demo:搭建的一个基于SSM框架的Demo,定位于集成平时用到的一些插件

    SSM框架是Java Web开发中常用的三大框架Spring、Spring MVC和MyBatis的组合,用于构建高效、灵活的Web应用程序。下面将详细讲解这个名为"ssm-demo...同时,其集成的插件也展示了实际项目中可能用到的各种工具和技术。

    Virtual Serial Port Driver Pro(虚拟串口工具)

    平时我们在传输数据时,一般都是利用U盘拷贝下来,载入到另一台电脑上,这样非常麻烦,效率也是非常的低下。而virtual serial port driver就不同了,它能通过互联网络的形式实现数据传输,想想比与前者,virtual ...

    代码语法错误分析工具pclint8.0

    好了,这时VC tools菜单下应该又多了一个pclint_project项了,你以后可以用它来对一个VC项目运行lint检查程序了. (二)SourceInsight中集成pclint程序的方法. Windows平台下也有好多人都喜欢用SourceInsight编辑C/...

    大学生计算机培训实习心得.doc

    2. 实用性和工具性:计算机培训的内容应该实用和工具性强,都是平时工作中经常用到的。 3. 不断的学习和充电:不断的学习和充电是提高工作能力和实现人生价值的必经之路。 4. 思想的改变:通过计算机培训,作者...

    k314.0反结账工具

    《K314.0反结账工具详解与应用》 在企业信息化管理中,金蝶K3系统作为一款广泛使用的财务及企业管理软件,扮演着至关...正确理解和使用这一工具,对于提升财务管理效率、维护财务数据的完整性和一致性具有重要意义。

    6前端面试一面 6:开发环境相关知识点与高频考题解析.md

    工程师的开发环境决定其开发效率,常用的开发环境配置也是面试考查点之一。 ## 知识点梳理 - IDE - Git - Linux 基础命令 - 前端构建工具 - 调试方法 本小节会重点介绍 Git 的基本用法、代码部署和开发中常用的 ...

    Python平时作业及大作业_北京交通大学

    9. **数据分析与可视化**:如果大作业涉及到数据处理,可能会用到pandas库进行数据清洗和分析,matplotlib或seaborn库进行数据可视化,这些都是Python在数据科学领域中的核心工具。 10. **Python标准库和第三方库的...

    leetcode所有报错-lmsite-bookmarks:lmsite-书签

    本项目为个人技术收藏集,里面会不定期分享一些作者平时用到的一些库,或者常用的网站和小工具。同时作者也会在上面不定期的写一些简单的博文 如果你有好的推荐你可以提 issue 或者 pr 来告诉作者 推荐库 这里主要...

    latex模板_适用于实验报告/课程设计与平时作业

    本资源提供了一个专为实验报告、课程设计及平时作业设计的LaTeX模板,旨在帮助用户快速、高效地完成高质量的文档编写。 首先,我们来探讨LaTeX的基本概念。LaTeX并不是一个所见即所得的编辑器,而是一种基于TeX的...

Global site tag (gtag.js) - Google Analytics