Download Software Development: Objective, Phases, and Quality Factors and more Summaries Object Oriented Analysis and Design in PDF only on Docsity! INTRODUCTION SOFTWARE DEVELOPMENT OBJECTIVE Software Development Using object oriented approach Software development approaches Structured approach Object oriented approach SDLC PHASES Planning Problem definition Preliminary Investigation/Feasibility study Requirement gathering and analysis Design Implementation coding Testing User Training Documentation Deployment Maintenance PLANNING ACTIVITIES x Identify the problem — Reasons behind need for automation x Preliminary investigation — gather facts about the System/organization. Fact finding techniques — Interviewing, Questionnaires, Observation, Document reading/analysis, Research » Feasibility study TYPES OF FEASIBLITY Social — Impact of the software on employees lives Environmental REQUIREMENT GATHERING AND ANALYSIS x During this phase, all the relevant information is collected from the customer to develop a product as per their expectation. Any ambiguities must be resolved in this phase only. x The purpose of the Requirements Analysis Phase is to transform the needs and high-level requirements specified in earlier phases into unambiguous (measurable and testable), traceable, complete, consistent, and stakeholder- approved requirements SYSTEM DESIGN In this phase, the requirement gathered in the SRS document is used as an input and software architecture that is used for implementing system development is derived. BOEHM’S FIRST LAW Errors are most frequent during requirements and design activities and are more expensive the later they are removed. IMPLEMENTATION x The process of putting the system in place. System implementation activities include + Coding — Writing Programs + Testing — verify and validate the software + Software changeover strategy — Direct, parallel, Phased, Pilot + User Training + Software Documentation + Deployment MAINTENANCE x The Maintenance Phase occurs once the system is operational. It includes implementation of changes that software might undergo. Types of maintenance + Corrective maintenance + Perfective maintenance + Adaptive maintenance + Preventive maintenance “*Efficiency - The amount of hardware resources and code the software, needs to perform a function. “*Integrity - The extent to which the software can control an unauthorized person from the accessing the data or software. **Reliability - The extent to which a software performs its intended functions without failure. **Usability - The extent of effort required to learn, operate and understand the functions of the software. PRODUCT REVISION ; It includes three software quality factors, which are required for testing and maintenance of the software. They provide ease of maintenance, flexibility and testing effort to support the software to be functional according to the needs and requirements of the user in the future. “*Maintainability - The effort required to detect and correct an error during maintenance phase. **Flexibility - The effort needed to improve an operational software program. **Testability - The effort required to verify a software to ensure that it meets the specified requirements.