Architects use case diagram an effective method for capturing and using architecturally significant requirements in software development