Unit II SoftwareDevelopment (Ecse)
Unit II SoftwareDevelopment (Ecse)
• A set of computer science activities that are dedicated to the process of creating, designing,
deploying, and supporting software.
• Software itself is the set of instructions or programs that tell a computer what to do.
• It is independent of hardware and makes computers programmable.
• There are four basic types of software:
1. System software
2. Application software
3. Programming Software
4. Embedded Software
SDLC Cycle:
SDLC Cycle represents the process of developing software. It defines the steps involved in creating the s\w.
SDLC framework includes the following steps:
Requirements Gathering
Analysis
Design
Coding
Testing
3. Scripting languages:
• Programmers use scripting languages to automate repetitive tasks, manage dynamic web content, or support
processes in larger applications.
• Some common scripting languages include: PHP, Ruby, Python, bash, Perl, Node.js
4. Functional programming languages
• Functional languages focus on the output of mathematical functions and evaluations.
• Each function–a reusable module of code–performs a specific task and returns a result.
• The result will vary depending on what data you input into the function.
• Some popular functional programming languages include: Scala, Erlang, Haskell, Elixir, F#
Based on the structure and arrangement of data, these data structures are further divided into two categories:
Linear Data Structures: The data in this data structure is arranged in a sequence, one after the other i.e. each
element appears to be connected linearly.
Based on the memory allocation, the Linear Data Structures are again classified into two types:
Static Data Structures: They have a fixed size. The memory is allocated at the compile time, and its size cannot be
changed by the user after being compiled; however, the data can be modified. e.g. array
Dynamic Data Structures: They don’t have fixed size. Memory is allocated at runtime.
Example: linked lists ,stack, queue.
Non-linear Data Structure:
• The data in this data structure are not arranged in a sequence.
• They form a hierarchy i.e. the data elements have multiple ways to connect to other elements.
• e.g. tree and graph
Types of linear data structures:
1.Array
An array is a linear data structure that collects elements of the same data type
Stores them in contiguous and adjacent memory locations.
Work on an index system starting from 0 to (n-1), where n is the size of the array.
Linked list:
A linked list is a linear data structure where elements are not stored at contiguous location.
Instead the elements are linked using pointers.
In a linked list data is stored in nodes and each node is linked to the next and, optionally, to the
previous.
Stack:
A stack is a linear Data Structure in which a data item is inserted and deleted at one end.
A stack is called LIFO (Last In First Out) structure because the data item that is inserted last into the
stack is the first data item to be deleted from the stack.
Queue:
Simple Queue is a linear data structure that follows the First-In-First-Out (FIFO) principle, where
elements are added to the rear (back) and removed from the front (head).
Types of Non-linear Data Structure:
1.Graphs
Graph is a non-linear data structure consisting of vertices and edges.
The vertices are sometimes also referred to as nodes and the edges are lines or arcs that connect
any two nodes in the graph.
Therefore, Graph is composed of a set of vertices( V ) and a set of edges( E ). The graph is denoted
by G(V, E).
2. Trees
• The tree is a non-linear data structure that is comprised of various nodes. The nodes in the tree
data structure are arranged in hierarchical order.
• It consists of a root node corresponding to its various child nodes, present at the next level. The
tree grows on a level basis, and root nodes have limited child nodes depending on the order of
the tree.