文档介绍:Software Engineering
for Satellites
Kathryn Anne Weiss
Software Engineering Research Laboratory
Department of Aeronautics and Astronautics
Massachusetts Institute of Technology
October 22, 2003
June 17, 2004 © Massachusetts Institute of Technology, 2002 1
Topics of Discussion
Background Why is Software
Engineering Hard for
Why is Software
Engineering Hard? Spacecraft?
Lifecycle SERL Approach
• Cost Component-Based
• Requirements Specification Systems Engineering
• Approaches to Design
SPHERES
• Implementation
• Testing Conclusions
• Maintenance
June 17, 2004 © Massachusetts Institute of Technology, 2002 2
Background
Ariane 5
Courtesy of Arianespace / ESA / CSG.
Used with permission.
Mars Climate
Orbiter
SOlar Heliospheric Observatory
June 17, 2004 © Massachusetts Institute of Technology, 2002 3
Background
Why is Software Engineering Hard?
“Curse of flexibility”
•‘‘And they looked upon the software and saw that it was good.
But they just had to add one other feature ...’’
• No physical constraints
Intangibility
Lack of historical usage information
plexity
• plex plete analysis
• anized for statistics
Large discrete state spaces
June 17, 2004 © Massachusetts Institute of Technology, 2002 4
Background
Software Lifecycle
Feasibility
Study Requirements
V & V Design
V & V Implement
V & V ation
Testing
V & V
V & V Maintenance
V & V
June 17, 2004 © Massachusetts Institute of Technology, 2002 5
Background
Software Cost Coding
Requirements
Testing
Maintenance
June 17, 2004 © Massachusetts Institute of Technology, 2002 6
Requirements Specification
Most critical portion of the software lifecycle
Majority of errors in software can be traced back to
flaws in the requirements
Many methods and types of requirements including:
Informal Formal
•English •Zed
•UML •State Machines
•Intent Specifications
June