问题标签 [project-planning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
342 浏览

winforms - WebForms / MVC 到 Windows Forms 程序员

首先我想明确一点,我不是在寻找“我的技术比你的好”的帖子;这是一个真实的案例,我一直面临着这个决定。考虑到这一点,让我解释一下:

我们有一个 WinForms 应用程序。它始于早期的 .NET 1.0,但第一个发布版本使用的是 .NET 1.1。有(如 BusinessLayer.dll、Datalayer.dll、Framework.DLL 等),但在此应用程序的“长”开发周期中的某个时刻,“表示”层(Win Forms)感染了一些代码,因此,“代码与隐藏代码的表示之间的分离”是某种神话。不良做法或其他任何事情,事实是该应用程序就在那里并且可以正常工作。

几年过去了,我们有了 .NET 2.0,我们慢慢迁移,它大部分工作,不得不在这里和那里更改一些调用。上一个版本做了同样的事情,但针对 .NET 3.5sp1。我们需要某种 Web 服务,因此决定改用 WCF。它工作正常。但是,尽管进行了所有这些 .NET 升级,但该应用程序的大部分代码库仍然是 5 年前的老摇滚。我们使用 Gentle.NET(现在旧且未维护)作为我们的数据对象(这是 5 年前的福气!)。

我们的表现层,winforms,“好看”,因为我们使用了 90% 的完全 gdi+ 自定义控件。(尽可能无需破解 WinAPi)。该应用程序是基于触摸的(即:它使用了 Ink,但它不依赖于它),但是按钮、标签等一切都是“设计”为与触觉设备一起使用的。(平板电脑或触摸屏)。当然有些用户使用键盘/鼠标。

考虑到所有这些,以及所有这些 web2.0 和 Internet fuzz(加上 Jeff 的帖子;)),我们正在考虑重写应用程序但使用 Web 技术的可能性。这个想法显然是为我们的客户带来更多的可用性(他们可以随时随地使用系统)和更少的维护(我们可以升级,这是他们所有人的即时升级)等等。你知道,通常的互联网vs WinApp 的东西。

问题是,鉴于这是医疗保健行业,并非我们所有的客户都愿意将他们的数据库“移动”到我们的服务器上,这是可以接受的,并且会迫使我们在他们自己的服务器中安装网络服务器/数据库服务器服务器,所以他们有自己的副本。不是什么大问题(除非我们必须手动更新这些,但这不是问题,因为我们已经更新了 5 年的 win32 应用程序!)。

现在,回到主要的“问题”。

该团队几乎没有 Asp.NET 经验,我们在 ASP 2.0(1999/2000 年)中编写了很多程序,但那是 HTML+VBScript+CSS 的意大利面,所以我认为这不算数。在经历了所有这些经历(互联网泡沫!)之后,我们回到了 VB6,然后是 C#.NET 1x,你就知道剩下的故事了。我们是 WinForms 的一个小型 C# 开发团队。我们在上一次 .NET 3.5 中获得了一些 Linq To SQL 经验,我们很喜欢它。我们觉得它非常自然,非常“如果我们在五年前拥有这个……”就像。

鉴于这一切,重写应用程序并不是一项“简单的任务”(即使我们想在已知的 C#.NET 中完成也不是),这需要时间和计划,但我们可以用 5 年时间纠正数十个错误凭借使用该应用程序的经验,我们现在可以说我们对客户希望如何使用该软件以及我们在设计当前应用程序时(自己)创造了哪些限制有了更好的了解。应用程序和业务运作方式的所有“知识”都可以用于在设计、代码和可用性方面产生更好的应用程序。请记住,在 .NET 1.1 中我们甚至没有泛型!;) (你会看到很多 ArrayList 挂在这里)。

作为附加说明,我们使用 Crystal Reports(而且,像往常一样,我们讨厌它)。我们也不认为墨水控制是“必须的”。HTML/CSS 可以被塑造成我们想要的样子,尽管我们知道 HTML 不是 WinForms(因此有些东西不能被复制)。

你认为在 MVC(或 WebForms)中计划这个会太疯狂吗?我喜欢 MVC(类似 ruby​​ on rails)的想法(我从来没有在本书的基础知识之外使用 ruby​​ 进行编程),所以我们团队中没有人是专家,但我们总是可以学习和阅读。它一定不是“火箭科学”,不是吗?

我知道这整个问题可能有点主观,但是您会用新的 ASP/MVC/XXX Web 应用程序替换老化的 Winforms 应用程序吗?您是否有经验或尝试过(成功或失败)?

任何有助于更好地决定做什么的见解将不胜感激。

提前致谢!

更新:感谢所有回复的人,我们将评估这是否是一个好的举措,这确实是一项艰巨的工作,但我担心桌面应用程序正在变旧(使用旧的 net 1.1 hacks)而且它有在 Vista 和 W7 中或多或少地工作没有问题,恐怕未来的更新可能会破坏它。此外,应用程序的许多“或多或少核心”部分暴露了一些设计糟糕的想法,我们不得不到处破解以完成某些任务。部分缺乏经验,部分缺乏对业务运作方式的 100% 了解(以及客户不确定他们想要什么)。一个新的应用程序(以任何形式)将使我们能够在保留所有用户知识的同时创建更好的基础。但是,这是很多工作:) 所以我们将在这里考虑所有这些选项。正如你们中的一些人所提到的,

再次感谢大家!

0 投票
3 回答
2851 浏览

project-management - 资源调配时强制相关开发任务在 Microsoft Project 中保持一致

在规划软件项目时,我希望强制 Microsoft Project 将多个相互依赖并分配给同一资源的任务放在一起,而其他任务不会被资源调配交错。

例如,我有任务 -

  • 设计 CDataAccess
  • 实现 CDataAccess
  • 优化 CDataAccess

我希望他们在 GANTT 中彼此跟随,而不会在两者之间出现任何其他任务(例如“设计 CDBController”)。

这对于软件开发来说是相当独特的,因为任务之间的“上下文切换”是一个非常糟糕的主意。

这是问题的一个例子(它是真实甘特的缩减版) -

甘特示例 http://img36.imageshack.us/img36/5483/gantt.png

(如您所见 - 任务 5 在任务 2 和 3 之间跳转,因为任务 7 依赖于它。在这个特定示例中,我希望任务 5 位于任务 1 之前或任务 3 之后)。

我有一个前置依赖集,因此优化必须在实现之后进行,并且实现必须在设计之后进行,但这还不够,因为这意味着任务相互遵循,但不一定立即相互遵循。

使用优先级有时会有所帮助,但事情很快就会变得过于混乱而无法管理(一个地方的优先级随机变化会导致其他地方的意外变化)。

有没有办法在 Microsoft Project 中强制这样的要求?我本来希望能够添加“完成到立即开始”类型的前身......

可能但有缺点的事情 -

  • 将三项任务合并为一项(将它们的持续时间相加)。这是我希望避免的,因为我喜欢 GANTT 中的较小任务。对大型任务进行时间估算是徒劳的——任务必须很小,否则时间估算毫无意义。
  • 添加明确的开始日期。这并不能真正解决问题,因为它禁止资源平衡实际上做任何事情。
0 投票
6 回答
2106 浏览

project-planning - LOC 是项目估算的正确参数吗?

LOC 是项目估算的正确参数吗?

有很多情况下,单行代码的复杂性需要更多时间,除了 LOC 什么可能是项目估算的建议参数?

当人们谈论程序的功能点时,这是否意味着用例相关信息?

我正在尝试为完整的软件开发估计找出任何坚实的基础,包括分析、设计、测试用例准备和编码,请建议?

0 投票
7 回答
357 浏览

project-planning - 在项目开始时我应该做哪些笔记(如果有的话)?

最近,一位团队负责人(不是我的)问我是否愿意承担一个编程项目。他的团队成员目前正忙于其他更重要的项目。两年前我大学毕业,直到现在编程只是我的一个爱好。最近我决定要从事软件开发的职业。我接受了他的提议,这样我就可以获得一些现实世界的经验并开始建立一个投资组合。

大约一个小时后,我计划与团队负责人会面,讨论他需要什么的细节。从与他的简短电子邮件交流中,我知道基础项目是更新现有的 ASP.NET 表单——但我也认为还有更多。

考虑到我想最终把这个项目放在一个作品集中,我应该在会议上做什么样的笔记?

0 投票
6 回答
513 浏览

java - 小型java项目成长(maven和junit)

我正在开发一个不断增长的 java 项目,我可能会与其他人合作改进一些功能。

我想使用一些工具来提高我的工作质量,请记住:

  • 我没有太多时间花在这个项目上
  • 这是一个小项目,但对我来说真的很重要
  • 我不想为它购买软件/硬件
  • 我已经在使用 SVN

你觉得maven和junit怎么样?值得为他们花时间吗?你知道还有什么好工具吗?

0 投票
1 回答
146 浏览

project-planning - 网站结构和划分?谁计划的?

我想知道,在一个为每个部分处理网站结构和功能规划的组织中?步骤或工作流程是什么?

我有时会对结构良好且易于访问的大型网站感到惊讶。作为一名自由设计师,我创建了一些小型网站,但并不需要大的规划。客户只需给我他们需要或他们建议的部分,然后我给他们我认为如何划分他们。我需要一些关于如何构建网站的建议。以下是我脑海中的一些问题:

  1. 您如何规划导航结构并划分页面,同时牢记它应该是可访问的并且适合设计?(有什么建议可以给吗?)

  2. 我的问题有时,客户会给我一个长而描述性的菜单标题,不适合设计?你怎么处理?

  3. 这个工作有自由职业者吗?(你只需给他们场景,他们就会为此计划)

  4. 您可以推荐一些值得一读的网站/书籍?

谢谢你!

0 投票
4 回答
119 浏览

project-planning - 如何将我们的程序转化为好的最终产品?

编写成功的项目应该遵循哪些步骤。

我可以编写程序,但无法将其转换为好的最终产品。我知道编码是创建成功项目的一小部分,我想为此升级自己吗?

感谢您的任何建议..

0 投票
3 回答
5213 浏览

ruby-on-rails - 你如何规划你的 Rails 应用程序?

我正在为客户启动 Rails 应用程序,并且正在考虑创建思维导图或直接跳转到 Cucumber 规范。

你如何规划你的 Rails 应用程序?

作为一个附加问题,假设您也是从 Cucumber 开始的,那么您会在什么时候编写单元测试?在满足规格之前?

0 投票
4 回答
2013 浏览

open-source - Ideatorrent 开源替代方案

对于不太活跃的 Ideatorrent 项目,是否有任何开源而不是 drupal 捆绑的替代方案?

0 投票
18 回答
18729 浏览

drawing - 你用什么来制作编程流程图、图表等?

我一直只使用 OpenOffice Draw,我突然想到那里必须有更好的东西。

那你用什么?你喜欢它吗?

免费物品和网络应用程序的奖励积分。