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:

  1.  a number of separate programs and configuration files
  2.  system documentation: describes the structure of the system
  3.  user documentation: explains how to use the system
  4.  websites: for users to download recent product information

 

 

What are the fundamental software engineering activities?

  1. software specification: customers and engineers define the software that is to be produced and the constraints on its operation
  2. software development: the software is designed and programmed
  3. software validation: the software is checked to ensure that it is what the customer requires
  4. 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:

  1. stand-alone applications: These are application systems that run on a local computer, such as a PC.
  2. 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.
  3. embedded control systems: These are software contorl systems that control and manage hardware devices.
  4. batch processing systems: These are business systems that are designed to process data in large batches.
  5. entertainment systems: These are systems that are primarily for personal use and which are intended to entertain the user.
  6. 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.
  7. 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.
  8. 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

 

转载于:https://www.cnblogs.com/adelaide/p/5710895.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值