zoukankan      html  css  js  c++  java
  • 第一堂 软件工程课

    新学期开始,第一堂的软件工程课,拿到书本看了下,感觉神一般得迷,就觉得很难学。以下是我上完第一次课得理解:

    一.什么是软件工程?

    1.软件工程

    是把系统得、有序得、可量化得方法应用到软件得开发、运营和维护上得过程。

    2.软件工程包括下列领域

    软件需求分析、软件设计、软件构建、软件测试和软件维护。

    3.软件工程和下列学科相关

    计算机科学、计算机工程、管理学学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。

    二.软件工程和软件开发流程

    1.人们在开发、运营、维护软件得过程中有很多技术、做法、习惯和思想体系。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”。

    2.软件开发流程得目的是为了提高软件开发、运营、维护效率,并提高软件得质量、用户满意度、可靠性和软件得可维护性。

    三.软件工程得组成

    程序=数据结构+算法

    软件=程序+软件工程

    软件公司=软件工程+商业模式

    四.软件得特性

    复杂性

    不可见性

    易变性

    服从性

    非连续性

    五.课后练习

    课上一道题目感觉充分得解释了什么是软件工程。用代码实现每天随机产生300道四则运算得小学题。

    看到这题我首先想到了随机数,因为数不固定而且300道,只能用随机数来随机产生数来给出题目,而四则运算(即+,-,*,/),那我想到用数组来存储,课后突然老师点播说可以用case语句,我觉得这个看上去更名了,所以可以用C语言来完成这个题目,毕竟python太菜。我觉得这个程序主要有3个地方需要注意。首先是随机生成问题,只使用rand()是不对的,这样生成的数是伪随机数,上网查了一下得知最简单的解决方法是应该在主函数里加上一句srand(time(0)),这里我最初是在每个rand()前都加上了srand(time(0)),导致产生的随机数都一样,应该只要在主函数里加一句就行了。这是个值得注意的地方。其次是关于如何保证结果都是非负数,由于是四则运算,因此只有出现“-”号的时候才会有这种可能。我是这样解决的:用x和y来表示整数题目时2个运算数,当出现“-”时(if(op==‘-’)),通过while(x-y<0)语句来循环进行重新随机,知道产生x大于等于y为止。当遇到分数题目时候,采用a/b,c/d形式,同理通过while(a*d-b*c<=0)语句来循环进行重新随即。最后关于真分数的问题,并不难,真分数简单来讲就是分母比分子大的分数,因此只要保证a>b且c>d就好了。

    char Operator()

    {

        char op;

        int a;

        a=rand()%4+1;

        switch(a)

        {

            case1:return'+';

            case2:return'-';

            case3:return'x';

            case4:return'/';

        }

    }void integer()

    {

        int x,y;

        char op;

        x=rand()%100+1;

        y=rand()%100+1;

        op=Operator();

        if(op=='-')

            while(x

            {

                x=rand()%100+1;

                y=rand()%100+1;

            }

        cout<

    }void fraction()

    {

        int a,b,c,d;

        a=rand()%100+1;

        b=rand()%100+1;

        c=rand()%100+1;

        d=rand()%100+1;

        char op;

        while(a<=b||c<=d)

        {

            a=rand()%100+1;

            b=rand()%100+1;

            c=rand()%100+1;

            d=rand()%100+1;

        }

        op=Operator();

        if(op=='-')

            while((b*c-a*d)<0)

            {

                a=rand()%100+1;

                b=rand()%100+1;

                c=rand()%100+1;

                d=rand()%100+1;

            }

        cout<

    }+void main()

    {

        srand(time(0));

        int a,n,m;

        cout<<"请输入出题类型"<

        cout<<"1.整数四则运算"<

        cout<<"2.分数四则运算"<

        cin>>a;

        cout<<"请输入出题数目"<

        cin>>n;

        for(m=1;m<=n;m++)

        {

            if(a==1)

                integer();

            else            fraction();

        }

    }

  • 相关阅读:
    Rest_framework-3
    Nginx 之一:编译安装nginx 1.8.1 及配置
    vmware虚拟机克隆CentOS7 出现的网络问题解决办法
    OAuth认证
    5个节点hadoop安装(zookeeper)
    hadoop完整安装
    从vmware模板克隆linux的操作
    ssh 免密码设置失败原因总结
    hadoop-2.6.0.tar.gz的集群搭建(3节点)(不含zookeeper集群安装)
    linux静态IP设置
  • 原文地址:https://www.cnblogs.com/zak-apple/p/8538960.html
Copyright © 2011-2022 走看看