Presentation is loading. Please wait.

Presentation is loading. Please wait.

SWEBOK Chapter 4. Fundamentals  Minimizing Complexity  Anticipating Change  Construction for Verification  Standards in Construction.

Similar presentations


Presentation on theme: "SWEBOK Chapter 4. Fundamentals  Minimizing Complexity  Anticipating Change  Construction for Verification  Standards in Construction."— Presentation transcript:

1 SWEBOK Chapter 4

2 Fundamentals  Minimizing Complexity  Anticipating Change  Construction for Verification  Standards in Construction

3 Minimizing Complexity  One of the strongest drivers in software construction  Required due to human limitations of memory

4 Minimizing Complexity How is complexity minimized during software construction? Use of standards Coding practices Construction-oriented quality techniques Creation of code that is simple and readable rather than clever

5 Anticipate Change  Software will change  Coding techniques can be used to make change easier (designing for change is also critical)

6 Construction for Verification  Built is such a way to allow easy identification of defects By developers during construction By testers

7 Construction for Verification  Techniques Following coding standards Unit testing Organizing code to support automated testing Restricted use of complex/hard-to- understand language structures

8 Standards in Construction  Communication methods  Programming languages  Platforms  Tools  External standards  Internal standards

9 Managing Construction  Construction Models  Construction Planning  Construction Measurement

10 Construction Models  Linear construction view Construction only after significant pre- requisite work is complete Coding is main focus of construction  Interative Construction occurs at the same time as other development activities Combination of activities all considered construction

11 Construction Planning  How are we going to build it?  Affects prerequisite activities Extent to which they are performed Order in which they are performed Degree to which they are expected to be complete before construction begins  Affects project’s ability to minimize complexity, anticipate change, and construct for verification  Defines the order in which components are created and integrated, QA management process, allocation of task assignments, etc.

12 Construction Measurement  What aspects are being measured? Code developed (LOC) Code reused Code modified Code complexity Code inspection statistics Defects found Defects fixed Effort Scheduling Story points (velocity)  Why do we need to measure construction?

13 Practical Considerations  Construction Design  Construction Languages  Coding  Construction Testing  Reuse  Construction Quality  Integration

14 Construction Design  Design done before construction will be incomplete  Detailed design same as overall design but at a smaller scale

15 Construction Languages  Anyway that a human can specify execution instructions to a computer  Configuration Languages  Toolkit Languages  Programming Languages

16 Coding  Understandable source code  Use of classes, enumerated types, variables, named constants, etc  Control structures  Error handling  Prevention of code-level security breaches  Resource usage  Source code organization  Code documentation  Code tuning

17 Construction Testing  Goal: to reduce the time between defect creation and default detection  Subset of overall testing types performed by the engineer who wrote the code Unit testing Integration testing

18 Reuse  Reuse processes and activities must be formalized into the software life cycle  Selection of what to reuse  Evaluation of code or test reusability  Reporting of reuse information on new code

19 Construction Quality  Common Techniques Unit and integration testing Test-first development Code stepping Use of assertions Debugging Technical reviews Static analysis  Focus on code and not overall project

20 Integration  Plan the sequence in which components will be integrated  Creation of scaffolding and stubs to support interim versions  Determining the degree of testing done on components before they are integrated  Determine when interim versions of the software are tested


Download ppt "SWEBOK Chapter 4. Fundamentals  Minimizing Complexity  Anticipating Change  Construction for Verification  Standards in Construction."

Similar presentations


Ads by Google