Software Engineering The Software Life Cycle Development Process

  • Slides: 13
Download presentation
Software Engineering The Software Life Cycle Development Process Models -Modularity - -

Software Engineering The Software Life Cycle Development Process Models -Modularity - -

The Software Life Cycle n n n Develop the system If obsolete stop usage

The Software Life Cycle n n n Develop the system If obsolete stop usage If not obsolete use the system Then modify the system Then test to see if obsolete start develop obsolete If yes delete If not Use system Modify system

System Development n n n System Development broken down into 4 parts Analysis Design

System Development n n n System Development broken down into 4 parts Analysis Design Implementation Testing System development analysis design Implementation Testing

Development Process Models - Waterfall Model - Incremental Model

Development Process Models - Waterfall Model - Incremental Model

Waterfall Model n One phase cannot be started before the other is completed analysis

Waterfall Model n One phase cannot be started before the other is completed analysis Design Implementation Testing

Incremental Model analysis Design Implementation n n Process developed in series of steps When

Incremental Model analysis Design Implementation n n Process developed in series of steps When first group is completed second is started Testing analysis Design Implementation Testing

Analysis n n Define the user (one or multiple) Define the needs (expectations) Define

Analysis n n Define the user (one or multiple) Define the needs (expectations) Define the requirements (rules/additions) Define the methods (methods to meet the requirements

Design Phase n Modularity n A) package is divided into small groups (modules) B)

Design Phase n Modularity n A) package is divided into small groups (modules) B) each Module is designed, tested and linked n Tools n A) structure chart n n n a) shows steps to break down package b) shows interaction between parts

Modularity n n Coupling A measuring of how tightly modules are bound to each

Modularity n n Coupling A measuring of how tightly modules are bound to each other n n Cohesion Measures how closely the processes are related

Coupling n n n Data coupling (sends min data, best form) Stamp coupling (sends

Coupling n n n Data coupling (sends min data, best form) Stamp coupling (sends structures) Control coupling (sends flags) Global coupling (uses global variables, worst form) Content Coupling (refers directly to data)

Cohesion n n n Functional Cohesion (one process) Sequential Cohesion (two or more related

Cohesion n n n Functional Cohesion (one process) Sequential Cohesion (two or more related tasks) Communicational Cohesion (combines processes on the same data) Procedural Cohesion (combines unrelated processes linked by control flow) Temporal Cohesion (combines unrelated processes that always occur together) Logical Cohesion (combines related processes only by the controlling entity) Coincidental Cohesion (combines unrelated processes)

Implementation Phase n Tools n A) flowchart given to show logical flow of data

Implementation Phase n Tools n A) flowchart given to show logical flow of data B) a Pseudocode is written (partly in English and partly in logic) that describes an algorithm n Code n A code is written in a language specific to the project n

Testing n n n Black Box Testing Done by the engineer who ha no

Testing n n n Black Box Testing Done by the engineer who ha no idea what is inside the program and how it works White Box Testing Done by the programmer who knows everything about the program Hardest and most tedious step of system development