Software Development: Objective, Phases, and Quality Factors, Summaries of Object Oriented Analysis and Design

An introduction to software development using an object-oriented approach. It covers the benefits of using the Software Development Life Cycle (SDLC) model, the phases of SDLC, and the importance of feasibility studies and requirement gathering and analysis. The document also discusses Boehm's first law and software quality factors. ideal for university students studying computer science or software engineering, and can be used as lecture notes, summaries, or study materials for exams and assignments.

Typology: Summaries

2017/2018

Uploaded on 10/12/2021

Ridge77
Ridge77 ๐Ÿ‡ฐ๐Ÿ‡ช

2 documents

1 / 24

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
SOFTWARE DEVELOPMENT
INTRODUCTION
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Partial preview of the text

Download Software Development: Objective, Phases, and Quality Factors and more Summaries Object Oriented Analysis and Design in PDF only on Docsity!

SOFTWARE DEVELOPMENT

INTRODUCTION

OBJECTIVE

๏ƒ’ Software Development Using object oriented approach ๏ƒ’ Software development approaches ๏ƒ‰ Structured approach ๏ƒ‰ Object oriented approach

BENEFITS OF SDLC

๏ƒ’ It offers a basis for project planning, scheduling, and estimating ๏ƒ’ Provides a framework for a standard set of activities and deliverables ๏ƒ’ It is a mechanism for project tracking and control ๏ƒ’ Increases visibility of project planning to all involved stakeholders of the development process ๏ƒ’ Increased and enhance development speed ๏ƒ’ Improved client relations ๏ƒ’ Helps you to decrease project risk and project management plan overhead

SDLC PHASES

๏ƒ’ Planning ๏ƒ‰ Problem definition ๏ƒ‰ Preliminary Investigation/Feasibility study ๏ƒ’ Requirement gathering and analysis ๏ƒ’ Design ๏ƒ’ Implementation ๏ƒ‰ coding ๏ƒ‰ Testing ๏ƒ‰ User Training ๏ƒ‰ Documentation ๏ƒ‰ Deployment ๏ƒ’ Maintenance

PLANNING ACTIVITIES

๏ƒ’ Identify the problem โ€“ Reasons behind need for automation ๏ƒ’ Preliminary investigation โ€“ gather facts about the System/organization. Fact finding techniques โ€“ Interviewing, Questionnaires, Observation, Document reading/analysis, Research ๏ƒ’ Feasibility study

FEASIBILITY STUDY

๏ƒ’ This is a research conducted to assess the viability of the project. ๏ƒ’ The objective of the feasibility study ๏ƒ‰ is to establish the reasons for developing the software ๏ƒ‰ To analyze whether the software will meet organizational requirements. ๏ƒ‰ To determine whether the software can be implemented using the current technology and within the specified budget and schedule.

TYPES OF FEASIBLITY

๏ƒ’ Social โ€“ Impact of the software on employees lives ๏ƒ’ Environmental

REQUIREMENT GATHERING AND ANALYSIS

๏ƒ’ 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. ๏ƒ’ 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 involves the following main activities โ– Architectural design: This defines the relationship of the major structural components of the system. It involves identifying the different components and how they are related with one another. โ– Data Structure design : This transform the information domain model created during analysis into data structure that would be required to implement the software โ€“ the data structure refers to the form that data takes and the manner in which this data is stored and access. โ– Procedural design :This transforms the structural component design into procedural description of the software. They can be shown using pseudo code, flow chart , decision tables in the structural development paradigms etc.

โ– Component design : This tries to allocate services in a different components of the system

  • involve the design of individual modules. Procedural design may be part of component design. โ– Interface design :Users and module communicate with each other therefore, this requires interface design to show the messages will be handled between the different components โ€“ Human computer interaction is an element of interface design. Generally interface design include, dialogue design, form design, report design etc.

IMPLEMENTATION

๏ƒ’ 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

๏ƒ’ 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

PRODUCT OPERATION

It includes five software quality factors, which are related with the requirements that directly affect the operation of the software such as operational performance, convenience, ease of usage and its correctness. These factors help in providing a better user experience. โ– Correctness โ€“ The extent to which a software meets its requirements specification.

โ–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.