How to estimate project

项目管理核心流程解析
本文介绍了项目管理中的关键流程,包括需求分析、工作分解结构(WBS)创建、甘特图应用及变更管理等内容,强调了良好的项目管理对于项目成功的重要性。

      需求分析的过程 需求分析阶段的工作,可以分为四个方面:

  1. 问题识别,
  2. 分析与综合,
  3. 制订规格说明,
  4. 评审.

  问题识别:就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准.这些需求包括:

  •   功能需求(做什么),
  • 性能需求(要达到什么指标),
  • 环境需求(如机型,操作系统等),
  • 可靠性需求(不发生故障的概率),
  • 安全保密需求,
  • 用户界面需求,
  • 资源使用需求(软件运行是所需的内存,CPU等),
  • 软件成本消耗与开发进度需求,

预先估计以后系统可能达到的目标. 分析与综合:逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分.最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型). 制订规格说明书:即编制文档,描述需求的文档称为软件需求规格说明书.请注意,需求分析阶段的成果是需求规格说明书(好象软考曾经考过这个问题),向下一阶段提交. 评审:对功能的正确性,完整性和清晰性,以及其它需求给予评价.评审通过才可进行下一阶段的工作,否则重新进行需求分析  

  进行估算最精确的方法通常是建立一个将工作分解开的结构。可以把功能分解为一级,二级,甚至更多级,这就需要在一个很高的层面描述工作,然后将该工作分解成更小的部分,直到每项活动都能够被估算在80小时以内完成。(或假如项目比较小的话,就是40个小时。),这样的话可以方便的在一周的工作总结中进行全方面的估计。这通常也需要花费很多时间和精力。但是,假如您很好地了解了这项工作,而且假如您能够确定所需要的工作都已包括进了您的工作分解结构里,那么您就常常取得获得一个精确的估算。

  尽管任何的项目都是唯一的,但是有些项目同其他的项目很相象。使用以前的经验这一技巧,您能够找一找以前完成的类似项目,然后根据那个项目实际所需要的工作量来估算您当前的工作。这是个估算工作量的好方法,因为他允许您使用以前的经验。但是,他需要您以前有一个类似的项目,而且您必须具备对那个项目实际工作量的准确计算

  即使您以前没有进行过这样的项目,其他人可能经历过。找一找内部或外部的专家,看看他们是否能够用其以往的经验来指导您进行估算。例如,假如您必须部署一项新技术,您能够找一个研究分析师,请他来帮助您估算所需工作量的水平。

  项目管理分九个知识领域,分别是成本管理、质量管理、时间管理、范围管理、人力资源管理、沟通管理、风险管理、采购管理和整体管理。

  一个项目经理有多少时间是用来做沟通的工作的?应该不少于75%的时间是用来沟通的,所以项目管理将项目沟通管理单独列了出来

  下面讲几个名词,如果你掌握了,一和人讲项目管理你就抛出来,一定没有人敢小看你。他们是WBS、甘特图、基准(BASELINE)、项目干系人和关键路径

  •   WBS是WORK BREAKDOWN STRUCTRE ,工作分解结构 WBS的定义还是很麻烦的,PM要召开团队进行讨论,向成员提供与项目相关的所有详细资料,并把WBS树分解到二层三层。然后要花上一段时间让成员 进行头脑风暴式(BRAINING STORM)思考,制订工作产出和相应人员的职责,记录每一个工作包的完成标准。比如我们要结婚了,怎么来分解呢无非是办酒席,拍结婚照,,等等,这个在论坛上曾有人做了详细的分解,大家都可以找到。我们说为什么WBS重要,而且大部分项目管理的咨询都是针对WBS的咨询因为WBS做好了,以后工作就有了参考物,你就知道在不同的阶段你应该干什么,完成到什么进度。其实WBS的划分是没有规则的,主要的考虑角度是方便你做各类的统计工作,为管理服务。同样的一个项目其管理的侧重点不同,WBS结构的划分也可能是完全不同的。衡量划分好坏的标准应该是看其是否满足你管理的需要。
  • 甘特图也叫横道图等,很多名称,我们说它是甘特在第一次世界大战时开始使用,它就是在WBS的基础上将WBS形象化老控制进度
  • 对于基准,我象举个例子。我们在没有结婚之前,你脚踩几只船?我们说法律允许但道德不允许,但你可以脚踩N只船:)但当有一天你和你的朋友进了一个小黑屋子,然后带了两个盖章的本本的时候,你还可以脚踩N只船吗?我们说此时就不允许了,因为你过了一个基准线(BASELINE)如果你还想脚踩N只船就需要重新回小黑屋子再盖两个章就可以了。那我们的项目要越轨怎么办,也就是项目变更?我们说对这样的项目变更会影响各要素比如时间,成本,质量等我们应该统一由项目管理办公室来进行控制,如果你要变更基准,必须要进行严格的限制。在客户提出变更请求时,要建立变更申请登记表和变更申请 表,并让客户签字。有时候一些不是非常关键的模块PM也不至于一点不讲情面,该卖面子的时候还是要卖,尤其是当着对方领导的面,千万要 卖面子,但是也别卖的太干脆,不要让他们得到的太容易。 PM在变更管理中需要做的是分析变更请求,评估变更可能带来的风险和修改基准文件。如果一个项目进行过程中,比如现在的点心的3G项目,你发现如果再多花一点时间就可以编写出对以后非常有用处的程序,但这个程序不在本项目范围之内,你要不要做?对,我们说不能做,你可以重新起一个项目来做,但不能在这个项目里做,这样会是我们的项目成本超出,风险增加,而且和其他的项目缺少比对性和参照的价值。
  • 有个有名的增量开发的名声。只用20%的功能先满足你80%的需求,其他的功能我可以开发升级的版本
  • 项目干系人是什么东东,谁给我举一个例子?对,包括项目人员的老婆孩子,正确我们说有的项目需要的时间很紧张,如果你的项目成功了,但项目的程序员们都成了光棍,那项目还是非常失败,至少不是丧心病狂的PM这么想。合理解决项目干系人的冲突是个很累的问题,其中还包括你的只能经理们,你的董事长,你的客户,等等,等等,有的说没用?好,如果你的项目进展不下去,你该怎么办?对,开会,把你的高层找一个坐到会议室,不用他说话,只让他暧昧的看着大家,大家一定会想,这个家伙一定和领导有关系,我们还是好好的做这个项目,下一个项目再给他使拌子吧:)所以为了不累死好好分析一下你的项目干系人吧我们上次讲了一些基础的知识,包括什么是项目管理,项目管理包括什么?
Homework 4: Binocular Stereo November 6, 2025 Due Date: November 27, by 23:59 Introduction In this project, you will implement a stereo matching algorithm for rectified stereo pairs. For simplicity, you will work under the assumption that the image planes of the two cameras are parallel to each other and to the baseline. The project requires implementing algorithms to compute disparity maps from stereo image pairs and visualizing depth maps. To see examples of disparity maps, run python main.py --tasks 0 to visualize the com￾parison of disparity map generated by cv2.StereoBM and the ground truth. 1 Basic Stereo Matching Algorithm (60 pts.) 1.1 Disparity Map Computation (30 pts.) Implement the function task1 compute disparity map simple() to return the disparity map of a given stereo pair. The function takes the reference image and the second image as inputs, along with the following hyperparameters: • window size: the size of the window used for matching. • disparity range: the minimum and maximum disparity value to search. • matching function: the function used for computing the matching cost. The function should implement a simple window-based stereo matching algorithm, as out￾lined in the Basic Stereo Matching Algorithm section in lecture slides 08: For each pixel in the first (reference) image, examine the corresponding scanline (in our case, the same row) in the second image to search for a best-matching window. The output should be a disparity map with respect to the first (reference) image. Note that you should also manage to record the running time of your code, which should be included in the report. 1.2 Hyperparameter Settings and Report (30 pts.) Set hyperparameters in function task1 simple disparity() to get the best performance. You can try different window sizes, disparity ranges, and matching functions. The comparison of your generated disparity maps and the ground truth maps can be visualized (or saved) by calling function visualize disparity map(). 1 Computer Vision (2025 fall) Homework 4 After finishing the implementation, you can run python main.py --tasks 1 to generate disparity maps with different settings and save them in the output folder. According to the comparison of your disparity maps and ground truth maps under different settings, report and discuss • How does the running time depend on window size, disparity range, and matching function? • Which window size works the best for different matching functions? • What is the maximum disparity range that makes sense for the given stereo pair? • Which matching function may work better for the given stereo pair? With the results above • Discuss the trade-offs between different hyperparameters on quality and time. • Choose the best hyperparameters and show the corresponding disparity map. • Compare the best disparity map with the ground truth map, discuss the differences and limitations of basic stereo matching. 2 Depth from Disparity (25 pts.) 2.1 Pointcloud Visualization (20 pts.) Implement task2 compute depth map() to convert a disparity map to a depth map, and task2 visualize pointcloud() to save the depth map as pointcloud in ply format for visual￾ization (recommended using MeshLab). For depth map computation, follow the Depth from Disparity part in slides 08. You should try to estimate proper depth scaling constants baseline and focal length to get a better performance. The depth of a pixel p can be formulated as: depth(p) = focal length × baseline disparity(p) (1) For pointcloud conversion, the x and y coordinates of a point should match pixel coordinates in the reference image, and the z coordinate shoule be set to the depth value. You should also set the color of the points to the color of the corresponding pixels the reference image. For better performance, you may need to exclude some outliers in the pointcloud. After finishing the implementation, you can run python main.py --tasks 02 to generate a ply file using the disparity map generated with cv2.StereoBM, saved in the output folder. By modifying the settings of the hyperparameters in task1 simple disparity() and run￾ning python main.py --tasks 12, you can generate pointclouds with your implemented stereo matching algorithm under different settings and they will be saved in the output folder. 2 Computer Vision (2025 fall) Homework 4 2.2 Report (5 pts.) Include in your report and compare the results of the pointclouds generated with • disparity map computed using cv2.StereoBM • disparity map computed using your implemented algorithm under optimal settings you found in task 1. 3 Stereo Matching with Dynamic Programming (15 pts.) 3.1 Algorithm Implementation (10 pts.) Incorporate non-local constraints into your algorithm to improve the quality of the disparity map. Specifically, you are to implement the function task3 compute disparity map dp() with dynamic programming algorithms. You may refer to the Stereo Matching with Dynamic Programming section in lecture slides 08. Note that you should also manage to record the running time of your code, which should be included in the report. After finishing the implementation, you can run python main.py --tasks 3 to generate the disparity map and save it in the output folder. You can also run python main.py --tasks 23 to simultaneously generate pointclouds. 3.2 Report (5 pts.) Report the running time, the disparity map, and the pointcloud generated with dynamic programming algorithm. Compare the results with basic stereo matching algorithm. Submission Requirements • Due date of this homework is November 27, by 23:59. Late submission is acceptable but with a penalty of 10% per day. • Zip your code, report, and all the visualization results (including disparity maps and the pointclouds) into a single file named StuID YourName HW4.zip. A wrong naming format may lead to a penalty of 10%. Make sure that the zip file can be unzipped under Windows. • For the code, it should run without errors and can reproduce the results in your report. If you use artificial intelligence tools to help generate codes, explain in your report of (1) how you use them, and (2) the details of implementation in your own words. If your code simultaneously (1) is suspected to be generated by AI tools, and (2) cannot run properly, you may get a penalty of 100%. • For the report, either Chinese or English is acceptable. Please submit a single PDF file, which can be exported from LATEX, Word, MarkDown, or any other text editor. You may get a penalty of 10% if the file format is not correct. 3 Computer Vision (2025 fall) Homework 4 Hints Here are some supplemental materials: • cv2.StereoBM: https://docs.opencv.org/4.x/d9/dba/classcv_1_1StereoBM.html • cv2.StereoBeliefPropagation: https://docs.opencv.org/4.x/de/d7a/classcv_1_1cuda _1_1StereoBeliefPropagation.html
11-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值