zoukankan      html  css  js  c++  java
  • 计算与软件工程第一次作业

    遇到的困难

    在学习计算与软件工程的第一节课前,由于以前未接触过博客以及分享,在编辑文档页面卡了许久。一些Markdown的基本语法使用也不是很熟练。

    工具软件认识及看法、学习过程

    我从互联网上了解的Markdown语言是这么解释的:

    Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。

    它的优点和缺点分别是:

    优点:

    1. 因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。
    2. 操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可

    缺点:

    1. 需要记一些语法。
    2. 有些平台不支持Markdown编辑模式。

    我觉得Markdown是一款非常方便实用的语言,在编写这篇博文的时候利用语法简书逐渐尝试使用它。

    第一章概述内容的读后感

    为什么需要软件工程

    首先我知道了程序员赖以生存的程序公式是:

    数据结构算法 = 程序

    我们不仅仅要知道公式还要反问自己:

    我们软件行业赖以生存的“软件”, 我们程序员用来安生立命的“程序” 是什么?

    软件从来不是只要做出来就行了,即使功能是一样的但失之毫厘,可能造成的结果就大相径庭。怎么样做成好的用户体验呢?从需求分析 (Requirement Analysis)开始,
    经历软件架构写数据结构和算法软件测试(Testing)到最后的发布以及后期的软件维护(Software Maintenance)一系列环节都要精准把控。最后免不了的
    一个环节:赚钱由此又可以得到一个拓展的推论:

    软件企业 =软件 + 商业模式

    一个优秀的的程序,优秀的不仅仅是程序本身,还有它背后的软件工程,软件工程决定了它的命运。

    那么软件工程是什么?

    程序,软件,软件工程可以用下表做一个简单类比:

    |航空|软件|影响(如果成功/失败会如何)|如何控制过程 (怎么一步步提高做事情的质量?)|
    | ------ | ------ | ------ |
    |玩具, 基本知识:纸飞机/航模| 写程序练习数据结构/算法| 影响自己,如果失败, 会减少对这类知识的兴趣。这类知识也有比赛,如航模比赛,程序算法比赛,但是比赛之后,这些算法高手写的程序的可维护性怎样? 有人会拿着程序去发布为商业软件么? |对飞机头哈气, 再哈气... 看别的小孩怎么做飞机, 上航模课外小组...|
    |爱好者的尝试:气球+沙滩椅升空 | 用Javascript, Asp.Net, Ruby 写写网站 | 气球升空成功, 当地晚报会报道。程序能跑起来,自己博客写写。失败之后呢? 没关系,爱好者很快会捡起新的爱好|研究各种工具, 做小实验|
    |先行者的探索:莱特兄弟飞行|软件业的创新|即使第一个版本的飞机只飞了36米,明白人还是看到了划时代的意义。很多软件原型也是这样。如果探索失败之后,会怎么样? 对于大部分创业者来说,如果还有钱/机会的话,还要继续创新。|研究理论, 不断尝试|
    |成熟的工业:飞机制造业 民航|Taobao, Ali-pay, Win7|软件的发布会影响一个公司,一个行业,波及到相关的行业和人员。如果一个公司失败了, 很多人会失去饭碗|有完整和严格的过程控制理论和实践|
    所以,由此可以知道软件工程是软件工程是把系统的, 有序的, 可量化的方法应用到软件的开发, 运营, 和维护上的过程。
    软件工程包括下列领域: 软件需求分析, 软件设计, 软件构建, 软件测试软件维护.
    软件工程和下列的学科相关: 计算机科学, 计算机工程, 管理学, 数学, 项目管理学, 质量管理, 软件人体工学, 系统工程, 工业设计用户界面设计.
    我们在开发,运营, 维护软件的过程中有很多技术, 做法, 习惯, 和思想体系。 软件工程把这些相关的技术和过程统一到一个体系中, 叫 “软件开发流程”,软件开发流程的目的是为了提高软件开发, 运营, 维护的效率;以及用户满意度, 可靠性,和软件的可维护性。
    软件工具有很多, 有无数的独立软件工具, 例如编译工具, 源代码管理工具, 源代码编辑工具; 也有一些软件工具系统例如 Microsoft Visual Studio; Eclipse; ClearCase; ClearQuest 等等。

    软件工程的bug

    bug 的多少可以直接衡量一个软件的开发效率, 用户满意度, 可靠性, 和可维护性

    1. 软件的开发效率 – 开发过程中bug 太多了, 导致软件无法按时交付;
    2. 用户满意度 – 用户使用时报告了很多bug, 纷纷表示对生活影响很大;
    3. 可靠性 – 这个软件经常会崩溃,这个操作系统会死机;
    4. 可维护性 – 这个软件太难维护了, 按下葫芦起了瓢, 修复了一个问题, 另一个问题又出来了。也没有足够的文档, 维护人员纷纷表示要把原作者找出来打一顿。
      最后,有实际用处的, 完美的软件在世界上是不存在的.软件工程的一个重要任务就是要决定一个软件在什么时候能“足够好”, 没有严重的“bug”,可以发布。
  • 相关阅读:
    html页面模板布局内容的继承,block
    url分发
    显示年月,注册页面和后台数据交互,不涉及数据库
    static文件夹中文件引用方式,如html页面引用js
    pycharm写django之返回一个页面
    pycharm编写django第一步
    VUE清除keepalive页面缓存
    js设置html根节点的style字体【Vue动态调整全局字体大小】
    npm 依赖重新安装或更新版本
    antd 自定义表头slots.title不生效
  • 原文地址:https://www.cnblogs.com/guozhiwei123/p/12318414.html
Copyright © 2011-2022 走看看