201671010456- Qiong experiment fourteen project review team & course summary

Bowen brief information sheet

project content
This work belongs courses http://www.cnblogs.com/nwnu-daizh/
Where this requirement in the job https://www.cnblogs.com/nwnu-daizh/p/11093584.html
Course learning objectives Master the software project review process will reflect on summarize course content.

A task

Acceptance feedback form GitHub repository address https://github.com/snxfd123/designfile/tree/master/word

Task II

1, and set forth to answer a test question

(1) "Experimental Software Engineering prepared to submit a" problem link
https://www.cnblogs.com/zhangqiong/p/10512047.html
(2) "Experimental Software Engineering prepared to submit a" questions and answers
What is the basic process 1.PSP (prsonal software process) is? The second chapter is mentioned in the personal development process, then as a college student in the design of software engineering job to pay attention to what aspects of the expansion? Standard is kind of how it?
  •    A PSP is used to control, manage and improve ourselves continually improve process personal works, is a software development forms, guidelines and procedures structured framework. PSP and specific technical relatively independent, its principles can be applied to any software tasks. PSP able to explain the principles of individual software process, to help software engineers to make accurate plans. PSP is the ability of an individual also provides a step-evolutionary framework, a gradual way to introduce the concept of the process, each level contains all the elements of a lower level, and the addition of new elements. This evolutionary framework is a good way to learn the basic concepts of PSP process, it gives people the software metrics and analysis tools to make it clear to their performance and potential to improve their skills and level.
  •    As a student in the design of software engineering job to pay attention to the following aspects, first, conceptualization and analysis, the core of any software product is to solve the problem of user needs, at this stage, to define the purpose of use of the software. First, close cooperation between the students group, to develop a clear, user needs and profile analysis software development program. Xu then discuss the feasibility of these programs. If some of the needs of users is technically feasible, if the proposed plan can be achieved, but should also assess whether the cost of business inputs can withstand. Followed by the design, software development design stage to be an overview of the software system, and determine its key elements, as a result of the latter, team technical specifications - Detailed description of the function, break it down into smaller modules to develop. During the implementation phase, once the software development requirements and specifications have been handed over to the development team, technical staff can be encoded. The entire team of the division of labor is basically the same, the person in charge of the team at this time is the head of development tasks you want to refine the team everyone will be reported to the person in charge of the process and reports, to keep abreast of progress. Software testing and development to be carried out at the same time, each time after completion of the development function, can be tested immediately, as early as possible in order to detect and fix errors. The last deployment, we must simulate the real scene, writing technical manuals, user manuals. In short all steps must strictly comply with the standards of software engineering carried out.
  • 2. a junior software engineer step by step how to become an excellent engineer? What efforts needs to be done? Certificate really that important to you?
  •   To become a junior software engineers are not easy, they would understand after school finished this course, all aspects are still very lacking, write code, documentation, theory, for all stages of the control, are lack of experience. Now all I need is down to earth, with regard to efforts go hand in hand in all aspects of it. A certificate or something just to prove it, even with it only shows the exam passed, and the ability and actual ability to operate relationship is not large. Because in terms of computer grade examination, exam can back off, even if it is a bit technical, but also still have to practice a lot because as I, weak current practice base, but also a wide range of experience. So learn technology is the last word, what the certificate is just a witness it himself in the end is how the case, only you know, only in order to show real ability.
  • 3. In the process of writing code, you should pay attention to what specification? And talk about the importance of the specification.
  •   In the process of writing code to comply with the specifications as follows: class private member variable must begin with m_, and what follows must be the same as the corresponding attribute name, that is to say the first letter must be capitalized, implementation of property Get and Set methods of the content is not written on one line, "{" on the second line must be written; must only have a blank line between each segment of the program with the next block; content portion must be segmented using the same content to the paragraph, reference may now rule is: System into one, into a MicroSoft, Newegg into one, to add a blank line between the respective blocks, and the same content as far as possible into one, e.g. System going to put a System.Data; private member variable classes into the class definitions to the front, and no need to add a blank line between; no empty comment upper row, between the lower portion has to be annotated and using An empty line; entity classes and does not require an annotation that, unless very necessary instructions; file name must be the same as the name of the body of the class; variables for the same function, the name must be consistent; in Classes, if not very necessary, do not add region; both sides of the operator must be one and only add a space, comprising: an enumeration must define a class alone, and must be placed in a separate file, you can bake enum furnace to establish a directory, all the enumerated classes into the directory; enum type and values ​​for each of the designated enumeration defined enumerated type must appear; attribute definitions for each property or method (the DataContract, DataMember, DataMapping, ServiceContract, OperationContract etc.) must be connected to define, allowed free line; DataMaping placed over the DataMember; private variable sequence order as far as possible consistent with the entity class defining attributes; to each add annotations, in the above method, and the method is connected, there is no blank line between; code changes every possible annotate; at CheckIn, it must annotate; custom variable names try catch Exception in all with the EX; if the return value of type List , you can not return Null. The importance of coding standards is self-evident, comply with the above specifications, can reduce the generation of bug, can reduce maintenance costs and help code review, but also improve their skills programmer, better development.
  • (3) the learning process and methods
      在学习的过程中,因为以前并没有基础过大型的项目,所以就按照老师的要求,首先对构建之法那本书进行详细的研读,在后面做项目的过程中,再参照软件工程导论这本书,结合老师讲解的内容,对软件项目的开展过程有了大概的了解,然后就是每周一次的实验,通过实验,进行对理论方法的实验,在整个过程中,对软件项目的流程进度都有很深的理解。在经验方面还有不足。在学习方法上,在开始是使用好工具,然后是学习工具背后的方法,在然后是掌握其本质,最后是用最简单易懂的方式传递给他人。学习软件工程,需要先有一个全景的印象,他的核心是什么?是有哪几块构成的,这样才能更好的理解每个知识点和彼此之间的联系。采用做中学(在工作中学习),自下而上;从教中学(技术分享或指导同学时),自上而下。软件工程是一门为了应对软件危机而产生的学科。主要是聚焦于质量,构建和维护高质量的软件。核心的知识点主要是三大要素:过程、方法和工具,也就是围绕软件开发过程,产生的方法学和工具。用一个简单的公式来理解的话,那就是:软件工程=工具+方法+过程。
    (4) 原来提出的问题是否还不明白? 学习中产生的新的问题
      前面提出的问题都已经理解了。在学习中产生的最多的也能算是问题,倒可以说是困惑。比如怎样分配任务才是最合理的,各个小组成员之间才不会有怨言,怎样分配才算是最能展现个人能力的?对于已经做了的工作,是不是都应该被重视?这些已经做了但是又不满意的工作会导致做的人丧失信心,从而怀疑自己的能力,这时候应该怎样改变现状呢?在整个团队合作完成项目的过程中,如果有人的意见不被采纳,这样一来的话本来就因为学到不够好才常常被忽视,越忽视越学不好,导致恶性循环,这种现象只靠自我调节吗?...类似这样的困惑,似乎在每个项目中都有,可能还需要不断的适应吧。

    2、在项目的各个阶段中学到的“知识点”

    可行性分析阶段 技术可行性、经济可行性、管理可行性的分析,以及对各种风险的预测评估
    需求分析阶段 需求获取方式、需求分析、编写需求规格说明书的方法及需求验证
    软件设计阶段 软件需求的理解、表述、设计时要注意软件可扩展性、灵活性、可维护性和软件成本等
    实现阶段 软件部署实施方案的编写、用户手册的编写、维护手册的编写、回归测试
    测试阶段 测试文档的编写规范、测试的几种方式,如单元测试、模块测试、回归测试等
    项目验收阶段 验收方式、验收文档,验收阶段双方的交涉、用户验收、安全检测

    3、个人项目/结对编程/团队项目的个人经历及心得体会

      个人项目:在个人项目作业中,遇到的困难很多,花费的时间也很多,因为对语言的不熟悉,所以参考了网上的代码。刚刚拿到这个作业时不会做,翻书复习了java,对个人项目的流程有了一定的掌握。那时候柱状图的功能并没有实现,只实现了最简单的单词总数统计和词频统计。 里面涉及到了好多函数的应用,有很多都是不会的,意识到数据结构的重要性,而自己对这部分知识的掌握还仅仅停留在做题上。但是也有收获,对GitHup的操作流程也熟悉了。
  •   结对项目:在结对项目合作中,我们首先是互相评论了彼此的上一次作业,找到了优点和不足,用于那次试验完成时要借鉴的技术和改正的地方。先找到不足,然后改正。接着我们规划了要实施的步骤,首先完成任务一,因为相对来说简单些,也只有在任务一完成的基础上才能开始任务二的作业。接着是任务二的需求分析,相对来说较简单,就是在实验二的基础上加上前端界面。然后是概要设计和详细设计,我们是打算放在一起进行的,主要设计程序的类和各个模块,以及各个模块之间的交互,还有Java后台和前端的交互。在后台和前端交互的时候,因为不知道要用什么接口合适,所以我们查找了很多的资料,看到可以用数据库,也可以用json,ajax等,最终选择了一个特殊的类servlet作为实现java后台和前端的交互。在这个过程中花费了大量时间。那次实验中我和搭档合作探究,过程很愉快,更体会到了团队意识的重要性。
  •   团队项目:这学期的软件工程教会了很多东西,不仅是在编程方面的提升,还懂得了在一个开发团队中怎样互相协作。同时让我了解到一个软件的开发并不是当你拥有编程能力就可以完成开发的,在开发前需要准备很多东西像调查问卷,需求分析等,只有经过这些科学的方法,我们才能开发出用户需要的软件。在项目开发中我们会遇到很多的难题,和同伴们解决这些难题也是非常快乐的事。在这之中我们也得了很多经验,这对我们在以后的工作中有很大的帮助。
  • 4、软件工程的实践总结和提升

    (1) 统计在软件工程实践中,你完成了多少行的代码;
      写代码是我的弱项,在整个实践中,我基本没有参与代码的编写,只是编辑文档和博客,也对部分代码进行了测试。
    (2)哪一次作业让你印象最深刻?为什么?
      让我印象深刻的作业是最后一次团队作业,也就是实验十三,这次作业的量很大,需要查找很多资料,看很多文献才可以做出来,我们团队成员分工之后,每人都要写两到三个文档,然后还有PPT的编写,博客的编写,最后还要把各个文档汇总成为一个文档,所以是很费时间的一件事,因为作业的量很大,所以那天是一天都没有出门,到晚上写完所有文档都已经九点多了,外面下着小雨,在淅淅沥沥的雨声中做完了所有工作,思绪良多。
    (3) 累计花了多少个小时在软件工程实践上?平均每周花多少个小时?
      累计花费的时间要超过200个小时,每周的作业时间加上学习的时间,看慕课视频的时间,实践中的记录是琐碎的,要一点一点收集的,所以大概平均每周花费的时间大概为10个小时。
    (4)你学习和掌握的新语言、新平台;
      新语言HTML,这是种网页语言,可以用来做网页,也可以进行博客的编写,简单方便易用。新平台博客,慕课,对于博客的编写,现在已经非常熟练了。慕课网上有大量的可供学习的视频,是学习的很好的平台。另外还有墨刀,燃尽图看板等工具。

    (5)你在软件工程实践的各次作业分别花了多少时间?(做一个列表)

    各次试验 花费时间(h) 各次试验 花费时间(h)
    实验一软件工程准备 5 实验八基于原型的团队项目需求调研与分析 25
    实验二软件工程个人项目 8 实验九团队项目需求改进与需求设计 15
    实验三作业互评与改进 6 实验十团队项目需求改进与详细设计 22
    实验四软件工程结队项目 8 实验十一团队项目设计完善 30
    实验五软件研发团队的组建 10 实验十二软件测试与alpha冲刺 21
    实验六团队项目选题 12 实验十三beta冲刺与团队项目验收 15
    实验七团队项目原型设计与开发 15 实验十四团队项目评审&课程总结 7

    (6) 填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法;

    软件开发工具、项目管理工具 软件开发方法 软件建模方法
    eclipse、墨刀、Visio、GitHub 面向对象分析的软件开发方法 结构化建模方法,面向对象建模方法

    5、其他方面的收获或提升。

      在选用工具方面知道了很多,比如墨刀,比如Visio,这些常用工具可以帮助我们在以后的项目中更便捷的呈现自己的想法。还有就是友谊的提升,由于项目的不断接触,我们都记住了彼此的笑容,收获良多。

    6、你认为目前的课程存在哪些问题,你有什么更好的建议。

      我觉得目前课程在进行的方式上对我们学习软件工程很有帮助,通过实验的方式实践,也能让我们积累经验。代老师在教学过程中的态度认真严谨,一丝不苟,这种精神是我所敬仰和喜欢的,但是每周的作业量有些大,每周都要花费很多的时间在软件工程作业上面,从开始到做完,不知不觉间一个下午,有时候还得到晚上。希望能适当减轻作业量。

    Guess you like

    Origin www.cnblogs.com/zhangqiong/p/10687672.html