项目开发管理SDEM

 sdem(software development engineering methodology)软件发展工程方法

  SDEM是日本富士通根据CMM标准,结合自身二十多年的经验提出的软件开发管理体系标准。它全面兼容CMM与ISO9000,甚至在某些部分超过现有国际标准,在日本享有盛誉并为众多的大中型IT企业所效尤。

  SDEM的要旨是以时间为横坐标,以文档为纵坐标。根据项目时间的推移,对某个项目阶段的需要进行的项目活动和书写的工程文档进行定义,从而达到整个项目的开发管理。从形式上与CMM3较为类似。

  SDEM的理念是从不同项目干系人的角度(视图)看待开发。用户看到的是企业的业务和可系统化的对象(即现实世界)。项目开发着看到的是开发支援活动和项目管理活动(即电脑世界)。双方通过可交付的软件(广义概念,开发未完成时指的是文档)和硬件作为两个世界的接口,并在每个开发阶段得以定义和实现。随着项目阶段的推移,用户的业务和可系统化对象得到进一步细化和实现,这同时也体现了"由顶自下,逐步求精"这样一种开发思路。

  SDEM分为五个流程,其中契约流程和组织流程贯穿于整个项目阶段。项目阶段包括分为企画、开发及维护三个流程。

  1. 契约流程

  契约流程分为两个方面:购入和供给。购入流程是开发实体为了能够进行项目开发需要向"资源提供商"(包括本公司其他部门或开发小组)"购入"资源的过程。流程中涉及了资源(人、财物)申请提案、预算书和批准文书等文档。供给流程则是针对客户的提案、合同签订等应该进行的活动以及涉及的文档。通过上述两个流程的综合,项目有关客户、成本方面的因素便一目了然。同时也为开发提供了相应的依据。

  2. 组织流程

  组织流程则包括组织管理流程和系统审计流程两个并行流程。组织流程是企业针对该次项目开发实施一系列管理、开发支援活动。中间包括了事业计划、员工培训等内容。它的好处在于开发组只需专心开发,"你要什么,我就给您什么"。从而减少项目管理者的工作量,同时在内部成本核算等方面也显得极为便捷。系统审计流程由独立于项目开发人员的第三者来进行。它的主要任务在于对所有实施阶段中的项目开发效率,开发进度,资源等方面进行追踪,然后通过书面报告的方式向项目管理者提出改善建议。使项目管理更加全面和高效地得以执行。

  3. 企画流程

  企画流程包括信息化构想立案(VP)和系统企画(SP)两个流程。每个流程均分为企画立案和项目推进两方面内容。信息化构想立案针对的是公司项目方针,项目间的计划过程。在这个流程里,公司的经营管理者对目前公司内的项目进行计划,调整开发组织结构。系统企画则是针对特定的某一个项目制订的方针、投资效果分析以及过去同类项目的业务总结等。通过该流程,开发人员对即将从事的项目形成大体轮廓,并界定原有可复用资产(包括文档、人员、经验等)。SDEM的企画流程分别从企业级和项目级对具体项目进行早期统筹安排,强调整体效应,这一点非常值得国内借鉴。

  4. 开发流程

  与瀑布模型极其类似,富士通SDEM将开发流程分为系统分析(SA)、用户界面设计(UI)、系统设计(SS)、详细设计(PS)、程序编码(PG)、程序测试(PT)、集成测试(IT)、系统测试(ST)和运用测试(OT)九个环节。每个环节均包含业务、业务式样、应用、软硬件需求、开发支援和项目管理六个视图。每个视图与具体的文档或过程相对应,均以相应活动的完成或文档的生成作为视图的里程碑。

  5. 应用维护流程

  应用维护流程(ME)再现了日本的终身服务理念。在日式软件开发中,应用维护作为软件开发流程的一部分也是最重要的一部分得以重视。系统一旦交付使用,将有专人会同客户,对专门人员进行培训、同时对系统的使用进行评估,提出评估报告,总结经验教训,并提出改善方案。较大型的系统在运营期间一般由开发商专人或聘人进行维护,直至系统报废为止。当然,维护费用还是比较可观的。实际上,不少日本IT企业营业利润的主要来源很大一部分是客户系统的维护和优化。

<think>嗯,用户遇到了CUDA编译错误MSB3721,nvcc返回代码1的问题。首先,我需要回忆一下这个错误通常是什么原因导致的。根据之前的引用资料,常见原因包括平台配置错误(比如Win32而不是x64)、CUDA工具包路径设置问题、多版本VS或CUDA冲突,以及项目配置不正确。 首先,用户应该检查是否在x64平台下编译。引用3提到,用户之前因为默认使用Win32导致错误,改为x64后解决。所以第一步是确认当前配置是否为x64。接下来,检查CUDA工具包的自定义路径是否正确,引用5指出需要设置正确的路径,比如v10.2的路径。如果用户使用的是CUDA10.1,那路径应该对应v10.1。 然后,考虑多版本环境的问题。引用4提到同时安装多个VS和CUDA版本可能导致冲突。用户需要确认当前项目使用的CUDA版本是否与VS2017兼容,并且环境变量是否正确指向所需的CUDA版本。 另外,项目配置中的CUDA配置是否正确也很重要。比如,是否在项目属性中正确启用了CUDA,并且选择了正确的计算能力。还有代码本身是否存在语法错误,虽然用户说用了简单程序,但需要再次确认。 可能还需要检查系统环境变量,确保PATH中包含正确的CUDA路径,如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin。同时,检查是否安装了最新驱动,以及CUDA工具包是否完整安装,没有损坏。 如果以上步骤都正确,可能需要清理项目并重新生成,或者尝试新建一个CUDA项目测试是否是配置问题。引用3中提到新建CUDA项目后可以运行,说明可能原项目的配置有误,需要对比两者的配置差异。 最后,如果问题依旧,可能需要卸载重装CUDA工具包或修复安装,确保所有组件正确安装,并检查系统更新和Visual Studio的更新是否已应用。</think>### 逐步解决CUDA编译错误MSB3721 (nvcc exit code 1) #### 1. **确认平台配置(关键步骤)** - **问题原因**:Visual Studio默认使用`Win32`平台,而CUDA项目需要`x64`平台。 - **解决方法**: 1. 在Visual Studio顶部工具栏中,找到**解决方案平台**下拉菜单。 2. 选择`x64`平台(若没有则通过`配置管理器`手动添加)。 3. 重新编译项目,观察是否解决[^3][^5]。 #### 2. **检查CUDA工具包路径** - **问题原因**:项目未正确关联CUDA Toolkit路径。 - **解决方法**: 1. 右键项目 -> 属性 -> **CUDA C/C++** -> **Common**。 2. 确认`CUDA Toolkit Custom Dir`指向正确的CUDA版本路径,例如: ```plaintext C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1 ``` 3. 检查环境变量`PATH`是否包含CUDA的`bin`和`libnvvp`目录。 #### 3. **多版本环境冲突排查** - **问题原因**:同时安装多个VS或CUDA版本可能导致路径混乱。 - **解决方法**: 1. 卸载冗余的CUDA版本(控制面板 -> 程序与功能)。 2. 在VS中确保项目使用**特定CUDA版本**(如10.1)。 3. 重启系统以清除残留进程[^4]。 #### 4. **验证代码与项目配置** - **问题原因**:代码语法错误或项目未启用CUDA编译。 - **解决方法**: 1. 新建一个**CUDA Runtime项目**(VS模板),运行默认示例代码。 2. 对比新旧项目属性差异(右键项目 -> 属性 -> CUDA C/C++)。 3. 确保`.cu`文件属性中`Item Type`为`CUDA C/C++`。 #### 5. **补充操作:驱动与工具包修复** - 更新NVIDIA显卡驱动至最新版本。 - 通过官方安装包修复CUDA Toolkit(选择`Repair`选项)。 --- ### 常见关联问题 #### 1. **如何避免多版本CUDA冲突?** - 使用`CUDA_PATH`环境变量明确指定版本,并通过VS项目属性绑定到特定路径。 #### 2. **为何新建CUDA项目能运行而现有项目失败?** - 现有项目可能残留错误配置(如平台目标、文件类型定义错误),需对比属性设置[^3]。 #### 3. **nvcc fatal error的扩展解决方法?** - 检查代码中是否包含中文字符或特殊符号路径。 - 以管理员身份运行Visual Studio。 --- ### 引用来源 [^1]: Visual Studio 2015 + CUDA 11.1环境突然报错 [^2]: CUDA项目编译时报错MSB3721 : 新建CUDA项目后配置修复问题 [^4]: 多版本VS/CUDA环境冲突分析 : CUDA Toolkit路径设置方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值