Software Engineering 2 Flashcards
is a well-defined, structured sequence of stages in software engineering to develop the intended software product.
Software Development Life Cycle, SDLC for short
SDLC Steps
- Communication
- Requirement Gathering
- Feasilibility study
- System Analysis
- Software design
- Coding
- Testing
- Integration
- Implementation
- Operations and Maintenance
- Disposition
This is the first step where the user initiates the request for a desired software product. The user contacts the service provider and tries to negotiate the terms, submits the request to the service providing organization in writing.
Communication
- This step onwards the software development team works to carry on the project.
- The team holds discussions with various stakeholders from problem domain and tries to bring out as much information as possible on their requirements.
- The requirements are contemplated and segregated into user requirements, system requirements and functional requirements
Requirement Gathering
The requirements are collected using a number of practices as given
- studying the existing or obsolete
- system and software,
- conducting interviews of users and developers,
- referring to the database or
- collecting answers from the questionnaires.
- At this step the developers decide a roadmap of their plan and try to bring up the best software model suitable for the project.
- System analysis includes understanding of software product limitations, learning system related problems or changes to be done in existing systems beforehand, identifying and addressing the impact of project on organization and personnel etc.
- The project team analyzes the scope of the project and plans the schedule and resources accordingly
System Analysis
Next step is to bring down whole knowledge of requirements and analysis on the desk and design the software product. The inputs from users and information gathered in requirement gathering phase are the inputs of this step
Software Design
The output of Software Design comes in the form of two designs
logical design, and physical design
- This step is also known as programming phase.
- The implementation of software design starts in terms of writing program code in the suitable programming language and developing error-free executable programs efficiently
coding
- An estimate says that 50% of whole software development process should be tested.
- Errors may ruin the software from critical level to its own removal.
- Software testing is done while coding by the developers and thorough testing is conducted by testing experts at various levels of code such as module testing, program testing, product testing, in-house testing, and testing the product at user’s end.
- Early discovery of errors and their remedy is the key to reliable software.
Testing
This means installing the software on user machines. At times, software needs post-installation configurations at user end. Software is tested for portability and adaptability and integration related issues are solved during implementation
Implementation
Software may need to be integrated with the libraries, databases, and other program(s). This stage of SDLC is involved in the integration of software without world entities
Integration
This phase confirms the software operation in terms of more efficiency and less errors. If required, the users are trained on, or aided with the documentation on how to operate the software and how to keep the software operational.
Operation and Maintenance
helps a developer to select a strategy to develop the software. A software development paradigm has its own set of tools, methods, and procedures, which are expressed clearly and defines software development life cycle
software development paradigm
is the simplest model of software development paradigm. All the phases of SDLC will function one after another in linear manner. That is, when the first phase is finished then only the second phase will start and so on
Waterfall model