在上篇文章
《工作初体验-软件工程篇》中,简单说了自己对软件工程的一些体会,现在继续侃侃。
需求分析。在工作中会经常遇到客户无休止的提出新的需求,这个时候我们该怎么办呢?软件开发者和客户始终存在着矛盾,客户肯定想花越少的钱获得越多的功能。不过我们要让客户明白:软件开发人员的精力是有限的,不可能开发出功能无限的软件。不过一个优秀的公司,必定是谦虚的、内敛的,我们当然不能直接拒绝,而是要很有艺术。这样有时肯定不行,所以必须在合同中严格说明维修范围、功能、性能等。另外在《工作初体验-软件工程篇》中提到开发方应充分引导客户提需求,把需求分析的主动权放在自己的手上。不过怎么样才能充分引导客户提需求呢?要达到这种程度,必须比客户更了解客户的业务,比客户更知道客户的所需。事实上,当你比客户更了解客户的业务,比客户更知道客户的所需时,就可以剖析客户的业务,发现其中的不足,为客户提供与之配套的技术解决方案。
设计。在《工作初体验-软件工程篇》中我提到任务要自上而下,产品要自下而上,这是“嫦娥一号”总指挥在今年的IT两会上说的。任务要自上而下:模块式开发方式非常符合这个构思。对于一个软件产品,非常仔细地自上而下地进行分析。每分析到一个逻辑上非常清晰的模块的时候,就停下来,把这个模块交给个人或团队去做。产品要自下而上:如果让我们做一个软件产品,我们肯定不能完成;不过如果让我们做其中的一个模块,我们可能可以;如果还不行,让写一些类总可以吧!就这样自下而上,软件产品出来了。其实现在web2.0的产品也很符合这个idea:产品要自下而上。
测试。最近公司在培训自动化测试,用的工具是Borland的SilkTest,在
测试JFC--PageList中简单使用了一下SilkTest,功能还挺强大的。待续...
(补)记得在一个同学的QQ签名上看到:应用工程师=测试+全面知识+沟通。我认为其中的"全面知识"就是对业务知识的掌握,现在社会需要的开发人员既能在技术能力上突出又要能够精通业务,打个比方,他们就是士官,既能指挥小组,也能打仗,没有业务理解和分析能力、纯粹的编码人员将被淘汰。在我们公司比较明显,领导相对来说更倾向于能在业务和技术能力上同样突出的技术人员。这点也印证了我刚才在需求里面所说的,如果对业务知识很熟悉,那么在制作需求说明书的时候主动性很大。所以说,测试也应当由对业务比较熟悉的人来做。当然如果用户能充当这个角色,那就太好了。
分享到:
相关推荐
这种模式旨在让用户在购买前体验软件,从而决定是否值得付费购买完整版。 ### 知识点二:Shareware与Freeware的区别 Shareware与Freeware虽都提供免费下载,但二者存在本质区别。Freeware是指完全免费、无任何使用...
【标题】和【描述】提及的是关于2021年软件工程师试用期的工作总结范文,这些范文可能包含了软件开发人员在试用期间的工作体验、学习成果和个人成长。【标签】则表明这些文档是作为范本、范文存在的,可能是最新的...
【InfoQ:软件工程数智化研究报告-可观测应用篇2023】这份报告深入探讨了在云原生技术、敏捷开发和DevOps理念推动下,软件工程领域的新趋势——可观测性。随着企业对业务灵活性和客户体验的重视,系统稳定性与可靠性...
【标题】:“毕业设计-软件工程-外文翻译.doc”主要涉及的是数据挖掘在客户服务支持中的应用,特别是在决策支持和机器故障分析中的作用。 【描述】:这篇文档出自大连理工大学软件学院的一位学生,探讨了如何利用...
【参考资料】列举了几本关于软件工程和系统分析的书籍,以及一篇基于UML的超市管理系统设计文章,表明设计依据了专业理论和实践案例。 综上所述,超市管理系统是一个综合性的IT解决方案,涵盖了超市运营的各个方面...
6. **软件工程方法论**:掌握敏捷开发、瀑布模型等软件工程方法论可以帮助提高工作效率。 7. **项目管理工具**:学会使用JIRA、Git等工具进行版本控制和项目管理。 8. **测试与调试技巧**:掌握软件测试和调试方法...
本篇将深入探讨软件工程在构建航空订票系统中的应用,从概要设计到详细设计,全方位剖析这一复杂系统的构建过程。 一、概要设计阶段 概要设计是软件开发的第一步,它为整个系统提供了一个宏观的框架。在航空订票...
本篇将根据提供的研究生软件工程课件,逐一解析其中涉及的关键知识点。 1. **软件与软件工程** (SE01软件与软件工程.ppt) - 软件定义:涵盖了软件的本质,包括程序、数据及其文档。 - 软件工程的起源与发展:介绍...
### 实用软件工程实施指南 #### 一、现状与挑战 **1.1 如何保证质量?** - **设计与需求相符:** 需求分析阶段必须细致准确,确保设计文档完整反映用户需求。采用原型法可以让用户提前体验产品雏形,减少后期需求...
【2019年软件工程工作总结】 在2019年,软件工程行业经历了快速的发展,特别是伴随着互联网技术的进步和电信行业的重组,为通信服务行业带来了新的机遇。在这篇文章中,作者分享了作为一位宽带医生在这一年的工作...
这是一个针对软件工程专业的论文,因此涉及到的知识点不仅包括了具体的系统开发实践,还包括了相关的理论背景和技术细节。 ### 一、系统概述 #### 1.1 系统背景 随着互联网技术的发展,远程教育已经成为一种重要的...
描述中的信息虽然简略,但我们可以推断出这个项目可能是一个完整的Python软件工程,专注于英语单词的学习与记忆。它可能包含各种功能,如随机抽词、学习计划设定、学习进度追踪、复习提醒等,以提高用户学习的效率和...
软件工程之界面设计篇是软件工程中一个重要的组成部分,它涉及到用户体验、交互设计、UI设计等多个方面。下面将对这些知识点进行详细的解释: 一、用户体验(User Experience) 用户体验是指用户在使用软件时的...
【软件需求说明书软件工程】是软件开发过程中的关键文档,它详细定义了待开发的软件系统应具备的功能、性能和接口等要求。本篇以课程设计管理系统为例,深入阐述其重要性和具体需求。 1.1 编写目的 编写软件需求...
软件工程倡导的是一种预防性而非救火式的管理哲学,要求开发者提前预见并规避潜在问题,而不是等到问题发生后再寻找解决方案。 ### 作者的个人体验与反思 林锐,作为一位拥有八年软件开发经验的资深从业者,在完成...
本篇将详细阐述软件测试的基本概念、技术、方法、流程以及过程,同时关注微软软件测试的特殊性。 **一、软件测试基本概念** 软件测试是对软件产品进行的一种系统性的活动,旨在验证和确认软件是否满足预设的需求和...
总结来说,这篇论文深入研究了PhoneGap在Android平台上的应用,通过对PhoneGap框架的分析和RSS阅读器系统的实现,揭示了PhoneGap作为跨平台开发工具的优势,对于软件工程(动漫)方向的学生,提供了Web技术应用于...
《安装算量(实例体验)入门教程(StepByStep)---消防水篇借鉴》 本文主要介绍了使用金格软件进行安装工程量计算的入门教程,特别是针对消防水系统的计算。教程分为七个章节,旨在帮助初学者逐步理解并掌握专业安装算...