概述
熟悉教学过程中所使用的各个平台,建立并关联各平台账号,理顺学习过程。
个人情况介绍
- 经历:我叫项耀东,学号M23380803。我个人目前尚未接触过完整的软件工程开发流程与项目,最贴近的经历就是几年前初次学习编程语言时完成的小项目,当时也做得质量一般。项目的主要内容是设计一个公司人员信息的管理系统。一个公司需要存储员工的编号、姓名、性别、所在部门与级别。其中雇员分为经理、技术人员、销售人员。程序要实现的功能有:1、添加功能。能任意添加四类人员的记录与信息;2、查询功能。根据编号、姓名等信息对已添加的记录进行查询;3、编辑功能。能修改已登记人员的信息;4、删除功能。能删除已登记人员的信息。
- 认识:我并不是很擅长计算机与软件开发这个领域的内容,因为它需要非常多的计算机语言去支撑,而我的编程能力也一般。但我还是会尽自己的努力去掌握好相应的知识。
- 规划:未来毕业后希望能找一个与自己所学专业相关的工作,进一个好企业。为了以后的技术道路与职业道路,在学校里要抓紧时间努力学习,为以后打下基础。
- 目标:我希望通过学习软件工程,能够学会与其他人合作开发程序的流程与编写代码时所要注意的内容,比如代码规范、代码审查与编辑文档,这些都是我以前所不知道的东西。我愿意花时间直到完成某个项目或学好知识点为止,因为每一次锻炼机会都是宝贵的,都需要我去全力以赴。
理论学习
- 学堂在线学习(xuetangx.com)
- 读后感
在课后,我阅读了构建之法和《人月神话》的部分感兴趣的章节。并有了一些相应的体会。
在学习了软件工程后,我第一次接触了人月这个概念。例如一个预估12人月的任务,可以分派给三个成员用四个月的时间来完成,也可以让四个成员用三个月的时间来完成。而实际项目的实现并不是能简单的通过人月这个来衡量,软件的项目如果缺乏了合理的人员分配与时间进度的计算,是很有可能导致工程的延期。所以每一项工程的计划都要随着工程的进度进行修改。在平日的学习中也是这样,自己进行的一项计划,随着进度的推进也应该做好相应的调整,以确保顺利完成项目。
阅读后我还深深的感受到程序员的任务并不是仅仅写完代码,还应该有面向用户的程序文档与手册。在贯彻执行(Passing the Word)这一章中,作者提到了他在System/360硬件设计工作中所摸索出来的一个方法,即用手册来作为文档化的规格说明。软件产品的规模很大,为了更好的应对用户的反馈与实现产品的优化,应当对自己的产品配套精确的使用说明。对自己所有的劳动产品也都应该是这样的态度。保持严谨的态度让自己的成果更有逻辑性,避免张冠李戴。
构建之法中所讲的软件工程师的成长、两人合作与团队与流程与上课所讲的内容不谋而合,这也是学习软件开发的必经之路。打铁还需自身硬,想要加入大组的合作首先得让自己掌握相关的基础知识,训练来积累经验,才能不遇到“书到用时方恨少”的尴尬场景。
大型软件开发是一件充满挑战的事,而相应的工程解决方法是在一次一次的摸索之中理论提炼出来的,而这些抽象出来的道理能映射到我们生活的方方面面中去。
实践学习
- 编程环境:我选择的集成开发环境是Visual Studio 2019。打开下载好的软件,新建空白工程,在解决资源管理器中右键“源文件”—“添加”—“新建项”就能创建新的源文件,编写自己的代码,进行源代码管理。
关于单元测试,右键“解决方案”—“添加”—“新建项目”中选择“本机单元测试项目”就可以新建出单元测试。将测试单元与源文件进行关联,编写相应测试代码就可以实现单元测试功能。在“测试”—“测试资源管理器”中运行就能实现单元测试。
Visual Studio的性能诊断工具可以实现性能的诊断。在调试时打开“诊断工具”可以看到部分相应的内容:
-
//主程序 #include<iostream> #include "tou.h" using namespace std; int main() { int a = 1, b = 2; int c = 0, d = 0; c = add_two(a, b); d = sub_two(a, b); cout << c << " " << d; return 0;//能不能pull回来 } //tou.cpp int add_two(int a, int b) { return a + b; } int sub_two(int a, int b) { return a - b; } //tou.h #pragma once int add_two(int a, int b); int sub_two(int a, int b); //UnitTest1.cpp #include "pch.h" #include "CppUnitTest.h" #include "../Project1/tou.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace UnitTest1 { TEST_CLASS(UnitTest1) { public: TEST_METHOD(TestMethod1)//TEST_METHOD(TestMethod1) { int c = 1; int d = 2; int e = c + d; Assert::AreEqual(e, add_two(c, d)); } TEST_METHOD(TestMethod2)//TEST_METHOD(TestMethod2) { int c = 1; int d = 2; int e = c - d; Assert::AreEqual(e, sub_two(c, d)); } }; }
- 代码仓库:如上图所示,程序的主程序非常简单,是实现数的加减的功能。在Visual Studio中下载gitee插件:
通过创建git库,将新建代码仓库的地址链接到本地库,在“git”—“设置”中可以查看链接的地址:
配置完后在界面右侧就能看到推送的窗口了:
推送到Gitee仓库能得到以下效果:
在修改代码内容后,可以将新的代码push到代码仓库上去,多次推送的记录可以在本地历史记录中查看,gitee中也能看到上传的结果:
在代码仓库中进行fork功能就能将仓库fork到自己的仓库内进行修改,已经fork的仓库不能再fork,fork后可以在自己fork的仓库选项中找到:
同时也可以把gitee上的代码pull到Visual Studio上进行操作:
测试的代码链接:https://gitee.com/industrial-coder/ceshi927.git
工作记录
学习投入的统计数据;个人评价:良
学习记录 | 10.9 | 10.10 | 10.11 | 10.12 | 10.13 |
理论学习 | × | √ | √ | √ | √ |
实践学习 | √ | √ | √ | √ | √ |
学习进度事件 | 预估耗时(分钟) | 实际耗时(分钟) |
理论学习 | 240 | 260 |
编程环境配置 | 180 | 160 |
代码仓库配置 | 180 | 200 |
学习内容,收获,存在的问题:
通过这次学习,我基本掌握了将gitee与Visual Studio平台账户关联的流程,学会使用gitee最基础的功能,例如fork,pull与push。但是也存在的一些问题,目前仅仅掌握了gitee最基础的功能,与他人配合开发、更进阶的功能仍然有待学习与提高,学习成果的正确性仍需老师的指导。总体个人认为能达到第一次的学习目标。