软件工程2021:第1次作业—— 自我介绍 + “分析" 软件(热身运动)
我是钱彬,通大信科院大数据191的一名学生,我对自己的定位是一个逻辑思维能力较强的技术宅,对一些新技术也非常感兴趣。在软件和硬件这两个大概念下更偏向于对前者的研究和应用,所以对于软件工程这门课抱有很大的兴趣。也希望经过这门课程的学习后能对软件工程这个概念有更深层次的理解并能通过实践提升自己。
通过查询我知道了软件构建可以细分为如下几个部分;定义问题、需求分析、规划构建、软件架构、高层设计、详细设计、编码与调试、单元测试、集成测试、集成和系统测试。大致可分为可行性研究、需求分析、软件设计、软件测试、软件运行和维护这五个阶段。它们并不是单纯的从首到尾的线性结构,而是一个环,当测试出现问题的时候会重新回到分析和设计阶段,不断循环直到达到成果。
对我个人而言比较看重的软件价值要素主要有如下几点,我会对第一点进行一些个人见解的扩展:
一、突出软件重点。即明确软件的主题,这里的主题不止指软件的主要功能还包括受众和受用场景。就好比QQ和微信,同样是腾讯旗下的社交软件,却在应用中几乎没有任何冲突和冗余的存在,这是因为两个软件的主题不同,一个是加法,一个是减法。
QQ主打的是功能的多样性、时尚性、领先市场性。这就好比加法,把很多功能都集中在一个QQ中,这是它的优势所在,当然这需要结合两款软件产生的时间点来看,QQ最早出现在PC端上,在当时能拥有PC并且使用QQ的基本是热衷于探索新世界的年轻人,这些人很多也成为了后续使用QQ的主力军。所以QQ会尽量推出新的扩展来持续满足年轻群体想要表达自己的需求。
而微信是在手机进入每家每户,普及到中老年群体后推出的产品,对于这个群体,他们往往不需要QQ那样繁复的功能,他们主要需要的是把微信作为新一代即时通信工具,一个代替电话的存在。因此微信做的是减法,它抛弃了QQ多样化的群体社交属性,转而主攻软件的高效性。在语音输入、语音识别、朋友圈上都是以简洁但不乏实用性的特点而被很多人喜欢。而微信的小程序也是抓住了万物互联的这一时代背景,以便捷的在线程序代替了原有的应用商店下载程序的这一流程,提高了效率。
二、软件的可扩展性或者说兼容性。没有哪个想要长期运行的软件会至始至终只有一个版本且无任何需要维护的情况出现,因此一个软件需要对于后续推出的新版本在原有基础上进行扩展的能力,这就要求最初代码、参数设计的时候充分考虑到可能有的后续更新和补充,而不至于当更新换代的时候对底层代码需要进行大规模的重新设计。
三、软件的简洁、易用性和对于用户的充分引导功能。对于非专业需求的软件这点尤为重要,在现今逐渐快节奏的生活中,用户往往并不希望在如何使用一款软件这件事上花费太多的时间。这时候就需要把软件主要功能在功能不变的情况下进行简化,用简单易懂的预设模式为一般用户提供流畅便捷的体验,这在很大程度上能决定一款软件的受欢迎与否。