l 质量第一,生产率第二。 高质量对所有用户都有价值,而生产率只对开发方有意义。 l 软件工程的三个基本策略 复用:提高质量与生产率; 分而治之:把一个复杂的问题分解为若干个简单的问题,然后解决; 优化——折衷 l 所有的错误都是严重的,不存在微不足道的错误。 l 管理者不能老惦记着自己是一个官,而应时刻意识到自己是责任的主要承担者。 l 程序员的秉性 诚实、简单(实用主义)、爱憎分明、工作单调但不乏味 l 好的程序经理应具备的条件: 技术水平是程序员队伍中的最高级别; 能做最多且最难的工作; 有人格魅力;(以身作则,公正待人) (ps:个人认为沟通的能力才是最重要的) l 程序员升为经理后一定要编程;软件公司的经理是既要精通技术,又要懂得管理,但很多技术人员是在工作中领悟如何管理的。 l 项目计划: 知己知彼:项目可用的资源有人、可复用的软构件、软硬件环境。 进度安排:项目计划应是动态的,随着客户需求等变化而变化。 进度表要经过开发小组讨论并通过,这样才能实施; 进度表中必需确立若干里程碑; 进度表中对时间的安排必需有一定的缓冲时间;(这点是以后需要注意的) l 质量管理——提倡“零缺陷质量管理”;两大核心为: 高目标:只有确立高目标,才有可能达到较高的质量水平。 可执行的规范:好的规范必需是企业有能力执行的;无规范则导致无序和混沌;太严密的规范则容易扼杀程序员生机勃勃的创造力。 l 软件的质量因素——简化为以下几种: 正确性与精确性(首要考虑的,可扩充到容错性与可靠性) 性能与效率 易用性 可理解性与简洁性 可复用性与可扩充性 l 质量检查:质量检查应该在每个实践环节都要执行,对应于进度表,在每个里程碑到达时执行质量检查比较合理。检查的内容包括:作出评审及作出建议。 l 可行性分析的要素: 经济:成本收益分析;短期长期收益分析。 技术:能否在指定的时间内完成;能否达到预期的质量标准;能否达到预期的生产效率。 社会环境:产品所处的市场分析;产品及市场受政策影响。 人(团队) l 需求分析的困难在于:客户说不清;需求本身经常变动;分析人员或客户理解有误。 l 需求分析的核心问题: 应该了解什么:由主到次,由宏观到微观。 通过什么方式:与客户交流;向行家请教;分析同行业优秀及失败的软件;

|