软件工程2021:第1次作业—— 自我介绍 + “分析" 软件(热身运动)
嗨,大家好,我是数据科学与大数据技术192班的耿怡威,来自江苏南通海门区。我也没想到会在家门口上大学,机缘巧合下学了大数据专业。原本我以为的大数据只是统计相关,实际上从此进入了代码的世界,两年我来跟C语言,java,python都打了交道。课程之余我也参与老师的项目,学习sparql查询,构建知识图谱。课余我爱好羽毛球,游泳,暑假里也坚持天天跑步健身。学习这专业,我感觉需要一副强健的身体很有必要!我还喜好烹饪,美食与生活不可分割。
上学期学习了数据库的构建,跟软件构件有相同之处,我又去查询了相关资料。1.明确需求:软件构造从用户需求开需求即用户对软件功能的描述,用户通过需求告诉程序员他需要收集什么数据,这些数据该怎么处理,最后他希望看到什么结果。需求中描述的场景和内容是软件处理的核心领域,程序员需要通过代码把它表现出来。 2.设计交互和UI:根据需求,整理出软件的功能点,设计出软件的交互图,以及软件的界面。可以理解为,用PS画一个软件出来,并且设计好当点了哪些按钮的时候会产生哪些效果。3.设计程序:根据前面整理出来的信息选择合适语言和框架。假如我们的文本编辑器需要在Windows、Linux上都能够运行,那么就最好选一种跨平台的语言和库。如:我选择用C++来写,使用QT库根据需求来设计软件代码的结构。结构应该是松耦合的,也就是说,虽然需求只是说能读取txt,但是你可能需要为以后读取其他格式留余地。4.测试、迭代等:开始编写程序,测试用例等,代码写完开始进行测试(黑盒,白盒等)5.发布
在生活中,我们用了很多软件,分为系统软件和应用软件两种,系统软件比如win98,win10等等,应用软件比如杀毒,音频,聊天软件等等。现在随着智能手机的普及,我更多使用的是手机软件(APP),比如日常的支付宝,微信,淘宝等等。在我看来软件首要的是实用性,它必须有一定实际意义。比如设计出微信这软件,方便了人们日常语音通话,改变了过去经常打电话的麻烦。第二点是可行性,设计出一款软件有用,但无法实现,那也是没有必要的。就比如我需要一款能帮我写所有科目作业的软件,想法很好,但凭借现在的能力无法实现。第三点是便捷性,方便人们日常使用,操作简单。现在人们都喜欢使用电子支付的形式,因为扫一扫就能付款,很方便。甚至现在可以开通免密支付的功能和人脸识别的功能。最后一点但也是最重要的一点:合法性。做出了的软件不能用于违法的行为,比如当下很多线上赌博的软件,忽悠很多人参与线上赌博,最后后果都很惨。为了实现这些目的,我们在开发软件的时候可以这样:1.善于观察生活,寻找可以通过软件改变的地方,正如当年上海高校的一个学生发现人们有很大的外卖需求,就开发了饿了么这软件。2.在设计软件的时候考虑人们使用是否方便,设计出来多做改善,可以听取他人的建议。3.认清自己的能力,不去做无法实现的软件,否则是只会浪费时间。4.拥有一定的法律意识,不因谋私利而去开发违法软件。