Questions tagged «software»

计算机软件,或者仅仅是软件,是计算机程序和相关数据的集合,提供了告诉计算机做什么和如何做的说明。

6
开发后创建软件设计文档是否合理?
我目前正在为我的“软件开发”研究而毕业,在该研究中,我必须在外部公司中单独开发复杂的软件。所有这些都需要以结构化的方式完成,创建所有相应的文档。 对于这个项目,我选择使用IEEE标准文档:软件需求文档(SRS),软件体系结构文档(SAD)和软件设计文档(SDD)。尽管在学校另有授课,但对于该项目,我选择在开发后(而不是之前)创建SDD 。我的理由是: 我从事实习的公司给了我指导,以实验方式创建满足某些要求的复杂软件。由于他们在项目定义中给了我很大的自由度,因此几乎没有什么可以事先确定的,并且在开发过程中进行试验时最好能遇到。此外,我以个人方式创建软件,对于公司中的其他任何人来说,事先进行此软件设计对我来说都是没有好处的。事前做会花很多时间,以后再做,因为我可以确定由于项目的不确定性,我做的设计必须作很多改动。这对我来说适得其反。 在开发后创建SDD是否有充分的理由?如果没有,那有什么正当理由吗? 编辑:之后创建SDD的原因是为了将来的开发人员继续该项目。在毕业期间,我将无法完成整个项目,因此其他开发人员将不得不继续使用当前的代码库。


4
如何最好地让那些无所事事的非技术经理束手无策,并且仍然能提供出色的工作?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 7年前关闭。 这个问题可能被认为是主观的(我得到了警告)并且已经结束,但是由于我需要一些很好的建议/经验,因此我将冒险。 我看了在下面“关于”页面的Fog Creek软件,该公司认为乔尔Spolsky的成立,是CEO: 早在2000年,Fog Creek的创始人Joel Spolsky和Michael Pryor一直在寻找一个工作场所,那里程序员有体面的工作条件,并有机会做出色的工作,而不会感到烦恼,非技术经理无法进入方式。每个高科技公司都声称他们想要优秀的程序员,但他们不会把钱花在嘴上。 它从物理环境开始(数十个小房间被塞进一个嘈杂的黑暗房间,销售人员在电话里大喊大叫,使开发人员无法集中精力)。但这远不止于此。经理们对变更感到恐惧,他们将任何新想法视作一种被隔离的奇异病毒。拿破仑复杂的初级管理人员坚持认为事情必须按照自己的方式做,否则您将被解雇。公司家具警察在任何人将电影海报贴在小隔间里时都感到痛苦不已。杂乱无章的事情如此猖that,以至于即使有好的主意,也不可能用它们来制造产品。缺乏经验的经理人实行即时运行管理,就如何做事情发出严厉命令,而又不会四处寻找他们的法令的滑稽结果。 最糟糕的是,负责的MBA类型认为编码是一种支持功能,基本上是一种花哨的键入形式。 一个钝真相关于当今大多数大型软件公司的!不幸的是,并不是每个开发人员都像Joel Spolsky 一样gutsy(或者lucky,我可以说吗?)!所以我的问题是: 如何最好地与此类经理合作,让他们远离困境,同时仍能完成出色的工作?

2
如何销售/分发我的软件?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在研究一个个人项目(Windows桌面应用程序),并开始考虑尝试从该应用程序(而不是源代码)中赚钱。我不期望赚到十亿美元,但是谁知道呢?我所看到的最简单的方法是免费赠予并允许人们捐赠,但是我不确定它的运作方式或最简单/最佳的付款系统(Paypal)?如果我要出售它,那该怎么办?第三方分配?通过Paypal从我自己的网站上出售它并验证收据?为应用程序建立自己的“商店”? 本质上:您使用什么方法从个人项目中赚钱(捐赠,出售或其他?),您是如何进行的?提示? 感谢您的答复。

1
创建一个好的问题陈述
<背景故事> 前几天,我在一家二手书店里买了一本叫做《代码完成》的书,因为我听说这是一本很棒的书,所以开始阅读。大约10页之后,我意识到自己对最近正在从事的项目感到有些愚蠢。在这一点上,我需要澄清一下:我没有工作,也不适合上学;它几乎是非正式的(尽管我偶尔也问过一些问题,但我也是唯一从事此工作的人)。我在中学时期,正在尝试创建一个软件。 长话短说,我直接进入了编码(现在我质疑当场就他的编码方式如何做出的一些决定)。因此,我正在尝试以正确的方式重新开始。 </背景故事> 好的,所以我正在尝试创建问题陈述,我想知道一些好的提示,以了解我是否有一个好的提示。Code Complete表示,这应该是非技术性的,并且从用户的角度来看,这是我试图做到的。任何建议,将使其更好。 据我所知,目前尚没有很好的方法来模拟大型复杂的量子计算电路,包括去相干,纠错,纠缠和经典计算机上的算法等功能,更不用说使用标准/井井有条的系统了。已知且易于访问。 抱歉,如果绝对如此,这是我第一次这样做。 编辑-草稿2: 我改写了评论和答案中的建议。 量子计算领域的理论家,研究人员和学生没有一种方法可以直接,高效地模拟和测试复杂的大型量子电路,而无需自己为应用创建代码。一个可以在流行的浏览器中运行的Web应用程序,其简单的界面可以准确地产生有关量子算法,纠错码,纠缠,退相干以及理想界面和实际界面的其他方面的结果,从而使专业人员和学生都可以测试他们的想法,并更好地了解量子计算领域。

6
依赖注入的最佳定义是什么?
每次有人联系我,并要求我以概念性方式定义“依赖项注入”,并解释在软件设计中使用DI的真正利弊。我承认我很难解释DI的概念。每次我需要告诉他们有关单一责任原则,组成而不是继承的历史时。 任何人都可以帮助我解释为开发人员描述DI的最佳方法吗?

4
以适当的方式将条件替换为多态吗?
考虑两个类Dog并且Cat都符合Animal协议(就Swift编程语言而言。这将是Java / C#中的接口)。 我们有一个屏幕,显示猫和狗的混合列表。有一个Interactor类处理幕后逻辑。 现在,我们要向用户显示删除猫的确认警报。但是,需要立即删除狗而不发出任何警报。有条件的方法如下所示: func tryToDeleteModel(model: Animal) { if let model = model as? Cat { tellSceneToShowConfirmationAlert() } else if let model = model as? Dog { deleteModel(model: model) } } 该代码如何重构?闻起来很香

5
解决哪些错误将带来最大的成本收益[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 我想根据解决的难易程度以及它将给我带来多少好处来对错误进行分类。例如,如果有一个错误需要一个小时(双文件关闭等)来解决,而另一个错误则需要一天(分段错误)。但是,如果解决第一个错误不是很重要,那么我可能会研究第二个错误。 是否有任何研究论文根据成本效益或类似指标对错误进行分类? 假设可以根据漏洞特征(例如安全漏洞,内存错误,逻辑错误等)对漏洞进行分类。在另一个维度上,可能会存在诸如难度(容易,中等,困难)之类的参数。我应该寻找其他尺寸吗?为简化起见,我可以假设两件事: 团队中的每个程序员都具有解决任何错误的能力 没有截止日期


3
量化源代码和软件产品的价格
想要改善这篇文章吗?提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我要承担一个项目。这需要我编写代​​码,并且要编写大量代码。客户的要求是在项目结束时交付所有源代码。 我的问题是:如何量化源代码和软件产品的价格?是否有任何衡量指标的指标?我如何量化软件产品? 额外信息:该应用程序必须在任何操作系统上的任何位置运行,包括平板电脑(iPad,Galaxy标签等),智能手机(iPhone,Android手机等)以及网络上。 (现在,想象一下这将是多少代码)。

7
如何应对频繁的需求变更?
我目前在我的工作场所中正面临压力很大(我认为)的情况。 我们已经开始开发新项目,获得一些需求,实施它,然后向您展示可以称为“业务顾问”的人(知道业务需求但不会使用该程序的人)。该人员应该从客户的角度评估应用程序,进行测试等。 以下是“过程”的外观: 商业顾问在晚上与我的老板在Windows Messenger上进行一两个小时的交谈 第二天,我收到包含该对话副本的电子邮件。我应该从中选择任务,检查报告的错误(通常不是错误,只是测试不善,忘记了过去的机构) 我实施变更,实施被接受,然后一两个星期后,事实证明他们不想要他们(他们与一些潜在客户进行了5分钟的交谈,他提出了修改建议)-我必须进行新的变更 不要误会我的意思,我知道有时候需求会改变。让我不高兴的是,这种变化在我的工作场所发生的频率如何,而“管理”的难易程度是两个因素提出了新的要求,或者有时是对现有功能的根本性更改。 同时,我们在紧迫的期限内进行工作,我给人留下的印象是,与其使用我们的软件,不如继续前进。 我寻求您的建议如何处理这种情况?这是正常情况,我对此很敏感吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.