MU-SE:EE308-Course summary

理塘丁真 2023-01-12 21:48:06
The Link Your Classhttps://bbs.csdn.net/forums/MUEE308FZU202201
The Link of Requirements of This Assignmenthttps://bbs.csdn.net/topics/611628445
MU STU ID and FZU STU ID20124546_832001207
Video demo linkhttps://www.bilibili.com/video/BV1ZW4y1g7rg/
GitHub linkhttps://github.com/Group08-Tt/sportsmeeting

Content

  • 1. The CSDN links of each Lab
  • 2. Summary and harvest
  • 2.1 Personal Programming
  • 2.2 Pair Programming
  • 2.3 Team Project
  • 3.Technology and tools
  • 4.Others


1. The CSDN links of each Lab

Lab1-1: https://bbs.csdn.net/topics/608740403

Lab1-2: https://bbs.csdn.net/topics/608837372

Lab2-1: https://bbs.csdn.net/topics/609000430

Lab2-2: https://bbs.csdn.net/topics/609331049

Lab3-1: https://bbs.csdn.net/topics/610352370

Lab3-2: https://bbs.csdn.net/topics/611347664


2. Summary and harvest

I have always loved programming and software development. After a series of experiments in this software engineering course, I feel that I have gained a lot. I learned how to write a blog to record my programming experience. This is a good way to help me review my gains and shortcomings after every programming work. At the same time, I also greatly strengthened my programming ability. I learned how to write more appropriate software according to requirements.

2.1 Personal Programming

Single person programming Our task is to write a program to find out the number of keywords in a piece of code. In this experiment, I used C++. C++is the programming language we learned last semester. Choosing such a programming language is exactly what we are familiar with. In this experiment, I deeply thought about the algorithm to be used, and strengthened my ability to use C++to process external files, handle arrays, debug and traverse.I also learned how to write a blog, which has benefited me a lot.

2.2 Pair Programming

Pairing programming requires us to complete an application that simulates a real multi-person dice rolling game. My biggest gain from this programming is that I have conducted a relatively complete Android development and collaborative development. Although I have tried Android development a little in the past, it is the first time for me to complete the development process such as certification and packaging. In the same way, I am also familiar with how to work with my peers to complete tasks. Through the joint efforts of the two people, our work efficiency has been greatly improved. When we encounter difficulties, we think, learn and discuss the implementation methods together. Such as xml switching and activity switching. We also learned how to make pop-up windows.

2.3 Team Project

img


This is LOGO I design for our project.

In the third experiment, our team's goal is to develop a sports meeting assistant. At that time, the time of the experiment was close to the sports meeting of our school. When we analyzed the demand, we thought it was very appropriate to develop such a software, which could fully meet the needs of the school's sports meeting management athletes and athletes' access to sports information and other aspects.

In this project, I was responsible for UI design, front-end development, prototype development and PPT and report writing. This experiment is my first time to participate in team collaboration, which is a very novel experience for me. It is also my first time to develop an application with both front-end and back-end. Each of us works in an orderly manner according to the agreed division of labor.

I learned how to analyze requirements and draw UML diagrams in actual scenarios. Before the front-end development, I made a prototype of our project and drew a use case diagram for the requirements. The project prototype determines the user interface of our application. The functions we basically want to achieve are also included. Later, I drew the use case diagram, which greatly shortened the time for me to confirm the requirements and function functions during the later development. I felt how important and helpful the preliminary preparation was.

In this programming, I also strengthened the ability to write front-end applications. Because we plan to use the front-end on WeChat applets, we choose the development platform of uniapp with the framework of vue2. I have had some experience in using js to develop WeChat applets before, and this development activity has increased my experience. I am glad that I can solve many of the problems we have encountered. For example, in the front end, we carried out a large number of tabular data displays, and we used the zb-table plug-in, which achieved good results. This experience made me find that many times when our own development may not achieve good results, using plug-ins can shorten time and reduce a lot of code redundancy. This time, because our software is exchanging information with the backend all the time, writing this content also brings me valuable experience.

Finally, I deeply felt the particularity of team programming. The number of team programmers is far more than the first two experiments. In the process of our experiment, leadership, cooperation and other work are very important links. We report the work content of each stage through Tencent conference, and upload and download the code through git. This experiment strengthened our collective work ability and communication function.


3.Technology and tools

  1. Dev-C++: Dev-C++(or Dev-Cpp) is a lightweight C/C++integrated development environment (IDE) under the Windows environment. It is a free software that complies with the GPL license agreement to distribute source code. It integrates many free software such as powerful source code editor, MingW64/TDM-GCC compiler, GDB debugger and AStyle format sorter. It is suitable for beginners of C/C++language in teaching and for non-commercial ordinary developers.In developing C/C++programs, I have been using devC++. I used it in the first experiment.

  2. Android Studio: Android Studio is an Android integrated development tool launched by Google, based on IntelliJ IDEA Similar to Eclipse ADT, Android Studio provides integrated Android development tools for development and debugging.In the second experiment, I used it to develop the dice rolling game. At present, it is the best choice to develop Android applications.

  3. JavaScript: JavaScript is a high-level scripting language belonging to the network. It has been widely used in the development of Web applications. It is commonly used to add a variety of dynamic functions to web pages to provide users with more smooth and beautiful browsing effects. Typically, JavaScript scripts implement their functions by embedding them in HTML.JavaScript technology implements dynamic web programming technology.We use it to develop the front end and back end of our sports meeting assistant.

  4. Uniapp:Uniapp is a framework that uses Vue.js to develop all front-end applications. Developers write a set of code that can help us quickly deploy our applications to the wechat mini program platform.Uniapp is built on JS technology. By reading JS code, you can read Uniapp and build wechat mini program.Our assistant program front-end development depends on it.

  5. Vue2:Vue is an incremental framework for building user interfaces. Unlike other large frameworks, Vue is designed to be applied layer by layer from the bottom up. Vue's core library focuses only on the view layer, making it easy to get started and integrate with third-party libraries or existing projects. On the other hand, when used in conjunction with a modern toolchain and various supporting libraries, Vue is also perfectly capable of providing drivers for complex one-page applications

  6. Github: In this course, the use of GitHub is deepened. GitHub is simply a remote code repository. I can update my own local code to a remote code repository, and my friends in the group can see my updated code and update it to their local code repository for easy co-coding. Most importantly, Github has version-control, and if something goes wrong with the code, so does the live deployment. To reduce the damage as quickly as possible, you can start by rolling back to the previous version. The new version allows time for troubleshooting.We use git for code communication.

  7. Node.js: Node.js is the server-side code of JavaScript technology stack. It is a JavaScript running environment based on Chrome V8 engine. It uses an event-driven, non-blocking I/O model to enable JavaScript to run on the server-side development platform. It puts JavaScript on a par with server-side languages like PHP, Python, Perl, and Ruby.

  8. Navicat: Navicat is a database visualization tool. Can interact with the database connection, in a visual way to display the database table and table contents. Navicat has a very efficient feature that allows you to quickly build database tables and export SQL statements for the tables. In the process of database implementation, Navicat can effectively improve the construction of database and data table.

  9. modao: modao is an online prototype design and collaboration tool. With the help of ink knife, product managers, designers, developers, sales, operators, entrepreneurs and other user groups can build product prototypes and demonstrate project effects. Ink knife is also a collaboration platform. Project members can collaborate in editing and reviewing, whether it is product idea display, or collecting product feedback from customers, or performing a Demo presentation to investors, or collaborating in communication and project management within the team.My second and third experimental prototypes were developed by modao.


4.Others

In short, I have learned a lot from the courses and experiments of software engineering. I learned and saw a lot of things I dreamed of learning and practicing in the past. Teacher, your lesson is simple and easy to understand. I feel like I'm swimming in the ocean of knowledge. I also met new friends in the experiment. Although the soft engineering course is over now, its impact on me is extremely far-reaching.

I want to continue to work on software development in the future. I will use the knowledge of software engineering courses to develop more software that meets my ideas and expectations. In the future, I also want to study abroad to gain more knowledge and vision.

That's all. Thank you for watching!

...全文
515 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文研究了基于蜣螂优化算法(DBO)的无线传感器网络(WSN)覆盖优化问题,提出了一种创新的智能优化方法以提升网络覆盖率和整体性能。文中详细阐述了蜣螂优化算法的核心原理及其在WSN节点部署中的应用机制,结合Matlab实现了算法仿真,并与标准PSO、自适应PSO、量子PSO、PSO-GA、PSO-GSA等多种智能优化算法进行了对比实验,验证了DBO在解决NP难问题(如TSP、QAP、背包问题)方面的优越性。研究聚焦于通过优化节点布局最大化感知覆盖范围,延长网络生命周期,提高监测效率,同时提供了完整的代码实现与仿真结果分析,展示了该方法在实际场景中的有效性与可行性。; 适合人群:具备一定编程能力和优化算法基础的科研人员、研究生及工程技术人员,特别适用于从事无线传感器网络、智能优化算法、物联网系统设计及相关领域研究的专业人士。; 使用场景及目标:①用于无线传感器网络中节点部署的优化设计,提升网络空间覆盖率与资源利用率;②作为智能优化算法的教学与科研案例,比较不同元启发式算法在复杂组合优化问题上的性能差异;③为相关科研项目提供可复现的Matlab代码支持和技术实现参考,推动算法在实际工程中的推广应用。; 阅读建议:建议读者结合提供的Matlab代码进行动手实践,深入理解算法实现细节与参数调优过程,重点关注仿真结果的对比分析,并尝试将该算法迁移至其他优化问题中以拓展其应用边界。

285

社区成员

发帖
与我相关
我的任务
社区描述
福州大学 梅努斯国际工程学院 软件工程(2022秋) 教学
软件工程 高校
社区管理员
  • LinQF39
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧