SOFTWARE ENGINEERING
12 marks
What is Software Engineering?
The term software engineering is the product of two words, software and engineering. The software is a
collection of integrated programs.
Engineering is the application of scientific and practical knowledge to invent, design, build, maintain, and
improve frameworks, processes, etc.
“Software Engineering is an engineering branch related to the evolution of software product using well-defined
scientific principles, techniques, and procedures. The result of software Engineering is an effective and reliable
software product.”
Why is Software Engineering required?
Software Engineering is required due to the following reasons:
To manage Large software
For more Scalability
Cost Management
To manage the dynamic nature of software
For better quality Management
Need of Software Engineering:-
The necessity of software engineering appears because of a higher rate of progress in user requirements and
the environment on which the program is working.
Huge Programming: It is simpler to manufacture a wall than to a house or building, similarly, as the
measure of programming become extensive engineering has to step to give it a scientific process.
Adaptability: If the software procedure were not based on scientific and engineering ideas, it would be
simpler to re-create new software than to scale an existing one.
Cost: the cost of programming remains high if the proper process is not adapted.
Dynamic Nature: The continually growing and adapting nature of programming hugely depends upon
the environment in which the client works.
Quality Management: Better procedure of software development provides a better and quality
software product.
SDLC (Software Development Life Cycle): What is it and its Phases .
What is SDLC?
The Software Development Life Cycle is the methodology for building effective and efficient software.
SDLC stands for Software Development Life Cycle and is also referred to as the Application Development life- Cycle. SDLC
is a systematic process for building software that ensures the quality and correctness of the software built.
SDLC Phases
Phase 1: Requirement collection/Planning and analysis
Phase 2: Feasibility study
Phase 3: System Design
Phase 4: System Implementation/Coding
Phase 5: System Testing
Phase 6: System Installation/Deployment
Phase 7: System Maintenance
Phase 1: Requirement collection/Planning and analysis:-
The requirement is the first stage in the SDLC process. Planning for the quality assurance requirements and
recognization of the risks involved is also done at this stage. Requirements Gathering stage need teams to get
detailed and precise requirements.
Phase 2: Feasibility Study:
Once the requirement analysis phase is completed the next SDLC step is to define and document software
needs. This process conducted with the help of ‘Software Requirement Specification’ document also known as
‘SRS’ document. It includes everything which should be designed and developed during the project life cycle.
Phase 3: Design:-
In this phase, the system and software design documents are prepared as per the requirement
specification document. This helps define overall system architecture. This design phase serves as input
for the next phase of the model.
All of this is covered in the design phase of the Software Development Life Cycle.
Phase 4: Coding/Implementation:-
In this phase, developers start build the entire system by writing code using the chosen programming
language. In the coding phase, tasks are divided into units or modules and assigned to the various
developers. It is the longest phase of the Software Development Life Cycle process.
In this phase, Developer needs to follow certain predefined coding guidelines. They also need to use
programming tools like compiler, interpreters, debugger to generate and implement the code.
Phase 5: Testing:-
Once the software is complete, and it is deployed in the testing environment. The testing team starts
testing the functionality of the entire system. This is done to verify that the entire application works
according to the customer requirement.
Phase 6: Installation/Deployment:-
Once the software testing phase is over and no bugs or errors left in the system then the final deployment
process starts. So, after going through the above phases of the Software Development Life Cycle, we now are
ready to install this software and start using it.
Phase 7: Maintenance:-
Once the system is deployed, and customers start using the developed system, following 3 activities occur
Bug fixing
Upgrade
Enhancement
The main focus of this SDLC phase is to ensure that needs continue to be met and that the system
continues to perform as per the specification mentioned in the first phase.
Software Testing:- Testing means software testing. It means finding bug in the developed software or existing
software.
Or
Software testing is a process of identifying the correctness of software by considering its all attributes and
evaluating the execution of software components to find the software bugs or errors or defects. The main intent
of testing is to detect failures of the application so that failures can be discovered and corrected.
Types of Software Testing: -
1) Black box Testing also called Functional Testing:- Black box testing is that testing in which the tester does not
have the knowledge of the coding. In this testing he only checks the functionality of the software that is input
be pass and output the software produce.
Advantages of Black Box Testing:
The tester does not need to have more functional knowledge or programming skills to implement
the Black Box Testing.
It is efficient for implementing the tests in the larger system.
Tests are executed from the user’s or client’s point of view.
2) White Box Testing also called Structural Testing:- In white box testing the tester has knowledge of coding and
internal structure of existing software whether the internal structure is correct or not.
Advantages of White Box Testing:-
a) White box testing is very thorough as the entire code and structures are tested.
b) It results in the optimization of code removing error and helps in removing extra lines of code.
c) Easy to automate.
3) Unit Testing: - Unit Testing is the testing to check the independent and individual unit or module of software .
Objectives of Unit Testing:-
2. To verify the correctness of the code.
3. To test every function and procedure.
4. To fix bugs early in the development cycle and to save costs.
5. To help with code reuse.
4) Integration Testing: - This testing will integrate all the modules one by one and checks the comparability
issues whether one module is comparable with other module or not.
5) System Testing: - In this testing we, put the software in different environment and checks whether the software
is compatible with the new environment or not. Hence the overall system testing will be performed by tester.
Q. Explain Different Software Versions?
Concept of Beta Version:-
Beta versions are early releases of software that are made available to a limited group of users for
testing purposes.
A beta version is usually the last stage of testing before a product is released to the general public. It
also allows users to provide feedback that can help improve the final product.
Concept of Final Version
a) The Release Candidate also known as Gamma Delta describes the almost final version of a software.
This Release Candidate can also be made available to selected customers with appropriate
communication
b) The Release as a final version of a development or as a status that is offered or made available to all
customers. This is also referred to as Golden Master.
The entirety of the functions to be implemented isdefined in release management.
New Unit Start Introduction to Emerging Trends Marks 12
Introduction to Emerging Trends
Computers have been around for quite some time now. New technologies and initiatives emerge with each
passing day. . Some of these new technologies prosper and persist over time, gaining attention from users.
Emerging trends are the state-of-the-art technologies, which gain popularity and set a new trend among users.
Artificial Intelligence (AI)
Artificial Intelligence AI is the ability of a machine or computer system to copy human intelligence
process, learn experiences and adapt to new information, perform human-like activities. Using these
technologies, computers can be trained to accomplish specific tasks by processing large amounts of
data and recognizing patterns in the data.
Have you ever wondered how maps in your smartphone are able to guide you to take the fastest route
to your
destination by analysing real time data, such as traffic congestion? On uploading a photo on a social
networking site, has it ever happened that your friends in the photograph were recognised and tagged
automatically?
These are some of the examples of application of Artificial Intelligence.
The intelligent digital personal assistants like Siri, Google Now, Cortana, Alexa are all powered by AI.
Machine Learning
Machine learning is an application of artificial intelligence (AI) that provides systems the ability to
automatically learn and improve from experience without being explicitly programmed. Machine
learning focuses on the development of computer programs that can access data and use it learn for
themselves.
These algorithms, called models, are first trained and tested using a training data and testing data,
respectively. After successive trainings, once these models are able to give results to an acceptable
level of accuracy, they are used to make predictions about new and unknown data.
Natural Language Processing (NLP)
Natural Language Processing is the technology used to aid computers to understand the human’s
natural language. It’s not an easy task teaching machines to understand how we [Link]
you can say,“Alexa, play this song,” and a device start playing that music.
It deals with the interaction between human and A knowledge base is a store of information consisting
of facts, assumptions and rules which an AI system can use for decision making.
Q. What is Big Data?
With technology making an in road into almost every sphere of our lives, data is being produced at a colossal
rate. Today, there are over a billion Internet users, and a majority of the world’s web traffic is coming from
smartphones.
Big data not only represents voluminous data, it also involves various challenges like integration,
storage, analysis, searching, processing, transfer, querying and visualisation of such data. Big data
sometimes hold rich information and knowledge which is of high business value, and therefore there is
a keen effort in developing software and methods to process and analyse big data.
Charactersistics of Big Data :- also called 5 Vs of Big Data:-
or
Short Notes of Characteristics of Big Data :- also called 5 Vs of Big Data :-
1) Volume:- Store Data In Petabyte , ExaByte ,yottobyte.
2) Variety :- Mostly Unstructured
3) Velocity :- Increases Exponentially
4) Value:- Globally Present, Distributed
5) Veracity:- MultiNode Cluster examples Handoop and Spark
Q. Explain Internet of Things ( IoT )?
The term computer network that we commonly use is the network of computers. Such a network consists of a
laptop, desktop, server, or a portable device like tablet, smartphone, smartwatch, etc., connected through
wire or wireless. We can communicate between these devices using Internet or LAN.
The ‘Internet of Things’ is a network of devices that have an embedded hardware and software to
communicate (connect and exchange data) with other devices on the same network
as shown in Figure.
For example, a microwave oven, an air conditioner, door lock, CCTV camera or other such devices are
enabled to connect to the Internet, we can access and remotely control them on-the-go using our
smartphone.
Q. What is Cloud Computing?
Cloud computing is an emerging trend in the field of information technology, where computer-based
services are delivered over the Internet or the cloud, for the case of their accessibility form any where
using any smart device. The services comprise software, hardware (servers), databases, storage, etc.
These resources are provided by companies called cloud service providers and usually charge on pay
per use basis, like the way we pay for electricity usage.
We already use cloud services while storing our pictures and files as backup on Internet, or host a
website on the Internet. Through cloud computing, a user can run a bigger application or process a
large amount of data without having the required storage or processing power on their personal
computer as long as they are connected to the Internet.
Q. Explain Cloud Services?
There are three standard models to categorise different computing services delivered through cloud as shown
in Figure. These are Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service
(SaaS).
(A) Infrastructure as a Service (IaaS)
The IaaS providers can offer different kinds of computing infrastructure, such as servers, virtual
machines (VM), storage and backup facility, network components, operating systems or any other
hardware or software. Using IaaS from the cloud, a user can use the hardware infrastructure located at
a remote location to configure, deploy and execute any software application on that cloud
infrastructure.
(B) Platform as a Service (PaaS)
Through this service, a user can install and execute an application without worrying about the underlying infrastructure
and their setup. That is, PaaS provides a platform or environment to develop, test, and deliver software applications..
c) Software as a Service (SaaS)
SaaS provides on-demand access to application software, usually requiring a licensing or subscription
by the user. While using Google doc, Microsoft Office 365, Drop Box, etc., to edit a document online,
we use SaaS from cloud. A user is not concerned about installation or configuration of the software
application as long as the required software is accessible.
Q. Introduction to Cybercrime.
Cybercrime or a computer-oriented crime is a crime that includes a computer and a network. The computer
may have been used in the execution of a crime or it may be the target. Cybercrime is the use of a computer as
a weapon for committing crimes such as committing fraud, identity theft, or breaching privacy.
Or
Any Crime that involves a computer and a network is called computer crime or Cyber Crime.
Q. What are different types of Cybercrime?
Different Types Of Cybercrime are as:-
1) Salami Attack:- Attack Which is carried out for a financial gains . In Salami Attack the key is to notice
changes so small that in a single case it can go unnoticed.
2) Hacking:-
Criminal hacking is the act of gaining unauthorized access to data in a computer or network. Exploiting
weaknesses in these systems, hackers steal data ranging from personal information and corporate secrets to
government intelligence. Hackers also infiltrate networks to disrupt operations of companies and
governments.
3) Malware
Malware, or malicious software, refers to any code designed to interfere with a computer's normal functioning
or commit a cyber crime. Common types of malware include viruses, worms, trojans, and various hybrid
programs as well as adware, spyware, and ransomware.
4) Identity Theft
It is used when a person purports to be some other person
5) Spam and Phishing:- Spam is basically Unwanted emails & Messages. Phishing is a method where cyber
criminals offer a bait so that you take it and give out the information they want.
6) Social Engineering:-
Social engineering is the psychological manipulation of people into performing actions or divulging confidential
information. Cyber criminals use social engineering to commit fraud online. Platforms such as online dating
sites provide opportunities to initiate conversations with potential victims. Once the criminal establishes a
relationship with the target and gains their trust, the criminal asks for money or information.
Q. Combatting & Preventing Cybercrime
Or
Q. Explain The IT Act, 2000?
The Information Technology Act, 2000 also Known as an IT Act is an act proposed by the Indian Parliament
reported on 17th October 2000. It is the most important law in India dealing with Cybercrime and E-Commerce.
The main objective of this act is to carry lawful and trustworthy electronic, digital and online transactions and
alleviate or reduce cybercrimes. The IT Act has 13 chapters and 90 sections. The last four sections that starts
from ‘section 91 – section 94’, deals with the revisions to the Indian Penal Code 1860.
Q. Explain The IT Act, 2000 has two schedules:
First Schedule
Second Schedule –
Explain The negative effects of technology on health
1) Sleep disorders
2) Digital eye strain
3) Physical inactivity
When we’re using technology like computers, video games or TVs, we generally aren’t exercising.
That’s why there’s an increasing body of research linking the overuse of digital devices to decreasing
exercise and fitness levels.
4) Mental Health
. Social media addiction is linked to a rise in mental health disorders like depression suicidal ideation,
particularly in teenagers.
Q. Explain The Positive Impact of Technology on Health?
1) Decreasing the risk of injury
2) Increased social connection with online support groups
3) Virtual coaching such as fitness tutorials
4) Personal fitness trackers and alarms
Another advantage of technology is that it helps us monitor our health and wellness, such as weight,
sleep patterns, and physical activity. In fact, there are now several wearable devices designed to help
track certain aspects of our health, including fitness trackers and safety alarms.