Professional Documents
Culture Documents
Nature of Software
Layered Technology in Software
Engineering
Difference between System Engineer and Software Engineer
1. System Engineer :
A System Engineer is a person who deals with the overall management of engineering projects during
their life cycle . They follows an interdisciplinary approach governing the total technical and managerial
effort required to transform requirements into solutions.
Stakeholder Analysis
Interface Specification
Design Tradeoffs
Configuration Management
Systematic Verification and Validation
Requirements Engineering
2. Software Engineer:
A Software Engineer is a person who deals with the designing and developing good quality of software
applications/software products. They follows a systematic and disciplined approach for software design,
development, deployment and maintenance of software applications.
Incremental Model
Incremental Model is a process of software development where requirements divided into
multiple standalone modules of the software development cycle. In this model, each module
goes through the requirements, design, implementation and testing phases. Every
subsequent release of the module adds function to the previous release. The process
continues until the complete system achieved.
The various phases of incremental model are as follows:
1. Requirement analysis: In the first phase of the incremental model, the product analysis
expertise identifies the requirements. And the system functional requirements are understood by
the requirement analysis team. To develop the software under the incremental model, this phase
performs a crucial role.
2. Design & Development: In this phase of the Incremental model of SDLC, the design of the
system functionality and the development method are finished with success. When software
develops new practicality, the incremental model uses style and development phase.
3. Testing: In the incremental model, the testing phase checks the performance of each existing
function as well as additional functionality. In the testing phase, the various methods are used to
test the behavior of each task.
4. Implementation: It involves the final coding that design in the designing and
development phase and tests the functionality in the testing phase. After completion of this
phase, the number of the product working is enhanced and upgraded up to the final system
product.
Major changes
Minor changes
Major Changes
When the customer request for the major changes in the requirements for the particular module,
then we change only that module and perform testing for both integration and unit. And for this, we
always prefer one new cycle because it may affect the existing modules. Major changes could be the
functionality of the software.
Minor changes
Whenever the client request for the minor changes in the particular application, then the software
team makes the smaller changes along with the new module has to be developed simultaneously in a
single cycle. And we never go for any new cycle or iteration because a minor variation does not affect
the existing functionality, and it also takes the extra resource and time. The minor changes could be UI
Agile Model
The meaning of Agile is swift or versatile."Agile process model" refers to a software development
approach based on iterative development. Agile methods break tasks into smaller iterations, or parts
do not directly involve long term planning. The project scope and requirements are laid down at the
beginning of the development process. Plans regarding the number of iterations, the duration and the
scope of each iteration are clearly defined in advance.
This type of methodology is used when customers are constantly changing demands or
requirements, or when they are not sure about the system's performance.
Crystal:
There are three concepts of this method-
Chartering: Multi activities are involved in this phase such as making a development team,
performing feasibility analysis, developing plans, etc.
Cyclic delivery: under this, two more cycles consist, these are:
Team updates the release plan.
Integrated product delivers to the users.
Wrap up: According to the user environment, this phase performs deployment, post-
deployment.
Dynamic Software Development Method(DSDM):
DSDM is a rapid application development strategy for software development and gives an agile project
distribution structure. The essential features of DSDM are that users must be actively connected, and teams
have been given the right to make decisions. The techniques used in DSDM are:
Time Boxing
MoSCoW Rules
Prototyping
Eliminating Waste
Amplifying learning
Defer commitment (deciding as late as possible)
Early delivery
Empowering the team
Building Integrity
Optimize the whole
When to use the Agile Model?
When frequent changes are required.
When a highly qualified and experienced team is available.
When a customer is ready to have a meeting with a software team all the time.
When project size is small.