ABSTRACT

Quality attributes include attributes related to system performance, availability, security, reliability, modifiability, testability, and usability. The purpose of a software quality attribute scenario is to provide a way of identifying and documenting the quality attribute in an unambiguous and quantifiable manner. The basic goal of the software requirements process is to collect, analyze, specify, and validate what the software is to do, without describing how the software will implement the requirements. If a project is using an incremental process, it might repeat requirements activities for each increment. In fact, even with a waterfall-type approach, it is not uncommon for a development team to have to repeatedly return to the requirements process in a later phase of development – in design, construction, or testing. Eliciting software requirements is an essential part of determining “what” the software is supposed to do, in addition to determining any development constraints or other non-functional requirements.