tab 1
1 MARK SHORT QUESTIONS
1. Software Engineering: It is the systematic, disciplined, and professional approach to
developing, operating, and maintaining software.
2. Linear Sequential Model: Also known as the Waterfall Model, it is a process where
development flows steadily downwards through phases like Requirements, Design,
Implementation, and Testing.
3. Software Metric: A standard of measurement that helps engineers assess the quality,
cost, or size of a software project (e.g., counting errors or lines of code).
4. Object (in OOP): An entity that has a state (data) and behavior (functions). Think of it
as a real-world thing, like a "Car" or "User."
5. COCOMO: Stands for COnstructive COst MOdel. It is a formula-based model used to
estimate the cost, effort, and schedule of a project.
6. Coupling: It measures how much one software module depends on or relies on another.
Low coupling is better.
7. Unit Testing: Testing the smallest individual parts of a software (like a single function or
method) to make sure they work correctly.
8. Why LOC is a poor measure: It depends on the programming language. A complex
task might take 10 lines in Python but 100 lines in C, making size comparisons unfair.
9. Three categories in Basic COCOMO: Organic (simple), Semidetached (medium), and
Embedded (complex).
10.Key Project Planning activities: Estimating size/cost, scheduling tasks, and risk
management.
11.Three main risk categories: Project risks, Technical risks, and Business risks.
12.Functional Cohesion: This is the "best" type of cohesion. It means every part of a
module works together to perform exactly one single, well-defined task.
13.Data Coupling: When two modules communicate only by passing simple data (like an
integer or a string). This is considered "good" or "loose" coupling.
5 MARK QUESTIONS (Key Summaries)
1. Classical Waterfall Model Phases
● Feasibility Study: Checking if the project is worth doing.
● Requirements Analysis: Talking to the user to document what they need.
● Design: Planning the architecture and database.
● Coding/Implementation: Writing the actual code.
● Testing: Finding and fixing bugs.
● Maintenance: Fixing issues after the software is delivered.
2. COCOMO Stages
● Basic: Uses a simple formula based on project size (LOC). Best for quick, rough
estimates.
● Intermediate: Adds "Cost Drivers" (like team experience or reliability) to the basic
formula for better accuracy.
● Complete (Detailed): Applies cost drivers to each individual step of the project (design,
coding, etc.).
3. Risk Categories with Examples
● Project Risks: Problems with the schedule or resources (e.g., a key developer quits).
● Technical Risks: Problems with technology or design (e.g., the software is too slow for
the hardware).
● Business Risks: Risks to the product's success (e.g., a competitor releases a better
product first).
4. Cohesion vs. Coupling
● Cohesion: Focuses on what happens inside a single module. High cohesion is good
(module does one thing well).
● Coupling: Focuses on the connection between modules. Low coupling is good
(modules are independent).
● Comparison: Functional Cohesion is the strongest (most focused), while Data Coupling
is the weakest/best (least dependent).
5. SEI CMM Levels (Capability Maturity Model)
1. Initial: Chaos; processes are unpredictable.
2. Repeatable: Basic project management is in place.
3. Defined: Processes are documented and standardized across the company.
4. Managed: Processes are measured and controlled using data.
5. Optimizing: Continuous improvement of processes.
6. LOC vs. Function Points (FP)
● LOC (Lines of Code): Easy to count but language-dependent and doesn't account for
complexity.
● FP (Function Points): Measures the functionality provided to the user (inputs, outputs,
files). It is language-independent and better for planning.
tab 2
My apologies! I missed that final stretch of the 5-mark section. Here are the clear, simple
explanations for questions 7 through 14 to complete your study guide.
5 MARK QUESTIONS (Continued)
7. Compare Lines of Code (LOC) and Function Points (FP)
● LOC: Measures size by counting lines of text.
○ Shortcoming: It is language-dependent (10 lines of C++ might be 2 lines of Python)
and doesn't measure quality.
● FP: Measures size by looking at functionality (inputs, outputs, user queries).
○ Advantage: It is language-independent and focuses on what the user actually gets.
8. What is software engineering in simple terms?
It is the "building" of software using a specific plan and set of rules (like engineering a bridge).
Instead of just "coding," it involves planning, designing, testing, and fixing to ensure the
software is reliable and affordable.
9. What does LOC stand for in project size estimation?
It stands for Lines of Code. It is the most basic way to estimate how big a software project is
by counting every line written by the programmer.
10. Name three activities in project planning
1. Estimation: Figuring out how much time, money, and people are needed.
2. Scheduling: Creating a timeline or "calendar" for when each task starts and ends.
3. Resource Allocation: Assigning specific tools and team members to specific jobs.
11. Name one type of risk in software projects
● Technical Risk: For example, using a new technology that the team doesn't fully
understand yet, which might cause the project to fail or run slow.
12. What is high cohesion in modules?
High cohesion means that all the elements inside a single module are closely related and work
together to perform one specific task. In simple terms: "A module should do one thing, and do
it very well."
13. What is a class in object-oriented concepts?
A Class is a blueprint or a template. For example, "Car" is a class. It defines what data (color,
speed) and actions (drive, brake) every car will have. An Object is the actual car you drive.
14. How many maturity levels are in SEI CMM?
There are 5 levels:
1. Initial (Chaos)
2. Repeatable
3. Defined
4. Managed
5. Optimizing (Continuous Improvement)
7. Compare Lines of Code (LOC) and Function Points (FP)
● LOC: Measures size by counting lines of text.
○ Shortcoming: It is language-dependent (10 lines of C++ might be 2 lines of
Python) and doesn't measure quality.
● FP: Measures size by looking at functionality (inputs, outputs, user queries).
○ Advantage: It is language-independent and focuses on what the user actually
gets.
8. What is software engineering in simple terms? It is the "building" of software using a
specific plan and set of rules (like engineering a bridge). Instead of just "coding," it involves
planning, designing, testing, and fixing to ensure the software is reliable and affordable.
9. What does LOC stand for in project size estimation? It stands for Lines of Code. It is the
most basic way to estimate how big a software project is by counting every line written by the
programmer.
10. Name three activities in project planning
1. Estimation: Figuring out how much time, money, and people are needed.
2. Scheduling: Creating a timeline or "calendar" for when each task starts and ends.
3. Resource Allocation: Assigning specific tools and team members to specific jobs.
11. Name one type of risk in software projects
● Technical Risk: For example, using a new technology that the team doesn't fully
understand yet, which might cause the project to fail or run slow.
12. What is high cohesion in modules? High cohesion means that all the elements inside a
single module are closely related and work together to perform one specific task. In simple
terms: "A module should do one thing, and do it very well."
13. What is a class in object-oriented concepts? A Class is a blueprint or a template. For
example, "Car" is a class. It defines what data (color, speed) and actions (drive, brake) every car
will have. An Object is the actual car you drive.
14. How many maturity levels are in SEI CMM? There are 5 levels:
1. Initial (Chaos)
2. Repeatable
3. Defined
4. Managed
5. Optimizing (Continuous Improvement)