What is Software?

Download Report

Transcript What is Software?

Textbook
Software Engineering:
A Practitioner's Approach
R.S. Pressman
1
刘东权
TA: 陈芳芳
[email protected]
13981713014
[email protected]
软件工程Q群:315257421
修改群名片为:学号_姓名
软件工程课程网站注册 http://swjx.scu.edu.cn/moodle/
《软件工程_刘东权》
2
Course Structure
 Lectures
 Homeworks
 Final Exam
 Grading: midterm (10%), participation (10%),
assignments (20%), labs (20%), final (40%)
3
Course Expectations
 Lectures, Homeworks and Labs
 be familiar with one of software process models
 know how to write requirement & design documents
 be familiar with software QA and testing procedures
4
Software and Software Engineering
5
Software’s Dual Role

Software is a product



Delivers computing potential
Produces, manages, acquires, modifies, displays, or transmits
information
Software is a vehicle for delivering a product




Supports or directly provides system functionality
Controls other programs (e.g., an operating system)
Effects communications (e.g., networking software)
Helps build other software (e.g., software tools)
6
What is Software?
Software is a set of items or objects
that form a “configuration” that
includes
• programs
• documents
• data ...
7
What is Software?



software is engineered
software doesn’t wear out
software is complex
8
Wear vs. Deterioration
9
Software Applications







system software
application software
engineering/scientific software
embedded software
product-line software
WebApps (Web applications)
AI software
10
Software—New Categories




Ubiquitous computing—wireless networks
Netsourcing—the Web as a computing engine
Open source—”free” source code open to the computing
community (a blessing, but also a potential curse!)
Also … (see Chapter 32)




Data mining
Grid computing
Cognitive machines
Software for nanotechnologies
11
Legacy Software
Why must it change?




software must be adapted to meet the needs of new
computing environments or technology.
software must be enhanced to implement new
business requirements.
software must be extended to make it interoperable
with other more modern systems or databases.
software must be re-architected to make it viable
within a network environment.
12