想问一下,团队开发,是否需要每个人拥有不同的命名空间,还是统一使用一个命名空间 
类库应该如何引用
代码应该写在类库里还是应该写在App_Code里面哪位大大有关于团队开发的标准规则,发来瞧瞧

解决方案 »

  1.   

    当然统一好。
    用版本控制处理。例vss
      

  2.   

    你在VSS第一个项目建立时可直接建入,但其他开发成员则要Open   From   Source   Control,不要直接建立自已的解决方案(   不是项目),这样就可以保证大家都工作在同一个解决方案下
      

  3.   

    创建Application的时候 命名空间会按照你的目录 来创建NameSpace的
      

  4.   

    空间要统一,用vss会方便些.
    可以分分层.大家各管个的..
      

  5.   

    vss
    然后分层,不同的人在不同的空间做事
      

  6.   

    vss要版权的svn不需要,svn也有vs的插件的。类库写在那里都可以,反正调用方法统一就行。
      

  7.   

    我使用的是SVN,通过不同的版本来管理代码
    我的项目下一般只有
    BLL
    IDAL
    Model
    SQLServer
    ToolKit
    这几个类库,其它的都定在App_Code里面
    命名空间最好是使用一个,然后设置不同开发人员可以修改的代码,也就是说,他们只可以修改自己的代码
      

  8.   

    本文全文发表在《中外教坛》杂志2003年第6期上,总第78期,P100-102,欢迎引用,引用请注明出处。---马成长团队软件开发的三项基础保障技术及其在《软件工程》课程实践中的应用
    马成长(湖北工学院数理系,湖北 武汉 430068)[摘  要]本文介绍了团队软件开发的三项基础保障技术,即项目管理技术、配置管理技术和每日构建技术,给出了基于这三项技术的软件开发团队的合理人员配备方案,并介绍了实施这三项技术的CASE工具和在《软件工程》课程实践中的一种实施方案。[关键词] 项目管理;软件配置管理;每日构建;CASE工具;人员配备[中图分类号]TP311.5                                           [文献标识码]:A 由于软件开发的规模的扩大和软件复杂程度增加,现在已经很少能见到大中型软件的开发从头到尾都是由一个人完成的现象了。为适应这种情况,许多用于改善团队软件开发状况的技术以及相应的产品被开发出来。借助于这些技术,一些软件业发达的国家的软件开发效率和所开发出来的软件产品的质量得到了大幅度的提高[1]。但是在我国,仍有相当多的软件企业的软件开发依然停留在手工作坊阶段。本文介绍了可用于团队软件开发的三项基础保障技术,即项目管理技术,软件配置管理技术,每日构建技术,这些技术已在团队软件开发实践中被证明是行之有效的,特别是在辅以相应的CASE工具的情况下,可以大幅度改善团队软件开发的无序状况。根据笔者的在《软件工程》课程实践的经验,本文还给出了实施这三项技术的一个案例。 1 团队软件开发的三项基础保障技术 如何提高团队软件开发的效率是软件工程领域的核心问题。我国许多软件公司都有提高开发管理水平的良好愿望,却无力实现CMM认证。但是只要不把通过CMM认证作为目的,而是真正贯彻经过实践证明有效的软件流程和管理方法和技术,实施起来还是能够起到决定性作用的,而付出的代价相对来讲却小得多。在这些技术中,项目管理技术就是一项重要的基础保障技术。1.1 项目管理技术所谓项目管理,就是为了完成一个特定的目标,应用一定的规范或规章制度对用于项目的资源进行全面的规划、组织、协调、控制并使之系统化的过程。通过对项目的管理使项目在执行过程中避免或尽量少出现问题。在项目管理的过程中,需要关注的是以下几项关键工作:制定日程计划,控制预算、资源管理、跟踪项目以及汇报进度。在整个项目寿命周期中,项目信息文档化及项目参与成员之间的信息交流是两项关键性的手段。项目管理有其固有的复杂性,因为项目的关键属性之一就是其动态性:项目时间可以持续数月或数年,同时,项目也会发展变化,有些变化是无法事先加以预测的。因此人们发展出了比较完整的理论和方法体系,帮助项目管理工作者有效地实现项目管理的目标。下面就是一些常用的技术[2]:任务分解结构技术:它用于将项目按照一定的原则进行分解,以便对项目进行灵活有效的控制。甘特图技术:它以一些条形图表是基本的任务信息,便于查看任务的日程,检查和计算资源的需求情况。项目评审图技术:它给出工序流程及其相互关系,用于跟踪项目进度。关键路径法:它是项目管理中最基本的调度分配方法,它把项目需要进行的活动列出来,形成活动的路基关系图,在这些路径中,持续时间最长的路径就是关键路径。关键路径法是项目时间资源管理的最重要方法。由于软件开发项目所生产的是软件,是一种逻辑产品,在项目进行的寿命周期中,变化、不确定性、不可见性比传统的项目更多,所以软件开发的项目管理比传统的项目管理更加复杂。解决的方法是借助先进的项目管理软件工具,并在项目实施过程中应用软件配置管理技术。1.2 软件配置管理技术软件配置管理就是通过对软件开发过程中的所有输出以及这些输出的变更进行有效的管理,以保证团队的有效协作,从而达到项目的预期目标。软件配置管理是贯穿于整个软件过程中的保护性活动,其主要目的是:标识变化,控制变化,保证变化被适当地实现以及向对变化感兴趣的人报告变化[3]。软件配置管理技术所要管理的对象被称为软件配置项,它们是在软件工程过程中所创建的信息(输出),如文档、源代码、测试用例等等。一个大中型软件包含成千上万的软件配置项是一件很平常的事。要对配置项的变化进行管理,首先就是要给配置项命名,并标识配置项的版本号。这样,一个软件的每个版本都是一组配置项的集合,而这一集合中的元素又有各自的版本号。在标识了软件配置项后,我们才能对配置项的变更进行控制。所有这些活动构成软件配置管理过程的3项活动,即配置标识,版本管理,变更控制,除此之外,软件配置管理过程还包括另外两项活动,即配置审核和配置状态记录。应该注意的是,一个软件产品在开发过程中的软件配置项不是一成不变的。所以,软件配置管理过程应该与软件开发过程紧密相关,不能仅仅对静态的、成形的产品进行管理,而必须对动态的、成长的产品进行管理。在软件配置管理中,有一个重要的术语,即基线,也就是一个配置项在其生存周期的某一特定时间,通过正式的技术评审,被正式标明、固定并经正式批准的版本。基线是软件开发进度表上的参考点与度量点,是后续开发的稳定基础,基线的形成实际上就是对某些配置进行冻结。软件配置管理对团队软件开发的重要性是怎么强调都不过分的。在软件开发过程中,无配置管理或劣质的配置管理常常导致项目失败。下面这些现象在许多软件企业中并不少见:一个严重的错误被修复后又突然出现,不同的成员使用了不同的版本,并且没有人知道哪一个是最新的,因为没有人知道变更是由谁做出的。这些问题(沟通障碍,多重修改等等)都可以通过实施有效的配置管理进行扼制。1.3 每日构建技术要解释什么叫每日构建,就要先知道什么叫构建。所谓构建,就是将一个软件项目的所有最新代码取出,从头开始编译、链接,用安装软件包将链接好的软件安装好,运行安装后的软件,运行测试软件包对主要功能进行测试,发现并报告错误[1]。所谓每日构建,就是把上面所说的构建过程每天至少执行一次。每日构建的好处很多,主要包括降低集成风险,加强错误诊断,降低不确定性,加快开发速度,增强团队合作,激励开发人员。由于每天进行构建,许多错误会在积累起来之前就被发现和修订,在修正错误得到一个完整的构建后,开发人员就可以见到自己所开发的软件的雏形,这会提高开发人员的士气。就像父母看见自己的孩子一天天长大一样,软件的雏形一天天完整,最终会成为一个成熟的产品。如果没有每日构建,开发人员直到最后才能看见自己所参与开发的软件的整体效果,这种情况有时会严重影响团队士气。每日构建说起来容易,但是真正实施起来却不是那么简单。因为每日构建的目标之一就是要发现破坏构建完整性的问题,并将错误报告发给相关的开发人员和管理者,让开发人员在第一时间了解到软件错误,并迅速排除错误。每日构建还必须出日志和报告,发布构建结果的有关信息。这样繁琐的工作只有在认识到每日构建的重要性的前提下才能坚持。1.4 合理的软件开发团队的人员配置上面的三项技术是团队软件开发的基础保障技术。如果把软件开发项目比作是行进的汽车,则项目管理技术和配置管理技术就相当于汽车的轮子,而每日构建技术就相当于汽车的发动机。一个软件企业如果没有实施这三项基础保障技术,就只能是手工作坊式的软件企业。要实施这三项技术,必须对软件开发团队进行合理的人员配置,下面是笔者结合他人的经验和软件工程的其他要求给出的一个人员配置:负责软件小组的项目经理;负责软件配置管理规程和方针的配置管理者;负责每日构建的构建师;负责软件产品开发与产品维护的软件工程师;负责验证产品正确性的测试者;负责确保产品高质量的质量保证经理;使用产品的客户。调查一下国内的软件开发项目的人员配备,我们很少见到有专门的配置管理者和每日构建师,这就难怪业内人士会有“国内绝大部分软件公司都是软件作坊”的感慨了。 2 三项基础保障技术的CASE工具  自有软件业以来,许多行业、企业都利用了软件企业提供的优秀产品,提高了工作效率和管理水平。在软件业发达的国家,软件业自身也为自己开发了许多优秀的软件,用于提高开发的效率和软件开发项目的管理水平。这类软件有一个名称,就是计算机辅助软件工程工具,简称CASE工具。在我国的软件企业中,相当多的人依然把软件开发仅仅理解为“编程序”,当然就谈不上利用CASE工具了。就有效实施三项基础保障技术来说,借助于相关的CASE工具是必不可少的。目前可供选择的CASE支持方案多种多样,具体选择哪一种方案,要根据项目的具体情况来确定,如项目的类型,项目目标平台,项目的投入,项目成员的偏好等等。目前市场上用于项目管理的软件工具大约有120多种可供选择[4],比较具有代表性的工具有Microsoft Project2002,Primavera Project Planner,Gorest Artemis,ABT WorkBench,Welcom OpenPlan,TimeLine,Scitor Project Scheduler,Primavera SureTrak等等。这些工具都能够协助管理者进行项目管理活动,如进行计划管理,资源管理,成本管理,进度管理,计划变更管理等。用于软件配置管理的方法和产品目前已经发展到第三代:第一代是基于文件的软件配置管理,代表产品包括,第二代是基于项目数据库的软件配置管理,第三代则是基于文件访问透明的软件配置管理[5]。国内比较常见的是用于软件配置管理的工具有:Visual SourceSafe,Rational ClearCase,CCC/Harvest以及CVS等等,较详细的信息可参考文献[6]。为避免消耗过多的计算机资源,对开发工作可能造成影响,每日构建一般是在无人工作或少人工作的时候进行。每日构建基本上没有手工完成的,一般都是以软件配置管理工具为基础,编写脚本自动完成,这称为自动构建。可用于编写自动构件系统的脚本语言有很多,如Perl,Python,winbatch等等。所有构建流程(选出配置项,编译链接,产品打包,安装软件,启动软件,进行测试,生成测试报告,发布报告)都应该由构建师编写脚本程序自动完成。对于条件有限,资金紧张的软件企业来说,不可能用大量的资金投入实施CMM认证,此时,利用团队软件开发三项基础保障技术的CASE工具可以起到投入少见效快的效果。主要方法是部署项目管理工具和配置管理工具,并让项目成员习惯这样的工作环境,再实施每日构建,应该可以走出所谓的“软件作坊时代”。 3 一个实施案例 3.1起因在笔者接触的学生当中,许多人把软件开发看着是“编程序”,热衷于追求成为“高手”,不屑于与人协作。而《软件工程》课程除了讲解一些理论外,提供的实际演练的机会也很少。这样的学生将来到了软件企业,必然缺乏团队协作精神,不适应团队开发。有鉴于此,笔者利用机房的部分机器,部署软件配置工具和项目管理工具,以训练学生在团队软件开发三项基础保障技术的约束下的工作能力。训练内容作为《软件工程》的课程实践。3.2 软件选择由于机房的机器为Windows平台,CASE工具的选择以Windows平台工具为限。选择结果为,服务器Windows2000 Server +SP3,工作站Windows 2000 Professional+SP3,项目管理工具Microsoft Project 2002中文版,配置管理工具选择CVS  Windows版,每日构建选用Perl脚本语言编程完成。3.3实施方式在学生进入实际运作之前,对学生进行理论培训,包括项目管理知识和Perl语言以及软件配置管理的一些知识和上机操作的工作流程,然后通过一次测试,选择十人作为第一个团队开发小组,小组成员分工按本文中提出的人员配置建议由学生轮流扮演,以达到全方位训练的目的。剩下的学生采用以老带新逐步替换的方法加入到小组。替代下来的人达到十人后,再组成第二个开发小组。这样就加快了人员培训的速度。开发内容由学生确定,经老师批准。把握的原则是所选项目技术上实现的难度不能太大。由于学生并不是全天候的开发人员,还要学习其他课程,所以在实施的过程中我们把每日构建一次改为每周构建一次。 4 结束语  对于中小软件企业而言,以团队软件开发的三项基础保障技术的CASE工具的部署与使用,可以培养开发人员团队协作开发的习惯,帮助软件企业早日走出软件作坊阶段。但是这有一个前提条件,就是企业的决策者必须重视、支持和参与;企业的核心技术领军人物在这些CASE工具的使用方面具有丰富的经验,可以起到组织作用。这三项技术可以作为实施CMM认证的出发点和核心工作,一旦成功,就会显著提高软件企业的软件开发能力。[  参  考  文  献  ][1] 杨锦方.CVS和Nightly Build技术[M].北京:清华大学出版社,2002.[2] Nancy Steven,Elaine Marmel. Microsft Project 98 Bible[M].Foster City:IDG Books Worldwide,1997.[3] Roger S. Pressman. Software Engineering,A Practitioner’s Approach[M].McGraw-Hill,1997.[4] 马成长.计算机辅助软件工程的环境配置[J].程序员,2001(10):40—42.[5] Brian A. White.Software Configuration Management Strategies and Rational ClearCase[M].Addison Wesley Publishing.[6] 黄军,刘晓梅,熊勇.软件配置管理及其工具应用[M].北京:人民邮电出版社,2002.Three Base Techniques Assuring Team Software DevelopmentMa Cheng-zhang(Dep. of Math. & Phys.,Hubei Polytechnic Univ.,Wuhan 430068,China)Abstract: This paper introduce three base techniques, project management, software configuration management and nightly build, which assure team software development. Rational manning is advised for software development teams .Some CASE tools are introduced for enforcement these techniques,and an example of case in platform Windows is given in the course of software engineering. Keywords: project management; software configuration management; nightly build; CASE tools; manning
      

  9.   

    用svn版本管理吧  
    我可以提供详细的服务器架设方案  给分!
      

  10.   

    团队开发利器CVS培训基础讲义