设计分享——为什么要重视设计?

简介:

之前买书的时候,发现大家基本没考虑设计方面的书籍,感觉大家对设计这件事不够重视。所以技术分享的第一段,先讲几句做好设计、学好设计的重要性。


一 为什么重视设计(面向对象设计)

1. 业务驱动与技术驱动的区别是什么?

    技术驱动是“怎么做”一直在变,并且由“怎么做”带动“做什么”发生变化。

例如,以往我们出门,不认识路了,我们会开口问路人甲。现在呢?掏出手机查地图。以前我们买东西结账,会掏钱包数零钱。现在呢?掏手机刷二维码。这是技术驱动的“怎么做”在变。由“怎么做”的变化,进而带动了“做什么”的变化。最显著的就是余额宝,让大家从去银行做活期存款变为购买货币基金。

    业务驱动是“做什么”一直在变,并且由“做什么”带动“怎么做”发生变化。例如,我们之前做过青岛银行,很快就跟进了华润银行;最近的,我们正在做展期,把5期扩展为10期;但说不定哪天就会出现“缩期”,从10期缩短为5期。这些都是“做什么”方面的变化。“做什么”变了,“怎么做”就难免要跟着变化。如果“怎么做”变化得太大、太频繁,开发人员就很痛苦了。

    我们的系统属于业务驱动、业务系统,技术上并不高精尖,但是业务逻辑上复杂、多变。做业务系统的首要考虑是满足需求——满足当前的业务需求、以后的扩展需求、开发人员不加班的需求。换句话说,就是要我们做好设计、做好设计和做好设计。


2. 大家的职业规划是什么?

    ——技术路线走到黑,从程序员、到设计师、到架构师,程序设计、系统设计、架构设计,设计都是基本功。

    ——技术转管理,可以从面向对象设计思想中汲取营养。面向对象设计思想本质上就是管理复杂度、管理流程和模块、管理资源和代码。

    ——技术转产品、业务,可以借助面向对象设计来学习和锻炼抽象思维,对用户、客户、市场、业务进行抽象建模,找到业务的运营模式、产品的盈利模式等等。这些都需要有抽象能力。而抽象是面向对象设计的核心思想和方法。

    ——彻底转行,那就别在这儿浪费时间了。




本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/1897804,如需转载请自行联系原作者
相关文章
|
2月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
3月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
96 1
|
3月前
|
测试技术 UED 开发者
软件测试的艺术:从代码审查到用户反馈的全景探索在软件开发的宇宙中,测试是那颗确保星系正常运转的暗物质。它或许不总是站在聚光灯下,但无疑是支撑整个系统稳定性与可靠性的基石。《软件测试的艺术:从代码审查到用户反馈的全景探索》一文,旨在揭开软件测试这一神秘面纱,通过深入浅出的方式,引领读者穿梭于测试的各个环节,从细微处着眼,至宏观视角俯瞰,全方位解析如何打造无懈可击的软件产品。
本文以“软件测试的艺术”为核心,创新性地将技术深度与通俗易懂的语言风格相结合,绘制了一幅从代码审查到用户反馈全过程的测试蓝图。不同于常规摘要的枯燥概述,这里更像是一段旅程的预告片,承诺带领读者经历一场从微观世界到宏观视野的探索之旅,揭示每一个测试环节背后的哲学与实践智慧,让即便是非专业人士也能领略到软件测试的魅力所在,并从中获取实用的启示。
|
5月前
|
测试技术
系统分析与设计问题之软件开发中的“分析阶段”是否只限于软件行业
系统分析与设计问题之软件开发中的“分析阶段”是否只限于软件行业
|
5月前
|
数据库
系统分析与设计问题之在软件开发中,为什么需要考虑变化
系统分析与设计问题之在软件开发中,为什么需要考虑变化
|
5月前
|
机器学习/深度学习 算法 定位技术
系统工程是一个跨学科的领域,它关注于如何设计、管理和优化复杂的系统。
系统工程是一个跨学科的领域,它关注于如何设计、管理和优化复杂的系统。
|
5月前
|
监控 算法 数据挖掘
系统工程是一种跨学科的方法论,它关注于如何设计、管理和优化复杂的系统。
系统工程是一种跨学科的方法论,它关注于如何设计、管理和优化复杂的系统。
|
5月前
|
算法 数据可视化 数据挖掘
系统工程是一种跨学科的方法论,用于处理复杂系统(如工程系统、经济系统、社会系统等)的设计、开发、管理和优化。
系统工程是一种跨学科的方法论,用于处理复杂系统(如工程系统、经济系统、社会系统等)的设计、开发、管理和优化。
|
5月前
|
网络协议 Python
系统工程是一种跨学科的方法论,旨在通过分析和设计系统的各个组成部分、组织结构、信息流和控制机制,以实现系统的整体最优运行。
系统工程是一种跨学科的方法论,旨在通过分析和设计系统的各个组成部分、组织结构、信息流和控制机制,以实现系统的整体最优运行。
|
设计模式 消息中间件 架构师
如何成为更好的软件架构师?
如何成为更好的软件架构师?