现代软件工程 第一章概论习题第3,7,12题 陈宗雷

3.  上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点? (提示:搜索一下Microsoft TFS、GitHub、Trac、Bugzilla、Rationale,Apple XCode, coding.net),请用一个实际的源代码管理工具来建立源代码仓库,并签入/签出代码。

例如: https://coding.net/u/tvvocold/p/Coding-on-Coding/git/blob/master/1.1_Coding101.md 

Microsoft TFS的优缺点:

  优点:

  1.FTS功能强大,不仅限于源码的管理,对于个人的小项目的管理非常适合。

  2.可以与vs结合,源代码管理,文档管理,任务管理以及跟踪等,功能强大。

  缺点:

  1.只有源代码管理这部分功能被广泛的使用,在使用和维护上都有较高的要求。

  2.是收费软件,其推出的免费的版本也有一定的功能限制。

GitHub的优缺点:

  优点:

  1.代码合并很方便,可以对各种库进行托管并提供web界面。

  2.可以找到很多好的开源代码让我们学习。

  3.支持多个人相互交流,共同完成一个项目。

  缺点:

  1.命令很多,对于新手来说入门学习是一个较为困难的过程。

Trac的优缺点:

  优点:

  1.是一个开源软件的web应用,可以很好地进行问题跟踪和管理。

  2.友善的管理不影响团队的开发过程。

  3.灵活,扩充性良好。可以与SVN集成。

  缺点:

  1.本身的功能有限。

  2.中文版本不完整,使用起来不方便。

Bugzilla的优缺点:

  优点:

  1.是一个开源的免费软件,对于问题和缺陷进行跟踪处理。

  2.具有强大的检索功能。

  3.支持中文版,使用方便,用户界面友好,安全性较高,设置丰富多样,数据库强大。

  缺点:

  1.只能管理缺陷,功能有限。

Apple XCode的优缺点:

  优点:

  1.是运行在苹果的操作系统上的一个集成开发工具,用户界面统一,多项功能都在一个窗口内完成。

  2.编译速度很快,并且操作轻松快速。

  3.分支管理系统,在保证安全性的前提下方便我们的管理。

  缺点:

  1.不同的版本中,插件不兼容。

 

  使用SVN对源代码进行管理,并签入签出代码:

现代软件工程 第一章概论习题第3,7,12题 陈宗雷_第1张图片

现代软件工程 第一章概论习题第3,7,12题 陈宗雷_第2张图片

现代软件工程 第一章概论习题第3,7,12题 陈宗雷_第3张图片

 

现代软件工程 第一章概论习题第3,7,12题 陈宗雷_第4张图片

现代软件工程 第一章概论习题第3,7,12题 陈宗雷_第5张图片

 

 

7. 有人认为,现在绝大多数编程语言都是以英语为基础,中国人编程还要学习英语,这增加了不必要的障碍。  如果有 “中文编程”, 则是解决中国程序员编程效率一个秘密武器,请问它是一个 “银弹” 么,它能极大增加中国程序员的效率么? 
  参考:
    http://weibo.com/2210132365/BiYTws242
  http://www.chinesepython.org/ 
    http://baike.baidu.com/subview/545069/545069.htm 

   我个人认为中文编程并不像想象中的那么简单,只是单纯的将编程语言由英语切换成中文,中国文化博大精深,中文里往往相同的词组会表达不同的含义,容易产生歧义,使人们阅读代码时增加了一定的困难,并且中文在世界上的使用并不普遍,不方便文化的交流和技术的沟通,并且现在也没有开发出完善的中文编译环境。当程序员已经习惯了现有的编程语言时,再切换成中文编程也要有一定的适应过程,中英两种语言混合编程,也可能容易提高出现错误的几率。并且编程效率的提高不仅限于编程人员的英语水平,对于不同编程语言的了解和语法的使用,算法的掌握程度,团队合作,创新能力,项目管理等多个方面的因素都可以影响编程的效率。或许等以后随着中文的推广和各个条件日益成熟时,中文编程可以有效的提高编程效率。

 

12. 开发软件有很多种方式,从软件运行的平台来看,可以在下面的平台运行:
  • 网页 (只要有浏览器就可以访问软件或服务)
  • Windows 平台 (例如最新的Windows 10 支持 PC,Surface,Mobile,甚至Xbox 运行)
  • 安卓平台
  • iOS 平台 (Mac 和 iPhone)

请找一个同学结对 (参看本书结对编程的内容),两人共同工作 (不能分开干活),从上面的列表中选取两个平台,在每个平台上,写一个最简单的 "Hello World" 类型的程序,把写程序的经历写成博客发布出来,内容包括:

- 什么平台, 用什么编程语言,什么软件构建环境 (IDE),什么软件工程的工具,开发的流程大概是什么,最后程序的源码,和用户界面是什么?

(可以从网上查找相关资料,甚至源程序都可以参考其他人的, 但是要自己把程序编译,运行)

网页平台:使用HTML来完成“Hello World”小程序,在MyEclipse开发环境上完成。

首先搭建开发环境,在MyEclipse上配置Tomcat 7,之后创建项目,完成基础配置之后,在项目中建立index.html页面,这个页面为项目里默认的访问页面。完成代码编写后,将项目部署到Tomcat 7上,发布后,在浏览器中输入127.0.0.1:8080/项目名就可以访问index.html默认页面了。源代码如下所示:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

 

      My JSP 'index.jsp' starting page

     "pragma" content="no-cache">

     "cache-control" content="no-cache">

     "expires" content="0">   

     "keywords" content="keyword1,keyword2,keyword3">

     "description" content="This is my page">

 

 

          Hello World

 

 

结果如下:

 现代软件工程 第一章概论习题第3,7,12题 陈宗雷_第6张图片

 

Windows平台:使用JAVAFX库编写程序,在图形界面中显示了Hello World。使用的是Eclipse集成开发环境。首先搭建好开发环境,接着创建一个Java工程项目,并在项目的Propritise->Java Bulid Path中添加了Javafx库,此库提供了图形界面开发所需的包,接着创建Java文件,编写代码,代码如下:

package tju.edu.holle;

import javafx.application.Application;

import javafx.scene.Parent;

import javafx.scene.Scene;

import javafx.scene.layout.BorderPaneBuilder;

import javafx.scene.text.Text;

import javafx.stage.Stage;

public class hello extends Application {

    @Override

    public void start(Stage primaryStage) throws Exception {

        final Text text = new Text("Hello World");

        Parent root = BorderPaneBuilder.create().center(text).build();

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setScene(scene);

        primaryStage.setTitle("JavaFx: Hello World");

        primaryStage.show();

    }

    public static void main(String[] args) {

        Application.launch(args);

    }

}

之后直接运行代码就会出现以下的界面:

 现代软件工程 第一章概论习题第3,7,12题 陈宗雷_第7张图片

 

你可能感兴趣的:(现代软件工程 第一章概论习题第3,7,12题 陈宗雷)