Due date
- Mon, Feb 4, 2013 (i.e., Tue before 1 am)
- One week extension
- Submission instructions have changed
Objectives
- Introduction to software evolution
- Introduction to software evolution terminology
- Introduction to growing systems
- Introduction to ULS systems
- Introduction to autonomic computing
Instructions
This assignment consists of three parts. In Part I you are to define selected software engineering and evolution terms. In Part II you are to discuss evolutionary aspects of growing systems. Part III is an introduction to the world of ultra large scale systems (ULS). List your sources!
Part I
Define the following software architecture and evolution terms. Each definition may be as short as a single sentence or as long as a paragraph. Use textbooks, the library, and the Web to research these terms. Don't assume that these terms be discussed in class. In particular, read the first three chapters of your textbook and the following autonomic computing paper: IBM Corporation: An Architectural Blueprint for Autonomic Computing, Fourth Edition (2006)
- Legacy system
- Software complexity
- Software reverse engineering
- Program understanding
- Self-managing system
- Self-adaptive system
- Self-organizing system
- Autonomic element
- Autonomic manager
- Control loop
The answers for this question should fit into approximately 2-3 typeset pages.
Part II
Study the following CACM paper:
Truex, D., Baskerville, R., Klein, H.: Growing Systems in Emergent Organizations. Communications of the ACM, 42(8):117-123 (1999). When you are at a UVic location, you can download the paper readily and for free from ACM: http://portal.acm.org/citation.cfm?id=310930.310984&coll=GUIDE&dl=GUIDE,ACM&CFID=2240896&CFTOKEN=98671917
- Summarize the paper
- Contrast traditional information systems development (ISD) goals with emergent ISD goals
- What are your perceived consequences for the software engineering discipline assuming the findings of this paper?
- What are the consequences with respect to requirements engineering? What is the difference between satisfying requirements outright and regulating the satisfaction of requirements using feedback loops?
The answers for this question should fit into approximately 2-3 typeset pages.
Part III
Study the ULS book:
- Northrop, L., Feiler, P., Gabriel, R., Goodenough, J., Linger, R., Longstaff, T., Kazman, R., Klein, M., Schmidt, D., Sullivan, K., Wallnau, K.: Ultra-Large-Scale Systems. The Software Challenge of the Future. Technical Report, Software Engineering Institute, Carnegie Mellon University, 134 pages ISBN 0-9786956-0-7 (2006)
http://www.sei.cmu.edu/uls
http://www.sei.cmu.edu/library/abstracts/books/0978695607.cfm
- What are the main characteristics of a ULS system?
- Contrast centralized and decentralized control.
- Describe three selected challenges for the design and evolution of ULS systems in detail.
The answers for this question should fit into approximately 2-3 typeset pages.
How to submit
Submit your assignment as follows:
- Typeset your submission neatly using Word, Pges, or LaTex and generate pdf documents.
- Please use the following naming conventions for your file:
A1-lastName-UVICID.pdf
or alternatively
A1-lastName-UVICID-part1.pdf
A1-lastName-UVICID-part2.pdf
A1-lastName-UVICID-part3.pdf
- Please mail your documents using the following submission interface (ideally as one .pdf file)
seng371@uvic.ca
Marking
- Part I is worth 20%; Part II 40%, and Part III 40%.
|