Software Engineering: 1. Introduction
Resource: Ian, Sommerville, Software Engineering
1. Professional software development
1.1 Software engineering
Software engineering is intended to support professional software development rather than individual programming.
It may include:
- a number of separate programs and configuration files
- system documentation: describes the structure of the system
- user documentation: explains how to use the system
- websites: for users to download recent product information
What are the fundamental software engineering activities?
- software specification: customers and engineers define the software that is to be produced and the constraints on its operation
- software development: the software is designed and programmed
- software validation: the software is checked to ensure that it is what the customer requires
- software evolution: the software is modified to reflect changing customer and market requirements
There are two kinds of software products:
generic products: These are stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them.
Example: databases, word processors, drawing packages
It also includes so-called vertical applications designed for some specific purpose such as library information systems, accounting systems, or systems for maintaining dental records.
customized (or bespoke) products: These are systems that are commissioned by a particular customer. A software contractor developers the software especially for that customer.
Example: control systems for electronic devices, systems written to support a particular business process, and air traffic control systems.
1.2 Software engineering diversity
Software engineering is a systematic approach to the production of software that takes into account:
- practical cost
- schedule
- dependability isssues
- the needs of software custmoers and producers.
There are many different types of application including:
- stand-alone applications: These are application systems that run on a local computer, such as a PC.
- interactive transaction-based applications: These are applications that execute on a remote computer and that are accessed by users from their own PCs or terminals.
- embedded control systems: These are software contorl systems that control and manage hardware devices.
- batch processing systems: These are business systems that are designed to process data in large batches.
- entertainment systems: These are systems that are primarily for personal use and which are intended to entertain the user.
- systems for modeling and simulation: These are systems that are developed by scientists and engineers to model physical processes or situations, which include many, separate, interacting objects.
- data collection systems: These are systems that collect data from their environment using a set of sensors and send that data to other systems for processing.
- systems of systems: These are systems that are composed of a number of other software systems.
1.3 Software engineering and the Web
The development of web browsers that could run small programs and do some local processing led to an evolution in business and organizational software.
The next stage in the development of web-based systems aws the notion of web services.
2. Software engineering ethics
3. Case studies
Software Engineering: 1. Introduction的更多相关文章
- Software Engineering: 3. Project planning
recourse: "Software Engineering", Ian Sommerville Keywords for this chapter: planning sche ...
- SENG201 (Software Engineering I) Project
SENG201 (Software Engineering I) ProjectSpace ExplorerFor project admin queries:For project help, hi ...
- Go is more about software engineering than programming language research.
https://talks.golang.org/2012/splash.article Go at Google: Language Design in the Service of Softwar ...
- 第二篇——The communication during software engineering.
I've learned a lot in my software engineering class about how a program comes out.That's also a esse ...
- Software Engineering: 2. Project management
resources:"Software Engineering" Ian Sommerville For most projects, important goals are: D ...
- 个人阅读作业2—《No Silver Bullet: Essence and Accidents of Software Engineering》读后感
在进行了一次结对编程.一次团队编程和一次个人编程项目后,读了<No Silver Bullet: Essence and Accidents of Software Engineering> ...
- Software Engineering at Google
Google的Fergus Henderson在Software Engineering at Google中介绍了Google的软件工程实践. 软件开发 源码仓库 单一源代码仓库,除了核心配置和安全 ...
- 【Software Test】Introduction to Software Testing
Introduction to Software Testing 文章目录 Going to Learn --. Evolution of The Software Industry Errors, ...
- 10. Software, Software Engineering, water fall (瀑布模型),Code Complete等名词的来源
①.Software-软件”一词是20世纪60年代才出现的,软件Software——1958年由贝尔实验室的著名统计学家John Tukey 提出软件与硬件一起构成完整的计算机系统,它们是相互依存,缺 ...
随机推荐
- ANSI_NULLS、QUOTED_IDENTIFIER
数据库服务器重启后,游戏登录提示“您输入的用户名不存在,请重新注册!”重启前特意登录过平台,基本操作都正常.这之间并没对数据库做任何修改,怀疑是应用程序服务端的问题.开启跟踪监控登录过程,只跟踪到一个 ...
- .NET中string[]数组和List<string>泛型的相互转换以及Array类的Sort()方法(转)
从string[]转List<string>: " }; List<string> list = new List<string>(str); 从List ...
- [Android Tips] 4. Dismiss PopupWindow when touch outside
PopupWindow.setFocusable(true);
- Velocity(5)——#set指令
引用可以让模板设计者生成动态内容,而指令允许设计者真正的负责页面的展现和内容. 指令是以#开头,后面紧跟一个关键字,比如if,else,foreach等.而这个关键字,是可以被放在{}中间的.这是规范 ...
- 模板 KMP
[模板]KMP int next[N]; char str1[M],str2[N]; //str1 长,str2 短 //len1,len2,对应str1,str2的长 void get_next(i ...
- 导入maven工程遇见的问题【问题】
原工程是一个基于websocket的maven工程(源工程:http://www.cnblogs.com/xdp-gacl/p/5193279.html),把工程导入eclipse后报错.
- Android_按两次返回键退出程序和长按返回键退出程序
以上两个功能主要是参考了一下博客的: http://blog.csdn.net/chenshijun0101/article/details/7682210 http://blog.csdn.net/ ...
- redis windows下的环境搭建
先说下安装吧!感觉这东西跟mongodb差不多,安装和布置挺简单,下载地址:https://github.com/dmajkic/redis/downloads 下载下来的包里有两个,一个是32位的, ...
- [转]SVN客户端解决authorization failed问题
转载地址:http://blog.csdn.net/patdz/article/details/7669591 1. 创建文件夹 E:\STWSource\STWLibrarySVN 2.在文件夹ST ...
- POJ 2420:A Star not a Tree?
原文链接:https://www.dreamwings.cn/poj2420/2838.html A Star not a Tree? Time Limit: 1000MS Memory Limi ...