software design user guidance information presentation software development user system interaction interface evaluation design principles object-oriented design data abstraction software testing design strategies domain specific architecture abstraction mechanism problem partitioning design principle functional design analysis and design model top-down strategy system structuring control models modular decomposition bottom- up strategy abstraction design process structural partitioning procedural abstraction control abstraction object oriented and function oriented design
See more