User:Hyad/SE/Test5

=Beyond the Basics= http://www.se.rit.edu/~se361/slides/SEBeyondBasics.pdf

Software Development Problems
system test. [Standish 1995]
 * Software is becoming larger and more complex.
 * Poor quality abounds. 25 defects/KSLOC typical in
 * Estimation is flawed or this is tougher than we think.
 * Cost overruns average 189%.
 * Schedule overruns average 222%

Characteristics of successful software engineering

 * Writing code is the basis, but not the key
 * Depth in the core areas: requirements, architecture, design and testing
 * Teamwork
 * Process discipline and quality engineering approaches

Product Line Engineering

 * Capitalize on commonalities in a family of products, i.e. copiers, cellphones
 * Allow for easy selection of features for each product in the family—variation points
 * Must do careful domain analysis to understand scope of product family
 * Requires advanced architecture techniques, component design techniques

Reuse

 * A simple way to eliminate bugs and reduce effort is not to have to develop the functionality!
 * Design reuse into the system
 * Use libraries, existing modules when possible
 * Reuse is NOT copy-and-paste programming
 * Adds very little value: only saves coding time
 * Developing commonly used functionality into module libraries is worthwhile, but takes significant effort

Product Quality: “ilities”
safety, security), usability, evolvability architecture to support those qualities attributes.
 * Projects rarely fail on function
 * The “ilities” or non-functional requirements are the problem
 * Performance, dependability (reliability, availability,
 * Identify quality attributes at requirements time; design the
 * Develop metrics to measure achievement of quality

Metrics
-Measurements and metrics can help to track effectiveness
 * For example, from inspection reports
 * Identify types of modules with more defects, e.g. data from inspection reports
 * Bad data implies bad estimates
 * Metrics should not be used for evaluating people

ex.The amount lines of code you write doesn't matter! What if perhaps one person writes 15,000 lines vs. another person with 5,000 lines. What about defect density? Numbers don't tell the whole story. That's why you should not compare people.