Module 2 - Application Development and Emerging Technologies
Module 2 - Application Development and Emerging Technologies
COURSE OVERVIEW
Course No.
In the previous module we tackled the different emerging technologies, in this module we
will be recalling and discussing some topics from your previous subject (System Integration and
Architecture). Topics included are SLDC, methodologies, models and best practices.
Classroom: https://classroom.google.com/
3B: https://classroom.google.com/u/1/c/NDYyOTYwNzk1MjQ5 code: sc6buqk
3C: https://classroom.google.com/u/1/c/NDYyOTYwNzk1Nzc3 code: 3om2ovr
3E: https://classroom.google.com/u/1/c/NDYyOTY0ODU5NzM3 code: eq4k6ex
3F: https://classroom.google.com/u/1/c/NDYyOTY2NDU2MzQ4 code: b677mqa
3G: https://classroom.google.com/u/1/c/NDYyOTY2NDU2NzUy code: hnxytvy
Instructor’s Contacts
Email: benj.official0989@gmail.com
Mobile: +639307673736
Messenger: Benigno Entera Ambus
Email: jansale@southernleytestateu.edu.ph
Mobile: +639392644910
Messenger: Jude Ymari Paranas Ansale
PRE-TEST
What is SDLC?
What are the application development methodologies?
Phases of software development.
LEARNING PLAN
Introduction
Software Development Life Cycle (SDLC) is a framework that defines the steps involved in
the development of software at each phase. It covers the detailed plan for building, deploying and
maintaining the software. SDLC, or Software Development Life Cycle, is a set of steps used to
create software applications. These steps divide the development process into tasks that can then
be assigned, completed, and measured.
SDLC defines the complete cycle of development i.e. all the tasks involved in planning,
creating, testing, and deploying a Software Product.
What is SDLC?
Software Development
This is the actual writing of the as waiting for test results or compiling code
program. A small project might be written by so an application can run. SDLC can
a single developer, while a large project anticipate these delays so that developers
might be broken up and worked by several can be tasked with other duties.
teams. Use an Access Control or Source Code Software developers appreciate
Management application in this phase. These instructions and explanations.
systems help developers track changes to the Documentation can be a formal process,
code. They also help ensure compatibility including wiring a user guide for the
between different team projects and to make application. It can also be informal, like
sure target goals are being met. comments in the source code that explain
The coding process includes many why a developer used a certain procedure.
other tasks. Many developers need to brush Even companies that strive to create
up on skills or work as a team. Finding and software that’s easy and intuitive benefit
fixing errors and glitches is critical. Tasks from the documentation.
often hold up the development process, such
Testing
It’s critical to test an application processing. The testing phase helps reduce
before making it available to users. Much of the number of bugs and glitches that users
the testing can be automated, like security encounter. This leads to a higher user
testing. Other testing can only be done in a satisfaction and a better usage rate.
specific environment – consider creating a Testing involves in almost every
simulated production environment for phase in the modern SDLC methodologies.
complex deployments. Testing should ensure Once the coding is done, it undergoes testing
that each function works correctly. Different for quality assurance. Testing includes
parts of the application should also be tested various functional testing like system testing,
to work seamlessly together—performance acceptance testing, unit testing, integration
test, to reduce any hangs or lags in testing, and also non-functional testing.
Waterfall
The Waterfall Model was the first SDLC approach that was used for software
Process Model to be introduced. It is also development.
referred to as a linear-sequential life cycle The waterfall Model illustrates the
model. It is very simple to understand and software development process in a linear
use. In a waterfall model, each phase must sequential flow. This means that any phase
be completed before the next phase can in the development process begins only if
begin and there is no overlapping in the the previous phase is complete. In this
phases. The Waterfall model is the earliest waterfall model, the phases do not overlap.
Agile
Agile SDLC model is a combination of Agile model believes that every
iterative and incremental process models project needs to be handled differently and
with focus on process adaptability and the existing methods need to be tailored to
customer satisfaction by rapid delivery of best suit the project requirements. In Agile,
working software product. Agile Methods the tasks are divided to time boxes (small
break the product into small incremental time frames) to deliver specific features for a
builds. These builds are provided in release.
iterations. Each iteration typically lasts from
about one to three weeks.
Iterative
In the Iterative model, iterative requirements. Instead, development begins
process starts with a simple by specifying and implementing just part of
implementation of a small set of the the software, which is then reviewed to
software requirements and iteratively identify further requirements. This process
enhances the evolving versions until the is then repeated, producing a new version
complete system is implemented and ready of the software at the end of each iteration
to be deployed. of the model.
An iterative life cycle model does not
attempt to start with a full specification of
In the Iterative development model, developers create an initial basic version of the software
quickly. Then they review and improve on the application in small steps (or iterations). This
approach is most often used in very large applications. It can get an application up and functional
quickly to meet a business need.
DevOps
V-Model
The V-model is an SDLC model association of a testing phase for each
where execution of processes happens in a corresponding development stage. This
sequential manner in a V-shape. It is also means that for every single phase in the
known as Verification and Validation development cycle, there is a directly
model. associated testing phase. This is a highly-
The V-Model is an extension of the disciplined model and the next phase starts
waterfall model and is based on the only after completion of the previous phase.
V-shaped model is inspired by the Waterfall model, wherein V stands for Validation and
Verification. Each development stage has a parallel testing stage. Testing is done at each
and every stage of development. The development team moves to the next stage only
after the previous stage is completed.
Spiral SDLC
The spiral model combines the idea waterfall model with a very high emphasis
of iterative development with the systematic, on risk analysis. It allows incremental
controlled aspects of the waterfall model. releases of the product or incremental
This Spiral model is a combination of refinement through each iteration around
iterative development process model and the spiral.
sequential linear development model i.e. the
RAD
The RAD (Rapid Application Rapid Application Development
Development) model is based on focuses on gathering customer
prototyping and iterative development with requirements through workshops or focus
no specific planning involved. The process groups, early testing of the prototypes by
of writing the software itself involves the the customer using iterative concept, reuse
planning required for developing the of the existing prototypes (components),
product. continuous integration and rapid delivery.
Big Bang
The Big Bang model is an SDLC very little planning required. Even the
model where we do not follow any specific customer is not sure about what exactly he
process. The development just starts with wants and the requirements are
the required money and efforts as the input, implemented on the fly without much
and the output is the software developed analysis.
which may or may not be as per customer
Usually this model is followed for
requirement. This Big Bang Model does not
small projects where the development
follow a process/procedure and there is a
teams are very small.
Software Prototype
The Software Prototyping refers to model, as it enables to understand customer
building software application prototypes requirements at an early stage of
which displays the functionality of the development. It helps get valuable feedback
product under development, but may not from the customer and helps software
actually hold the exact logic of the original designers and developers understand about
software. what exactly is expected from the product
Software prototyping is becoming under development.
very popular as a software development
Source Control
Source Control is a security plan to encrypted connection to a cloud-based
secure your working code. Implement development environment.
Source Control by keeping the code in a Source Control applications include a
single location, with secure and logged change management system to track work
access. This could be a physical location done by individuals or teams. As with any
where files are stored and accessed in a storage, use a backup system to record
single room in the building. It could also be a development progress in case of a disaster.
virtual space where users can log in with an
Continuous Integration
Continuous Integration evolved out significant challenges at the end when
of a case of what not to do. CI works to make developers stitched the application together.
sure each component is compatible through Continuous Integration ensures all teams use
the whole development cycle. Before CI, similar programming languages and
different teams would build their own libraries, and helps prevent conflicts and
projects independently. This created duplicated work.
Test I
1. In your own opinion, why you should learn software development life cycle?
2. Do you think learning SDLC helps you improve your software development? Why?
3. Which of the model would you prefer to use in software development? Why?
4. Define is the difference between waterfall and agile?
5. How software development life cycle works?
Test II
1. Let see, you have your own IT company and you want your company to be unique. How
would you create your own software development life cycle? Enumarate development
processes and give an explaination to each of the process.
2. Draw a diagram of your own software development life cycle.
TEST
POST
11. Name
REFERENCES
Internet Sources
13. https://www.qat.com/9-emerging-technologies/
14. https://phoenixnap.com/blog/software-development-life-cycle
15. https://www.conceptdraw.com/How-To-Guide/uml-diagram-types-list
16. https://kissflow.com/low-code/rad/types-of-application-development-methodologies/
#:~:text=Application%20development%20is%20the%20process,by%20a%20single
%20freelance%20developer.&text=Application%20development%20is%20closely
%20linked,life%2Dcycle%20(SDLC).