Professional Documents
Culture Documents
Characteristics:
intended purpose. It basically means are the required functions. The sub character of
Suitability,
Accuracy,
Interoperability,
Compliance, and
Security.
Reliability: A set of attribute that Bear on the capability of software to maintain its
Recoverability,
Maturity.
Efficiency: It refers to the ability of the software to use System Resources in the
most effective and Efficient Manner. The software should make effective use of
storage space and executive commands as per desired timing requirement. Efficiency
covers:
In time, and
In resources.
Usability: It refers to the extent to which the software can be used with ease. Or
the amount of effort or time required to learn how to use the software should be
less.
It covers:
Understandability,
Learnability, and
Operability.
Testability,
Stability,
Changeability, and
Analyzability.
Portability covers:
Adaptability,
Replace ability.
Robustness: It refers to the degree to which the software can keep on functioning
Integrity: It refers to the degree to which Unauthorized Access to the software data
can be prevented.
Recent trends of software
Chasing trends isn’t always a bad thing. Sure, those JNCO jeans from the ’90s might look a little
out of place today, but a trend isn’t always just a fad.
For software developers, trends tend to indicate where the industry is headed. New
technologies, development methods and customer preferences can be key indicators regarding
where you should focus your development skills. Staying on top of new technology trends is a
great way to future-proof your software development skills, ensuring your abilities don’t age as
poorly as a Korn CD.
Block chain is one of the latest developments in technology, and software developers are
finding new and interesting ways to implement it. Block chain-based apps known as d Apps,
short for distributed apps, are emerging as a popular option for developers looking to create
decentralized and secure open-source solutions.
Trend 4: IoT
The internet of things (IoT) has finally begun to emerge all around us. From Bluetooth trackers
to smart microwaves, internet-connected devices are no longer relegated to computers and cell
phones. As technologies like 5G begin to roll out, more devices can take advantage of better
wireless bandwidth and power efficiency, bringing to life new and exciting possibilities for the
future of IoT.
That’s because always-on, always-communicating IoT devices are making it easier for
technology to track and monitor the world around us. For IoT software developers, the ability
to write code for small energy-efficient internet-connected devices will remain a powerful skill
for the foreseeable future.
Trend 5: Continuous Delivery and Deployment
Software development cycles of the past were often lengthy, tedious processes. New features
or functions often were packaged together into one release, which meant users had to wait
until a new update was coded, tested and made available to download. Whether software
contained major improvements or minor bug fixes, this development process left much to be
desired. It also made it easier for competitors to beat companies to the punch with their own
solutions as development lagged.
Continuous delivery and continuous deployment have emerged as two of the most popular
trends in modern software development. Both approaches produce software in shorter cycles
of feature development, bug fixing and experimentation, with an aim to release software as
quickly as possible. With continuous delivery, apps are pushed into production for manual
download, whereas continuous deployment updates software through automated deployment.
But the popularity of both approaches is clear: Rather than waiting to put new features in the
hands of users, software development teams can work continuously to push out fixes and
functionality as soon as something is ready to go.
The emergence of progressive web apps finds the sweet spot between performance and
availability by offering app-like experiences in the browser. Progressive web apps package new
web technologies into a solution that makes it easy to create powerful web-based tools that
can run on any platform. Major companies like Google and Adobe are already committed to
developing progressive apps as they herald a new era of web development technologies.