初学软件构造,私以为是很使用的课程。大概与自身经历有很大关系。我是一名实用主义者,目前也负责着多个项目的开发工作,可以说是个初级程序猿。为此在课程学习中可能更倾向于工程友好型课程。软构可能据名解义便是如此。软件构造,讲究构造软件的种种技巧。计算机已经发展了数十年的时间,各方面理论也不断发展。在这里我不评论学校课程设置上是否存在无法与时俱进的问题,我想从实际应用层面出发,高屋建瓴的从抽象角度谈一谈我对构造软件的看法。

从我的角度看,软件的存在的意义是要更好的解决用户的需求,因此软件构造的第一大原则应该是用户友好。一种很经典的商业模式,SaaS,软件即服务,便是公司为用户提供能够解决其特定需求而以软件形式提供服务。很经典的SaaS公司,JetBrain,便是如此(BTW,很喜欢他们家的产品)。他们解决了开发者需要开发友好的IDE的需求。这里的用户友好不仅仅是解决了用户的需求,并且应该是很好的解决了,让用户的体验更好。这里不得不举一个反例,很多学校的教务系统,垃圾的要死好吧?很多SaaS公司会遇到的问题,尤其是2B公司,用户体验极差。为什么?因为用的人和做的人不是一批人。很多2B产品的体验极差,由此也使得近几年低代码平台大火,因为用户可以轻易按照自己需求构造“自己友好”的软件。这也是开发者一个需要注意的很大问题,用户都不愿意用你的软件,搁这自我感动呢?因此,软件构造的首要原则——用户友好。只有这样你才能继续往下。

有了用户需求,软件构造我认为可以分解成三部分,前端后端数据端。这里我觉得用人来比喻很形象:人的骨架是后端,用来体现软件的运作原理;人的皮就是前端,能否让别人看着你觉得赏心悦目,前端做的就很出色了(要让用户馋你身子

【软件构造】——课程篇 高屋建瓴,从宏观角度谈软件构造相关推荐

  1. 软件随想录:程序员部落酋长Joel谈软件(local.joelonsoftware.com/wiki)-23

    The Joel on Software Translation Project:让错的程序看得出错 From The Joel on Software Translation Project Jum ...

  2. 软件随想录:程序员部落酋长Joel谈软件(阮一峰译)-2

    2. 寻找优秀的程序员 2006年9月6日,星期三 优秀的程序员都在哪里 这是你第一次公开招募雇员.如同大多数人一样,你会发布广告,可能也会浏览一些大型的网上论坛,然后你就收到了一吨的简历. 一份份看 ...

  3. 软件随想录:程序员部落酋长Joel谈软件(阮一峰译)-3

    3. 寻找优秀的程序员之实战指南 2006年9月7日,星期四 你是一个雇主.你在所有正确的地方刊登了招聘广告,你有一个完善的实习生制度,你面试了所有你想要的人.但是很不幸,如果优秀的程序员不愿意为你工 ...

  4. 哈工大软件构造课程知识点总结(一)

    系列文章目录 哈工大软件构造课程知识点总结(一) 哈工大软件构造课程知识点总结(二) 哈工大软件构造课程知识点总结(三) 哈工大软件构造课程知识点总结(四) 哈工大软件构造课程知识点总结(五) 哈工大 ...

  5. 哈工大软件构造课程知识点总结(二)

    系列文章目录 哈工大软件构造课程知识点总结(一) 哈工大软件构造课程知识点总结(二) 哈工大软件构造课程知识点总结(三) 哈工大软件构造课程知识点总结(四) 哈工大软件构造课程知识点总结(五) 哈工大 ...

  6. 哈工大软件构造课程知识点总结(三)

    系列文章目录 哈工大软件构造课程知识点总结(一) 哈工大软件构造课程知识点总结(二) 哈工大软件构造课程知识点总结(三) 哈工大软件构造课程知识点总结(四) 哈工大软件构造课程知识点总结(五) 哈工大 ...

  7. 哈工大18年春软件构造课程讨论题

    这是哈工大18年春软件构造课程(徐汉川老师)的讨论题目,少部分答案摘录自课件PPT和网上的资源(链接在文中给出).如有错误还望指出,谢谢. 一.在软件测试过程中,"测试用例的数目" ...

  8. 软件构造课程心得——软件构造实验二(Lab2)

    软件构造课程心得--Lab2 1. 实验目标概述 本次实验训练抽象数据类型(ADT)的设计.规约.测试,并使用面向对象 编程(OOP)技术实现 ADT.具体来说: 针对给定的应用问题,从问题描述中识别 ...

  9. 哈尔滨工业大学软件构造课程学习笔记第一章第一节

    1.1 软件构造过程中的多维度视图 一.多维软件视图 1.构建阶段 构建阶段:观点->需求->设计->代码->可安装/可执行包 代码角度:源代码--源代码的逻辑组织方式通过基本 ...

最新文章

  1. 【模拟】【codeforces】451B Sort the Array
  2. 测试两个主机之间的连通性_UCloud 全链路大规模网络连通性检测系统详解
  3. linux赋予文件夹所有权限_linux – 如何将某些用户权限仅授予子文件夹
  4. 风控业务-模型稳定性评价指标PSI
  5. Gitflow branch与Docker image tag命名冲突怎么办?
  6. 抗日战争时期的陈建功和苏步青
  7. Python基础项目实践之:面向对象方法实现模拟银行管理系统
  8. C++中多态的基本概念以及虚表的基本概念
  9. 3台机器配置hadoop集群_复制Hadoop集群之后无法访问端口50070的问题
  10. shiro配置文件shiro.ini简介说明
  11. 软件工程----开发大致流程
  12. 百度AI开放平台学习——EasyDL经典版-图像分类模型训练与验证
  13. Notepad++ 替代品开源了,好用 !!!
  14. 【ChatGPT】输出MySQL常用语法汇总
  15. 技术支持和测试的区别_软件测试与开发岗位,哪个更适合你?
  16. Win11系统默认用户名怎么进行修改教学
  17. AD20的最全安装步骤
  18. python通过ssh通道连接PostgreSQL数据库(mysql等类同)
  19. vue 安装不上,报错,解决办法如下
  20. java 字符流读取方法_JAVA字符流方式读取文件 问题!

热门文章

  1. vue全局自定义字体,提高项目字体美化
  2. 20160218.CCPP体系具体解释(0028天)
  3. c语言基础学习(2)
  4. mysql y m d h i_php时间问题?mysql数据库的时间格式(Y-M-D H:I:S) 在PHP页面想这样显示(Y-M-D) (apos;.#36;rows[apos;ndate...
  5. 王卫不再担任顺丰速运法人 变更为陈雪颖
  6. 和风天气开发者使用总结
  7. 搭建私有云maven文档(超详细)超级容易上手
  8. Object Removal by Exemplar-Based Inpainting 翻译
  9. 基本数据类型和内置方法 08
  10. 基于WPF的桌面宠物开发(一) :WPF简介+环境搭建+简单界面