Copyright (c) 2013 John L. Jerz

Software Engineering, 8th edition (Sommerville, 2006)

Home
A Proposed Heuristic for a Computer Chess Program (John L. Jerz)
Problem Solving and the Gathering of Diagnostic Information (John L. Jerz)
A Concept of Strategy (John L. Jerz)
Books/Articles I am Reading
Quotes from References of Interest
Satire/ Play
Viva La Vida
Quotes on Thinking
Quotes on Planning
Quotes on Strategy
Quotes Concerning Problem Solving
Computer Chess
Chess Analysis
Early Computers/ New Computers
Problem Solving/ Creativity
Game Theory
Favorite Links
About Me
Additional Notes
The Case for Using Probabilistic Knowledge in a Computer Chess Program (John L. Jerz)
Resilience in Man and Machine

Sommerville.jpg

Review from Internet:
 
I bought this book as a required textbook for my grad course. I've learned a lot from my past misconception and misunderstanding between software science and software engineering just after reading a few chapters from the book.

The book covers wide aspects of engineering a software, both technical aspects and non-technical aspects (social, laws, ethics) although not in deep-breath details.

I highly recommend this book for any students who want to know about software engineering, practicing software engineers who want to enhance their engineering and managerial capability in developing a good software or for self-study for anybody who want to jump into software business.

p.30 System modelling
During the system requirements and design activity, systems may be modelled as a set of components and relationships between these components. These are normally illustrated graphically in a system architecture model that gives the reader an overview of the system organisation.
 
p.77 The implementation stage of software development is the process of converting a system specification into an executable system. It always involves processes of software design and programming but, if an evolutionary approach to development is used, may also involve refinement of the software specification.
   A software design is a description of the structure of the software to be implemented, the data which is part of the system, the interfaces between system components and, sometimes, the algorithms used.
 
p.157 Ethnography is an observational technique that can be used to understand social and organisational requirements. An analyst immerses him or herself in the working environment where the system will be used. He or she then observes the day-to-day work and notes [are] made of the actual tasks in which participants are involved. The value of ethnography is that it helps analysts discover implicit system requirements that reflect the actual rather than the formal processes in which people are involved.
 
p.190 A model is an abstract view of a system that ignores some system details. Complementary system models can be developed to present other information about the system.

Enter supporting content here