软件开发的常见问题有哪些

2024-05-23 19:02

1. 软件开发的常见问题有哪些

不知道你想问哪些方面的问题,如果你想做软件开发,需要具备下面几个基本的素质:
1、业务能力要说的过去,最起码的要求必须完成PM/TL交给你的任务,无论你用的是C++,或者Java语言,必须要熟练运用。
2、软件行业,目前在国内,不加班是不可能的,你要做好加班,甚至通宵的准备。
个人建议,仅供参考。

软件开发的常见问题有哪些

2. 软件开发面临的问题都有哪些?

1. 软件开发是高风险、高投入的项目
2. 开发时间长、成本高
3. 无法证明正确性
4. 维护代价高
5. 开发、维护难于度量  等等
6. 偏激看法:凡是软件开发项目就不可能按时完成。

3. 软件工程开发过程中应注意的问题?

本人软件工程师,你的问题可以参考下面的文章,不明的可以与我交流,谢谢采纳。
软件项目从角色分工方面可以划分为研发、开发和实施三类,每个类型的项目有各自的管理过程。下面笔者就公司实施类项目的经历,从项目经理的角度谈一谈实施类项目管理过程中应该注意的一些问题,希望大家共勉。 
  
  确定项目概况

  俗话说:“万事开头难”,项目开始阶段是一个非常重要的阶段。项目经理在接手一个新项目的时候,首先要尽可能的多从各个方面了解项目的情况。要在项目启动阶段就要了解:这个项目是什么类型的项目,具体做什么事情,是谁提出来的,目的是解决什么问题,客户方直接责任人是谁及他对待项目的态度。我们提出这些问题,并根据掌握的情况分析这些问题,目的是要找到这个项目验收的最终落槌人,并根据他的工作特点制定相应的后续工作策略。 



  确定项目干系人 

  要了解这个项目里牵涉哪些方面的人,如投资方、具体业务干系方、项目建成后的运营方、技术监督方等等,很多项目里除了业主单位的结构很复杂以外,还有一些其他单位也会牵涉进来。项目经理需要提前了解每个方面的人对这个项目的看法和期望。事先做足功课,可以让你在实施中碰到问题的时候,分析哪些人会在什么方面支持你,哪些人会出于什么目的反对你,从而顺利的将问题解决,让事情向你所希望的方向发展。请记住一句话:“没有永远的敌人,只有永恒的利益”。 

  提前确保后勤保障体系 

  “兵马未动,粮草先行”,这里的“粮草”就是资源的储备,就是参与项目的人员的业务、技术培训。根据项目特点确定项目人员规划,人员配备以期达到互补,这样对于项目实施和提高人员素质很有帮助。不是每个开发人员都适合目前的项目,最好向公司提前申请符合项目特点或者比较容易过渡的开发人员。或者是在项目需要增加人力投入的时候能够提前向公司说明,以保证有比较合适的人选。 

  意义非凡的项目接口人 

  和客户谈需求,协调资源,一定要客户指定统一的接口人,不能张领导、王领导都来说几句,如果他们意见不一致,那你就成“夹心饼干”了。所以,项目最初就要和客户方项目经理确定一个接口人,有什么需求你们内部先统一再和项目组谈,我不参与你们内部业务部门之间的矛盾之中,这样可以很大程度上减少客方不必要的干扰。项目接口人不一定就是客方项目经理,有时候他会指派一个人和你接口,那这个人的关系也要处好,团结一切可以团结的力量。如果遇到需求确定或者变更等需要做主的事情,那一定要请示客方项目经理,并且拿到具有证据效果(如:签字,邮件等)的反馈才行。 




  项目情况及时反馈 

  把项目过程中遇到的问题、进度及时向公司反应,以便能争取更多的支持。对于客户的提问或咨询也要及时反馈,但不能不懂装懂,胡乱答应,对于不太把握的事情还是要和客户委婉的解释随后给予答复,争取到时间就要及时的去确认并且以最快的速度反馈给客户,让客户觉得项目组很负责任,态度很积极。如果他提出的问题被你耽误了好多天或者干脆就忘记反馈,那客户的感觉可想而知,随后的工作就麻烦了。

软件工程开发过程中应注意的问题?

4. 论文软件开发过程中遇到什么问题

01:软件项目开发合同的订立,合同需要对将来几个月甚至几年需要做的事情有个明确的定义说明,限定好工作范围、工作内容、承担的责任、项目总费用,每个阶段支付的费用都需要有明确的说明甚至付款条件等都需要一清二楚,很多东西都没讲明白是将来合作不愉快的导火索,这些都需要白纸黑字写清楚,其实从合同上也能看出甲乙双方的水平在什么层次上的。

   02:软件开发过程中,往往会发生客户不按时支付费用的事情,因为软件开发不只是脑力活儿,也是强度非常大的体力活儿,难免会遇到不能按时交付软件的可能性,除非遇上非常有经验的能相对准确评估工作量、工期的管理人员,参考历史的开发经验、再按自身团队的开发技术能力、协调工作效率,计划出一个合理的工期计划来,因为整个公司都需要考虑到资金安全、开发风险,需要有一定的水平能说服客户及时付款,至少可以支付大部分款项的人,在开发软件项目的过程中往往会发生需要垫资几十万的事情,其间需要做好防备工作需要防止资金链断裂了。

   03:软件开发人员中途离职也是家常便饭,相对规范的公司,一年也大概也会有10%的人员流动性,若薪资待遇也不怎么样、公司管理也不规范,开发人员也学不到知识、业务也不稳定的,那估计有50%的流动性也是很正常的事情,连微软、Google都会有开发人员离职现象,更何况一个不知名的公司,人员离职是很正常的现象,但是人员离职了就得需要有后备开发人员,公司管理人员需要在最短的时间内招聘到合适的人员,这也需要必备的技能。

   04:现在已经不是单枪匹马就能搞定中型软件系统的年代了,一个软件项目开发过程中往往需要N多人参与,客户对软件项目的质量要求,功能要求也越来越高,不只是需要把程序写好,还需要有各种配套文档,测试都需要跟上,所以这些人的协调工作、及时沟通也是很大的问题,若一个项目经理的沟通能力有问题也很容易遇到很多没必要的麻烦,也会使得项目进展会很不顺利的局面,甚至到有敌对力量产生的程度,一个公司,一个项目最怕的是内耗,我们国家其实很多东西也都浪费在内耗上了,若没几千年封建王朝的内耗,我们应该会发展的比美国强大很多。

5. 关于软件开发过程一些描述的问题

第二题的C,指的是编码和测试都发生在软件开发生命周期的偏后期,而前期是需求分析和各种设计的阶段,也就是说是和B对应的意思。坦白的说,现在软件开发的模型有好多种,这个题目只适用于瀑布模型,而且语言用的也略有些歧义,看上去让人觉得是开发完了以后才编码,那样肯定是错的。不过国内的考试,就这样,D是明显错的,所以就选D吧,C不能说错,只能说出题的人语言的运用不是很精准。

关于软件开发过程一些描述的问题

6. 软件开发专业的常识性问题

这里大多数问题的答案都没有对错之分!
你可以把我的这些问题作为引子,展开讨论。例如下面有个问题是使用静态方法或是单例的缘由。如果那个面试的就此展开长篇大论,那他很有可能是个聪明能干的家伙!如果他一脸茫然的看着你,发出这种声音,很明显这就是只狒狒了。同样,想知道一个数是不是2的乘方也有很多方法,不过要是面试的人想用mod运算符,嗯……你知道我的意思吧。(你不知道也没关系,来根香蕉?)
需求
你能给出一些非功能性(或者质量)需求的例子么?
如果客户需要高性能、使用极其方便而又高度安全,你会给他什么建议?
你能给出一些用来描述需求的不同技术么?它们各自适用于什么场景?
需求跟踪是什么意思?什么是向前追溯,什么是向后追溯?
你喜欢用什么工具跟踪需求?
你怎么看待需求变化?它是好是坏?给出你的理由。
你怎样研究需求,发现需求?有哪些资源可以用到?
你怎么给需求制定优先级?有哪些技术?
在需求过程中,用户、客户、开发人员各自的职责是什么?
你怎么对待不完整或是令人费解的需求?
功能设计
在功能设计中有哪些隐喻?给出几个成功的例子。
如果有些功能的执行时间很长,怎么能让用户感觉不到太长的等待?
如果用户必须要在一个很小的区域内,从一个常常的列表中选择多个条目,你会用什么控件?
有哪些方法可以保证数据项的完整?
建立系统原型有哪些技术?
应用程序怎样建立对用户行为的预期?给出一些例子。
如何入手设计一组数量庞大而又复杂的特性,你能举出一些设计思路吗?
有一个列表,其中有10个元素,每个元素都有20个字段可以编辑,你怎样设计这种情况?如果是1000个元素,每个元素有3个字段呢?
用不同的颜色对一段文本中的文字标记高亮,这种做法有什么问题?
Web环境和Windows环境各有些什么限制?
技术设计

什么是低耦合和高聚合?封装原则又是什么意思?
在Web应用中,你怎样避免几个人编辑同一段数据所造成的冲突?
你知道设计模式吗?你用过哪些设计模式?在什么场合下用的?
是否了解什么是无状态的业务层?长事务如何与之相适应?
在搭建一个架构,或是技术设计时,你用过几种图?
在N层架构中都有哪些层?它们各自的职责是什么?
有哪些方法可以确保架构中数据的正确和健壮?
面向对象设计和面向组件设计有哪些不同之处?
怎样在数据库中对用户授权、用户配置、权限管理这几项功能建模?
怎样按照等级制度给动物王国(包括各种物种和各自的行为)建模?
程序设计

你怎样保证你的代码可以处理各种错误事件?
解释一下什么是测试驱动开发,举出极限编程中的一些原则。
看别人代码的时候,你最关心什么地方?
什么时候使用抽象类,什么时候使用接口?
除了IDE以外,你还喜欢哪些必不可少的工具?
你怎么保证代码执行速度快,而又不出问题?
什么时候用多态,什么时候用委派?
什么时候使用带有静态成员的类,什么时候使用单例?
你在代码里面怎么提前处理需求的变化?给一些例子。
描述一下实现一段代码的过程,从需求到最终交付。
算法

怎样知道一个数字是不是2的乘方?怎样判断一个数是不是奇数?
怎样找出链表中间的元素?
怎样改变10,000个静态HTML页面中所有电话号码的格式?
举出一个你所用过的递归的例子。
在散列表和排序后的列表中找一个元素,哪个查找速度最快?
不管是书、杂志还是网络,你从中所学到的最后一点算法知识是什么?
怎样把字符串反转?你能不用临时的字符串么?
你愿意用什么类型的语言来编写复杂的算法?
有一个数组,里面是从1到1,000,000的整数,其中有一个数字出现了两次,你怎么找出那个重复的数字?
你知道“旅行商问题(Traveling Salesman Problem)”么?
数据结构

怎样在内存中实现伦敦地铁的结构?
怎样以最有效的方式在数据库中存储颜色值?
队列和堆栈区别是什么?
用堆或者栈存储数据的区别是什么?
怎样在数据库中存储N维向量?
你倾向于用哪种类型的语言编写复杂的数据结构?
21的二进制值是什么?十六制值呢?
不管是书、杂志还是网络,你从中所学到的最后一点数据结构的知识是什么?
怎样在XML文档中存储足球比赛结果(包括队伍和比分)?
有哪些文本格式可以保存Unicode字符?

7. 软件开发方法的问题分析法

PAM问题分析法。PAM(Problem Analysis Method)是80年代末由日立公司提出的一种软件开发方法。PAM方法希望能兼顾Yourdon方法、Jackson方法和自底向上的软件开发方法的优点,而避免它们的缺陷。它的基本思想是:考虑到输入、输出数据结构,指导系统的分解,在系统分析指导下逐步综合。这一方法的具体步骤是:从输入、输出数据结构导出基本处理框;分析这些处理框之间的先后关系; 按先后关系逐步综合处理框,直到画出整个系统的PAD图。  从上述步骤中可以看出,这一方法本质上是综合的自底向上的方法,但在逐步综合之前已进行了有目的的分解,这个目的就是充分考虑系统的输入、输出数据结构。PAM方法的另一个优点是使用PAD图。这是一种二维树形结构图,是到目前为止最好的详细设计表示方法之一,远远优于NS图和PDL语言。这一方法在日本较为流行,软件开发的成功率也很高。由于在输入、输出数据结构与整个系统之间同样存在着鸿沟,这一方法仍只适用于中小型问题。

软件开发方法的问题分析法

8. 编程初学者问个软件开发的问题

1,开发方向,太多了。总体可分为应用软件和系统软件两类。应用软件根据行业分,制图、视屏处理、经销存管理、游戏都是按应用的分类。系统软件主要管理计算机或计算机系统本身的资源,如操作系统(包括设备驱动)、数据库、文件服务、web服务。
2,不管哪个方向都有简单的部分,和困难的部分。每个行业都有蓝领,都有高手。不要按这个排名选择了,选自己感兴趣的,这个最重要,最能给自己学习的动力。
3,软件工程讲的是软件开发过程的管理,当然开发任何软件都是需要的。有用。但是不同规模的软件、不同的开发团队适合的管理方法一定是不同的,所以要学习原理,不要被具体方法束缚思维。要理解开发过程中会有什么问题,书上提出的办法是为了解决那种问题,带来哪些管理成本。这个在没有做过项目前,很难体会。
4,建议1,看情况同学还刚开始学习,先不要选方向了,不要为这个问题烦恼,还不到时候,学好基础课程吧,对我工作帮助最大的两门课是:数据库、计算机组成原理
5、建议2,找点自己感兴趣的软件做做,动手是学习的最好方法,做个小游戏、零花钱记账程序或其他想做的东西。对了解实际的软件框架、各种软件库很有帮助。