130 likes | 145 Views
Explore the steps in software engineering, from system analysis to testing. Learn about development models, modularity, and implementation phases. Dive into coupling and cohesion concepts for efficient software design.
E N D
Software Engineering The Software Life Cycle Development Process Models Modularity
The Software Life Cycle • Develop the system • If obsolete stop usage • If not obsolete use the system • Then modify the system • Then test to see if obsolete
System Development • System Development broken down into 4 parts • Analysis • Design • Implementation • Testing
Development Process Models - Waterfall Model - Incremental Model
Waterfall Model • One phase cannot be started before the other is completed
Incremental Model • Process developed in series of steps • When first group is completed second is started
Analysis • 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 • Modularity • A) package is divided into small groups (modules) • B) each Module is designed, tested and linked • Tools • A) structure chart • a) shows steps to break down package • b) shows interaction between parts
Coupling A measuring of how tightly modules are bound to each other Cohesion Measures how closely the processes are related Modularity
Coupling • 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 • 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 • Tools • 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 • Code • A code is written in a language specific to the project
Testing • 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