[Midterm1]Software Development Lifecycle

 

这门课(Computer Science III)的目的是什么?

  • 创造高质量软件系统(high quality software system)的方法论(methology)
  • 高质量软件系统的性质:
    • 正确性 correctness
    • 高效 efficiency
    • 易用 ease of use (by other programmers in the case of frameworks)
    • 可靠和鲁棒(误) 强壮 reliability/robustness
    • 可维护 maintainability
    • 可修改 modifiability
    • 扩展性 extensibility / scalability
  • K-locs(1,000行源代码) 是一种衡量软件规模的一个度量衡
    • 下图是阿富汗政府的政府软件系统(可见政府效率是多么的低下):



  • 软件开生命发周期(Software Development Lifecycle)
    • 当一个软件越大,那么它就越难实现
      • 程序的复杂度增加
      • 团队的复杂对增加(人员增多导致的开发效率降低,详见人月神话)
      • Lifecycle:
        分别是:需求分析-> 设计和文档 -> 评价设计 -> 撸代码 -> 测试 -> 投入运行
    • 软件集成
      • 在大型软件开发中广泛应用
      • 功能分成多个部分分别开发,最终凝聚一起
    • 软件维护
      • 持续开发
      • 监视和升级上线软件
    • 软件开发生命周期的其他模型:
      • 敏捷开发(Agile Programming)
      • 极限编程(Extreme Programming)
      • 结对编程(Pair Programming)
    • e.g.
        • Waterfall Model:
          • 1. Requirements Analysis
          • 2. Design
          • 3. Evaluate Design
          • 4. Code
          • 5. Test, Debug, & Profile Components
          • 6. Integrate
          • 7. Test, Debug, & Profile Whole Program
          • 8. Deploy
          • 9. Maintain
    • 软件开发工作:
      • 程序员 = 在软件开发环节中最花费时间的一个部分
      • 除此之外你应该了解如何设计,Coding,测试,debug一个软件
        • 除了代码猴子之外你还可以做的工作
          • 软件设计师
          • Database, Network, Security Administrater
          • 软件测试人员
          • 项目leader
          • 项目经理
          • 文档开发人员
          • 创始人/CEO
    • 先设计,再开发
      • 这不是一项简单的工作
      • 主要用UML来设计程序
      • 你无法设计一个系统除非你真的深入了解所需要的技术
        • designs cannot be created without testing
  • 软件框架:
    • 什么是软件框架(framework)?
      • 框架(framework)是许多classes的集合
      • 可定制的基础功能由多组classes
        • 不通的classes合作实现某个技术
          • e.g. 多媒体,Web框架,数据库(database)
        • 用来创建新的应用软件或者其他框架(framework)  
          • e.g. Java用来创建GUI界面开发的框架:JavaFX
    • 框架应用流程:
    • 常见的Java 框架(Framework):[1]
      1. Spring MVC
      2. Structs
      3. Apache Axis
      4. Apache Xerces
      5. Hibernate
      6. JDOM
      7. Java Applet
      8. Apache Velocity
      9. Apache ORO
      10. JAX-WS

  

 

 

 

 

引用页面:

[1] "Top Ten Java Frameworks Observed in Customer Applications", http://www.veracode.com/blog/2012/01/top-ten-java-frameworks-observed-in-customer-applications

转载于:https://www.cnblogs.com/zeqli/p/4364597.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值