This paper presents a revised mathematical model based on Zahedi's work to help software managers allocate software reliability to each module of a software by utilizing the AHP method at planning and design stage in order to maximize user's utility. The empirical factors such as structure complexity, frequency of program specification change, and program categories are considered when constructing the revised model. We also apply fuzzy mathematical programming approach to this reliability allocation model to provide the decision maker a possibility to improve the objective value when the constraints are allowed to be relaxed to some predetermined degree.