201671010456- Qiong 실험 십사 프로젝트 검토 팀 및 과정 요약

보웬 간단한 정보 시트

계획 함유량
이 작품은 과정 속 http://www.cnblogs.com/nwnu-daizh/
어디에서 작업이 요구 사항 https://www.cnblogs.com/nwnu-daizh/p/11093584.html
과정 학습 목표 소프트웨어 프로젝트 검토 프로세스를 요약한다 과정의 내용에 반영됩니다 마스터.

태스크

GitHub의 저장소 주소 형태 판정 피드백 https://github.com/snxfd123/designfile/tree/master/word

작업 II

1, 및 테스트 질문에 대한 답을 제시

(1) 문제 링크 "실험 소프트웨어 공학은 제출 준비"
https://www.cnblogs.com/zhangqiong/p/10512047.html
(2) 질문과 답변 "실험 소프트웨어 공학은 제출 준비"
기본 프로세스 1.PSP (prsonal 소프트웨어 프로세스)는 무엇입니까? 두 번째 장에서는, 개인 개발 과정에서 언급 한 다음 확장의 어떤 측면에주의를 지불하는 소프트웨어 엔지니어링 작업의 디자인 대학 학생으로? 표준 방법 그것의 종류입니까?
  •    PSP는, 제어, 관리 및 자신이 지속적으로 프로세스를 개인 작품을 향상 개선하는 데 사용됩니다, 양식, 지침 및 절차 프레임 워크를 구성하는 소프트웨어 개발이다. PSP와 특정 기술 상대적으로 독립적이 원칙은 모든 소프트웨어 작업에 적용 할 수 있습니다. 개별 소프트웨어 프로세스의 원리를 설명하는 정확한 계획을 만들기 위해 소프트웨어 엔지니어를 도울 수 PSP. PSP 각 레벨의 모든 하위 레벨의 요소를 새로운 요소를 추가 포함 개인의 능력이 또한 스텝 진화 워크 프로세스의 개념을 소개하는 점진적인 방법을 제공한다. 이 진화 프레임 워크는 자신의 능력과 수준을 개선하기 위해 성능과 잠재력이 명확하게 사람들 소프트웨어 측정 및 분석 도구를 제공, PSP 프로세스의 기본 개념을 배울 수있는 좋은 방법입니다.
  •    소프트웨어 엔지니어링 작업의 디자인에 학생이 다음과 같은 측면, 첫째, 개념화 및 분석에 관심을 지불 할 때, 모든 소프트웨어 제품의 핵심은 소프트웨어의 사용 목적을 정의하기 위해,이 단계에서, 사용자 요구의 문제를 해결하는 것입니다. 학생 그룹 사이의 우선 긴밀한 협력은 명확하고 사용자의 요구 및 프로필 분석 소프트웨어 개발 프로그램을 개발합니다. 쑤는이 프로그램의 가능성을 논의한다. 사용자의 요구 중 일부는 기술적으로 가능한 경우 제안 된 계획이 달성 할 수있는 경우뿐만 아니라, 비즈니스 입력의 비용이 견딜 수 있는지 여부를 평가해야한다. 설계, 소프트웨어 개발 설계 단계 다음은 소프트웨어 시스템의 개요, 그리고 후자, 팀 기술 사양의 결과로, 주요 요소를 결정하기 - 함수의 자세한 설명, 개발하는 작은 모듈로 아래로 휴식. 구현 단계에서 개발 요구 사항 및 사양은 개발 팀에게 넘겨 된 소프트웨어 일단, 기술 직원 인코딩 할 수 있습니다. 노동 분업의 전체 팀은 기본적으로 동일,이 시간에 팀의 담당자는 진행 뒤지지 않도록하기 위해 팀 모두가 프로세스 및 보고서의 담당자에게보고됩니다 수정하려는 개발 작업의 머리입니다. 소프트웨어 테스트 및 개발 탐지하고 에러를 해결하기 위해 가능한 한 빨리, 발전 기능 종료 후마다 즉시 시험 될 수 있으며, 동시에 수행 될 수있다. 마지막으로 배포, 우리는 기술 매뉴얼, 사용자 매뉴얼을 작성, 실제 장면을 시뮬레이션해야합니다. 즉 모든 단계를 엄격하게 실시 소프트웨어 공학의 표준을 준수해야합니다.
  • 훌륭한 엔지니어가되는 방법 단계 2. 주니어 소프트웨어 엔지니어 단계? 어떤 노력을 할 필요가 있겠습니까? 당신에게 정말 중요 인증서?
  •   학교가이 과정을 마친 후 엔지니어가 쉽지 않다 주니어 소프트웨어가되기 위해서는, 그들이 컨트롤의 모든 단계에 대한 코드, 문서, 이론, 쓰기, 모든 측면은 여전히 ​​매우 부족, 이해하는 것, 경험 부족이다. 노력에 관해서는 그것의 모든 측면에서 손에 손을 이동으로 지금은 필요가있는 지구에 내려입니다. 인증서 또는 뭔가 그냥은 통과 시험을 보여주고, 능력과 관계를 운영하는 실제 능력은 크지도 함께, 그것을 증명합니다. 때문에 컴퓨터 급 시험의 관점에서, 시험은 약간의 기술적 인 경우에도 물러서지뿐만 아니라, 여전히 있기 때문에, 약한 현재의 관행 기지뿐만 아니라 폭 넓은 경험으로 많은 연습을 할 수 있습니다. 그래서 배울 기술은 마지막으로 할 말은 인증서가 결국 단지 증인이 자신의 경우는, 단지 당신이 알고, 오직 위해 실제 능력을 표시하는 방법입니다 것입니다.
  • 코드를 작성하는 과정에서 3. 당신은 어떤 사양에주의를 지불해야합니까? 그리고 사양의 중요성에 대해 이야기한다.
  •   다음과 같은 사양을 준수하는 코드를 작성하는 과정에서 : 클래스의 private 멤버 변수가 M_로 시작해야하고, 무엇을 다음과하면 해당 속성의 이름과 동일해야합니다, 즉, 첫 글자가 대문자로해야 말을 재산의 구현 위젯 콘텐츠의 설정 방법은 하나 개의 라인 상에 기록하지 않고, "{"번째 행이 기록되어야에, 오직 다음 블록이 프로그램의 각 세그먼트 사이에 빈 라인이 있어야 콘텐트 부는이를 이용한 분할해야 단락 콘텐츠가 참조 할 수 이제 규칙은 : 시스템 중 하나로, 마이크로 소프트, 뉴에 그 내로 하나에, 예를 들어, 1로 최대한 각 블록 사이에 빈 라인과 같은 콘텐츠를 추가 할 System.Data를 넣어가는 시스템, 전면에 클래스 정의에 개인 멤버 변수 클래스, 빈 줄 사이를 추가 할 필요없이, 아무 빈 주석 상단 행 아래 부분 사이는 주석과 사용되어야한다 빈 라인은, 엔티티 클래스와 매우 필요한 지시하지 않는 한, 주석을 필요로하지 않으며, 파일 이름이 클래스의 신체의 이름과 동일해야하며, 동일한 기능에 대한 변수는 이름이 일치해야합니다;에 클래스, 매우 필요하지 않을 경우, 지역을 추가하지 않습니다 연산자의 양쪽 모두가 하나가 될해야하며 공백을 추가, 포함 : 열거 혼자 클래스를 정의해야하며, 별도의 파일에 배치해야합니다, 당신은 구울 수 있습니다 ENUM로 디렉토리를 설정하는 모든 열거 된 디렉터리에 클래스, 열거 형 정의가 나타나야 지정된 열거 각 ENUM 유형 및 값 각 속성 방법 또는 속성 정의합니다 (DataContract, DataMember를, DataMapping,의 ServiceContract, OperationContract가 등)를 정의하는 접속 무료 광고가 허용되어야한다 DataMaping가 DataMember를 위에 배치; 속성 정의 엔티티 클래스 전용 변수 시퀀스 순서 가능한 멀리 일관성은 각각 주석을 추가하기 위해, 위의 방법 및 연결 방법에서, 사이에 빈 줄이 없습니다; 코드는 가능한 모든 주석을 변경, 체크인에, 그것은 주석해야합니다 사용자 정의 변수 이름은 EX와 모두 캐치 예외를 시도, 경우 유형 목록의 반환 값 , 당신은 널을 반환 할 수 없습니다. 코딩 표준의 중요성은 위의 사양을 준수, 버그의 발생을 줄일 수 있습니다 유지 보수 비용 및 도움말 코드 검토를 줄일 수 있습니다뿐만 아니라, 자신의 능력 프로그래머, 더 나은 발전을 향상, 자기 분명하다.
  • (3)의 학습 과정 및 방법
      在学习的过程中,因为以前并没有基础过大型的项目,所以就按照老师的要求,首先对构建之法那本书进行详细的研读,在后面做项目的过程中,再参照软件工程导论这本书,结合老师讲解的内容,对软件项目的开展过程有了大概的了解,然后就是每周一次的实验,通过实验,进行对理论方法的实验,在整个过程中,对软件项目的流程进度都有很深的理解。在经验方面还有不足。在学习方法上,在开始是使用好工具,然后是学习工具背后的方法,在然后是掌握其本质,最后是用最简单易懂的方式传递给他人。学习软件工程,需要先有一个全景的印象,他的核心是什么?是有哪几块构成的,这样才能更好的理解每个知识点和彼此之间的联系。采用做中学(在工作中学习),自下而上;从教中学(技术分享或指导同学时),自上而下。软件工程是一门为了应对软件危机而产生的学科。主要是聚焦于质量,构建和维护高质量的软件。核心的知识点主要是三大要素:过程、方法和工具,也就是围绕软件开发过程,产生的方法学和工具。用一个简单的公式来理解的话,那就是:软件工程=工具+方法+过程。
    (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、你认为目前的课程存在哪些问题,你有什么更好的建议。

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

    추천

    출처www.cnblogs.com/zhangqiong/p/10687672.html