0% found this document useful (0 votes)
8 views

S8-C Programming - MSS

The document outlines key concepts in software development and C programming, including project management importance, risk management, and software quality assurance. It also covers programming fundamentals such as loops, arrays, pointers, file operations, and the differences between system and application software. Additionally, it discusses software development methodologies like Agile and the significance of modular programming.

Uploaded by

anamikamkammu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

S8-C Programming - MSS

The document outlines key concepts in software development and C programming, including project management importance, risk management, and software quality assurance. It also covers programming fundamentals such as loops, arrays, pointers, file operations, and the differences between system and application software. Additionally, it discusses software development methodologies like Agile and the significance of modular programming.

Uploaded by

anamikamkammu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

MSS

Q1.Why is project management important in software development?

A: Projects must be managed to meet budget and schedule constraints. A


project manager ensures high-quality software delivery within these limits.

Q2.What are the fundamental activities in project management?

A: They include project planning, risk management, people management,


reporting, and proposal writing.

Q3.What is risk management in software projects?

A: Risk management involvesidentifying, analyzing, planning, and


monitoring risks to avoid project failures.

Q4.What are the key factors influencing project management?

A: Company size, software customers, software size, software type, and


organizational culture affect management approaches.

Q5.What is version control in software configuration management?

A: Version control tracks software changes, preventing conflicts and


ensuring smooth updates.

Q6. What are Garvin’s Quality Dimensions in software quality?

A: Garvin’s eight dimensions of software quality are Performance,


Features, Reliability, Conformance, Durability, Serviceability, Aesthetics,
and Perception. These help evaluate how well a software product meets
user expectations and technical standards.

Q7. What is the difference between IaaS, PaaS, and SaaS in cloud
computing?
A:IaaS (Infrastructure as a Service): Provides virtualized hardware like
servers, storage, and networking. (Example: AWS EC2)

PaaS (Platform as a Service): Offers a development platform with tools and


frameworks. (Example: Google App Engine)

SaaS (Software as a Service): Delivers software applications over the


internet. (Example: Gmail, Dropbox)

Q8. What are microservices, and how are they different from monolithic
architecture?

A:Microservices: A software architecture where applications are built as


small, independent services that communicate via APIs.

Monolithic Architecture: A single large application where all functionalities


are tightly coupled.

Difference: Microservices offer scalability, flexibility, and easier


maintenance, while monolithic systems are harder to scale and update.

Q9. What is the role of Software Quality Assurance (SQA) in software


development?

A: SQA ensures that software meets quality standards by using reviews,


audits, testing, defect analysis, and process improvements to prevent
errors and maintain reliability.

Q10. What are the benefits of using Docker and containers in cloud
computing?

A: Docker and containers provide:

Portability (Run anywhere)

Fast deployment (Less overhead than VMs)

Efficient resource usage (Lightweight)

Scalability (Easily scale applications in cloud environments)

Q11.What are functional and non-functional requirements?

A: Functional requirements describe the services a system should provide,


how it should react to inputs, and its behavior in specific situations.
Non-functional requirements define constraints on system services, such
as performance, reliability, and storage requirements.

Q12.What is refactoring in software design?

A: Refactoring is the process of improving the internal structure of code or


design without changing its external behavior.

Q13.What is the purpose of a traceability matrix?

A: It tracks the relationship between requirements and other work


products, ensuring all requirements are addressed

•Ensures all requirements are implemented and tested.

•Identifies how changes in requirements affect related components.

Q14.What is requirements elicitation?

A: It is the process of gathering , understanding & defining requirements


from stakeholders through interviews, surveys, and observations.

Ensures the software meets user needs.

Q15.What is regression testing, and why is it important?

A: Regression testing is a type of software testing that ensures new code


changes do not negatively impact the existing functionality of the
software.

Why is it important?

•Prevents Bugs from Reappearing

•Maintains Software Stability

•Essential for Agile Development

•Improves Software Quality

Q16. What is UML? Name some UML diagrams.

A: Unified Modeling Language is a visual language used for modeling the


structure and behavior of software system.
class diagram, use case diagram, sequence diagram, Activity diagram,
state diagramme.

Q17. what are design patterns? Name the types

A: Desigh patterns are reusable solutions to common software design


problems.

Creational-singleton,Factory.

Structural-Adapter,composition

Behavioral-observer,strategy.

Q18. what is open-source software?

A: Software with source code that anyone can inspect, modify, and
distribute.

Q19.what are the differences b/w GPL, LGPL & BSD licenses.

A: GPL (General Public License) : Requires derived work to be open source.

LGPL (Lessen GPL): Allows linking to Proprietary software

BSD(Benkelery software Distribution): Permissive license with fewer


restrictions.

Q20.what is the difference b/w white box & black-box testing?

A: Whitebox testing-Tests internal code, logic & paths

Blackbox testing-Tests slim functionality without knowledge of internal


code.

Q21. What is the main goal of professional software development?

A: The main goal of professional software development is to develop high-


quality software that meets the customer's requirements, is delivered on
time, within budget, and is maintainable and reliable.

Q22. Name any two software process models and briefly describe them.
A: Waterfall Model: This is a linear and sequential model where each
phase (requirement, design, implementation, testing, deployment,
maintenance) is completed before moving to the next phase.

Incremental Model: In this model, the software is developed in small,


incremental parts, where each part is tested and delivered to the client.
New features are added with each increment.

Q23. What is the purpose of software validation in the development


process?

A: Software validation ensures that the developed software meets the


customer's requirements and expectations. It helps in identifying and
fixing defects to ensure the software functions correctly and is error-free.

Q24. What does the Agile Manifesto emphasize in software development?

A: The Agile Manifesto emphasizes:

1. Individuals and interactions over processes and tools.

2. Working software over comprehensive documentation.

3. Customer collaboration over contract negotiation.

4. Responding to change over following a plan.

Q25. Why is the Boehm's Spiral Model considered a risk-driven approach?

A: The Boehm's Spiral Model is considered a risk-driven approach because


it focuses on identifying and minimizing risks in software development at
each phase. It combines iterative development with risk management,
allowing teams to make informed decisions and reduce project failure
chances.
C PROGRAMMING

Q1.Explain the difference between while loop and do-while loop.

A: In a while loop, the condition is checked before executing the loop body.
If the condition is false, the loop does not execute.
In a do-while loop, the loop body is executed at least once because the
condition is checked after execution.

Q2.How does the sizeof operator work, and when would you use it?

A: The sizeof operator returns the size (in bytes) of a data type or variable.
It is used to determine memory requirements.

Q3.What is the role of the break and continue statements in loop control?

A: break: Exits the loop immediately, regardless of the loop condition.

Eg:

for (int i = 0; i< 5; i++) {

if (i == 3) break;

printf("%d ", i);

// Output: 0 1 2

continue: Skips the remaining code in the current iteration and moves to
the next iteration.

Eg:

for (int i = 0; i< 5; i++) {

if (i == 3) continue;

printf("%d ", i);

// Output: 0 1 2 4
Q4.What is an identifier, and what are the rules for naming it?

A: An identifier is the name used to identify variables, functions, arrays, or


other user-defined elements in a program.

Rules:

•Must start with a letter or underscore (_).

•Cannot contain special characters or spaces.

•Must not be a reserved keyword.

Q5.What are tokens in C, and what are the types of tokens?

A: Tokens are the smallest units in a C program.

Types of tokens include:

•Keywords (e.g., int, return)

•Identifiers (e.g., variable names)

•Constants (e.g., 10, 'A')

•Operators (e.g., +, -, ==)

•Special symbols (e.g., {, }, ;)

•Strings (e.g., "Hello").

Q6: What is an array?

A: An array is a collection of elements of the same data type stored in


contiguous memory locations. It allows efficient indexing and iteration.

Q7: How do you declare and initialize a one-dimensional array?

A:Declaration:

int arr[5];

Initialization:

int arr[5] = {1, 2, 3, 4, 5};

int arr[] = {10, 20, 30};


Q8: How do you declare a two-dimensional array?

A:int matrix[3][3];

Q9: What is the difference between one-dimensional and two-dimensional


arrays?

A:A 1D array is a linear structure storing elements in a single row.

A 2D array is a table-like structure storing elements in rows and columns.

Q10: What happens if you access an index out of the array's bounds?

A:Accessing an invalid index leads to undefined behavior, which may


cause error.

Q11. What is a pointer in C?

A: •A pointer is a variable that stores the memory address of another


variable

•declaration in c:

data_type *pointer_name;

Example: int *ptr

Q12. What is the difference between pass by value and pass by reference
in C?

A:-Pass by Value: •A copy of the actual value is passed to the function.


Changes made to the parameter inside the function do not affect the
original value.

•Additional memory is required to store the copy of the variable.

•example

#include <stdio.h>

void changeValue(int x) {

x = 10; // Modifying the copy

int main() {
int a = 5;

changeValue(a);

printf("Value of a: %d\n", a); // Output: 5

return 0;

-Pass by Reference: •A reference (address) of the actual variable is passed


to the function. Changes made inside the function affect the original
variable.

•Memory is not duplicated as only the address is passed.

•example:

#include <stdio.h>

void changeValue(int *x) {

*x = 10; // Modifying the original variable

int main() {

int a = 5;

changeValue(&a);

printf("Value of a: %d\n", a); // Output: 10

return 0;

Q13. What is a file in C programming?What are its types?

A:A file is a collection of data stored on a storage device, such as a hard


disk. In C, files are used to store information that can be retrieved,
modified, or used later.

•Types:

a)Text Files: Data is stored in human-readable format (e.g., .txt).

b)Binary Files: Data is stored in binary format, which is not human-


readable but is more compact.

Q14. What are the basic file operations in C?


A:a.Create a file

b.Open a file

c.Read data from a file

d.Write data to a file

e.Close a file

Q15. What are the different modes for opening a file?

A:

"r": Open for reading. File must exist.

"w": Open for writing. Creates a new file or truncates an existing file.

"a": Open for appending. Data is added to the end of the file.

"r+": Open for both reading and writing. File must exist.

"w+": Open for reading and writing. Creates a new file or truncates an
existing file.

"a+": Open for reading and appending.

Q16. What is the role of a processor in a computer system?

A: The processor, also known as the Central Processing Unit (CPU), is


responsible for executing instructions and processing data in a computer
system. It performs arithmetic and logical operations and controls other
hardware components.

Q17. Differentiate between System Software and Application Software.

A:

 System Software: It is the software that directly interacts with the


hardware and manages the computer's basic functions. Example:
Operating System, Compiler, Interpreter.

 Application Software: It is the software that is designed to perform


specific tasks for users. Example: MS Word, Google Chrome, Adobe
Photoshop.

Q18. What is the difference between a Compiler and an Interpreter?


A:

 Compiler: It translates the entire code of a high-level programming


language into machine code at once and shows all errors after
compilation. Example: C, C++ Compiler.

 Interpreter: It translates and executes the code line-by-line and


stops when an error is encountered. Example: Python, JavaScript
Interpreter.

Q19. Write a simple Pseudocode for Bubble Sort.

A:Pseudocode for Bubble Sort:


Start
for i = 0 to n-1
for j = 0 to n-i-1
if array[j] > array[j+1]
swap(array[j], array[j+1])
end for
end for
Stop
Explanation: This code compares adjacent elements in an array and swaps
them if they are in the wrong order, repeating the process until the array
is sorted.

Q20. What is a Flowchart? Why is it used in programming?

A: A flowchart is a graphical representation of an algorithm or a process


using symbols like rectangles, diamonds, and arrows. It is used in
programming to:

 Visualize the logic of the program.

 Simplify the understanding of complex processes.

 Help in debugging and error identification.

Q21. What is modular programming?

A: Modular programming is a software design technique where a program


is divided into small, manageable, and independent modules or functions,
each performing a specific task. This improves code readability,
reusability, and maintainability.
Q22. What is a function in programming?
A: A function is a self-contained block of code designed to perform a
specific task. It can be called multiple times in a program to avoid code
repetition and improve reusability.

Q23. What is the difference between formal parameters and actual


parameters?
Answer:

 Formal Parameters: These are the variables declared in the function


definition to receive values from the calling function.

 Actual Parameters: These are the values or arguments passed to the


function when it is called.

Q24. What is pass by value in function parameters?

A: In pass by value, a copy of the actual parameter is passed to the


function. Any changes made to the parameter inside the function do not
affect the original value.

Q25. What is recursion in programming?

A: Recursion is a technique in programming where a function calls itself


directly or indirectly to solve a problem. It is commonly used in tasks like
factorial calculation, Fibonacci series, and tree traversal.

You might also like