🇮🇳 UGC NET Computer Science · subject
UGC NET Computer Science Software Engineering Syllabus
The Software Engineering syllabus for UGC NET Computer Science in full: 7 chapters, 59 topics and 7 sub-topics, every one listed below, plus 60 Software Engineering flashcards with answers.
Software Engineering syllabus: all 7 chapters
Expand any chapter to see its topics and sub-topics.
-
Software Process Models
10 topics- Software Process
- Generic Process Model – Framework Activity
- Task Set and Process Patterns
- Process Lifecycle
- Prescriptive Process Models
- Project Management
- Component Based Development
- Aspect-Oriented Software Development
- Formal Methods
- Agile Process Models
- Extreme Programming (XP)
- Adaptive Software Development
- Scrum
- Dynamic System Development Model
- Feature Driven Development
- Crystal
- Web Engineering
-
Software Requirements
6 topics- Functional and Non-Functional Requirements
- Eliciting Requirements
- Developing Use Cases
- Requirement Analysis and Modeling
- Requirements Review
- Software Requirement and Specification (SRS) Document
-
Software Design
13 topics- Abstraction
- Architecture
- Patterns
- Separation of Concerns
- Modularity
- Information Hiding
- Functional Independence
- Cohesion and Coupling
- Object-Oriented Design
- Data Design
- Architectural Design
- User Interface Design
- Component Level Design
-
Software Quality
8 topics- McCall’s Quality Factors
- ISO 9126 Quality Factors
- Quality Control
- Quality Assurance
- Risk Management
- Risk Mitigation
- Monitoring and Management (RMMM)
- Software Reliability
-
Estimation and Scheduling of Software Projects
7 topics- Software Sizing
- LOC and FP based Estimations
- Estimating Cost and Effort
- Estimation Models
- Constructive Cost Model (COCOMO)
- Project Scheduling and Staffing
- Time-line Charts
-
Software Testing
11 topics- Verification and Validation
- Error, Fault, Bug and Failure
- Unit and Integration Testing
- White-box and Black-box Testing
- Basis Path Testing
- Control Structure Testing
- Deriving Test Cases
- Alpha and Beta Testing
- Regression Testing
- Performance Testing
- Stress Testing
-
Software Configuration Management
4 topics- Change Control and Version Control
- Software Reuse
- Software Re-engineering
- Reverse Engineering
UGC NET Computer Science Software Engineering flashcards — 60 questions with answers
What is a software process?
A structured set of activities, actions, and tasks required to develop high-quality software. The five generic framework activities are communication, planning, modeling, construction, and deployment.
Name the five framework activities of the generic process model.
Communication, Planning, Modeling, Construction, and Deployment. These are supplemented by umbrella activities that span the whole process.
What are umbrella activities in a software process? Give examples.
Activities that apply throughout the process, independent of any single framework activity. Examples: project tracking/control, risk management, quality assurance, configuration management, technical reviews, measurement, and reusability management.
Differentiate a task set from a process pattern.
A task set is the actual collection of work tasks, milestones, and deliverables needed to accomplish a software action for a project. A process pattern is a reusable template describing a process-related problem, its context, and a proven solution.
What is the Software Development Life Cycle (SDLC)?
The sequence of phases a software product passes through: requirements, design, implementation, testing, deployment, and maintenance. Maintenance typically consumes the largest share of total effort.
List the major prescriptive process models.
Waterfall (linear sequential), Incremental, RAD, and Evolutionary models (Prototyping, Spiral, Concurrent). They are 'prescriptive' because they prescribe a set of process elements and an orderly workflow.
What is the key characteristic and limitation of the Waterfall model?
A linear sequential model where each phase must complete before the next begins. Limitation: it does not handle changing requirements well and a working product appears only late in the cycle.
Describe the Spiral model and its driving concept.
An evolutionary, risk-driven model combining iterative prototyping with the systematic aspects of the waterfall. Each loop (cycle) addresses risk analysis before proceeding, and the product is refined through successive spirals.
What is the RAD model and its typical timeframe?
Rapid Application Development: an incremental model emphasizing a very short development cycle using component-based construction. Each function is built by a team and integrated, typically within a 60-90 day window.
What is Component-Based Development (CBD)?
A process that emphasizes building software by assembling pre-built, reusable software components (COTS or in-house) rather than coding everything from scratch, promoting reuse and faster assembly.
What problem does Aspect-Oriented Software Development (AOSD) address?
It modularizes crosscutting concerns (such as logging, security, transactions) that span multiple modules, capturing them as separate units called aspects to reduce code tangling and scattering.
What are Formal Methods in software engineering?
Mathematically rigorous techniques for specifying, developing, and verifying software using formal notations (e.g., Z, VDM). They enable removal of ambiguity, inconsistency, and incompleteness, supporting proof of correctness.
State the four values of the Agile Manifesto.
Individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; responding to change over following a plan.
What are the key roles and artifacts in Scrum?
Roles: Product Owner, Scrum Master, Development Team. Artifacts: Product Backlog, Sprint Backlog, Increment. Work is done in fixed-length Sprints with daily stand-ups and a sprint review/retrospective.
Name the core practices of Extreme Programming (XP).
Pair programming, test-driven development, continuous integration, refactoring, small/frequent releases, simple design, collective code ownership, and an on-site customer.
Differentiate functional from non-functional requirements.
Functional requirements describe what the system must do (specific behaviors/functions). Non-functional requirements describe quality attributes/constraints—performance, reliability, security, usability, scalability.
What is requirements elicitation and name common techniques.
The process of gathering requirements from stakeholders. Techniques: interviews, questionnaires, brainstorming, FAST (Facilitated Application Specification Technique), QFD (Quality Function Deployment), use cases, and prototyping.
What is a use case and what are its essential elements?
A description of how an actor interacts with the system to achieve a goal. Elements: actors, preconditions, main (basic) flow, alternative flows/exceptions, and postconditions.
Name the analysis models produced during requirements modeling.
Scenario-based (use cases, activity diagrams), class-based (class diagrams), behavioral (state and sequence diagrams), and flow-oriented (data flow diagrams) models.
What is the purpose of a requirements review?
A validation activity to ensure requirements are correct, complete, consistent, unambiguous, feasible, and testable before design begins, catching errors early when they are cheap to fix.
Show the other 40 Software Engineering flashcards
What is an SRS document and what qualities must it have?
The Software Requirements Specification is a complete description of system behavior to be developed. It must be correct, complete, consistent, unambiguous, verifiable, modifiable, traceable, and ranked by importance/stability.
List the core software design concepts.
Abstraction, architecture, patterns, separation of concerns, modularity, information hiding, functional independence, refinement, refactoring, and design classes.
What is abstraction in software design, distinguishing its two main types?
Suppressing low-level detail to focus on essentials. Procedural abstraction = a named sequence of instructions hiding the steps; data abstraction = a named collection of data describing an object, hiding its representation.
What does 'separation of concerns' mean?
A design principle stating that a complex problem should be subdivided into pieces (concerns) that can be solved and optimized independently, making the problem easier to handle.
Define modularity and the concept of an optimal number of modules.
Dividing software into separately named, addressable components (modules). Cost decreases per module as count rises but integration cost rises; total cost is minimized at an optimal region of module count (avoiding over- and under-modularity).
What is information hiding and why is it beneficial?
A principle where modules conceal their internal design decisions and expose only necessary interfaces. Benefits: reduced ripple effects of changes, easier maintenance, and lower coupling.
What is functional independence and how is it measured?
Designing modules that address a single, well-defined function with minimal interaction with others. It is measured by two qualitative criteria: high cohesion and low coupling.
Rank the levels of cohesion from worst to best.
Coincidental (worst), Logical, Temporal, Procedural, Communicational, Sequential, Functional (best). Higher cohesion means a module does one well-defined task.
Rank the levels of coupling from worst (highest) to best (lowest).
Content (worst), Common, External, Control, Stamp, Data (best), No coupling. Lower coupling means modules are more independent and changes propagate less.
What is the goal regarding cohesion and coupling in good design?
Maximize cohesion (modules perform a single, focused task) and minimize coupling (modules are loosely interconnected), yielding high functional independence and maintainability.
List the design models/elements in object-oriented and conventional design.
Data design (data structures/database), architectural design (overall structure/style), interface design (UI and internal/external interfaces), and component-level (procedural) design—data, architectural, interface, and component levels.
What is architectural design and name common architectural styles.
It defines the overall structure of software—components and their relationships. Styles: data-centered, data-flow (pipe-and-filter), call-and-return (layered, main program/subroutine), object-oriented, and layered architectures.
What is a design pattern? Name the three GoF categories.
A reusable, proven solution to a recurring design problem in a context. GoF categories: Creational (e.g., Factory, Singleton), Structural (e.g., Adapter, Decorator), and Behavioral (e.g., Observer, Strategy).
What are the golden rules of user interface design (Mandel)?
1) Place the user in control; 2) Reduce the user's memory load; 3) Make the interface consistent. These guide good UI/UX design.
What is component-level design?
The lowest level of design that transforms structural elements of the architecture into a procedural description of software components, defining data structures, interfaces, and algorithms for each component.
List McCall's three quality factor categories.
Product Operation (correctness, reliability, efficiency, integrity, usability), Product Revision (maintainability, flexibility, testability), and Product Transition (portability, reusability, interoperability).
What are the six quality characteristics defined by ISO 9126?
Functionality, Reliability, Usability, Efficiency, Maintainability, and Portability—each further broken into sub-characteristics.
Differentiate Quality Assurance (QA) from Quality Control (QC).
QA is process-oriented—preventing defects by improving processes (audits, standards, reviews). QC is product-oriented—detecting defects in the actual product through inspection and testing.
What are the main strategies for risk mitigation, monitoring, and management (RMMM)?
Mitigation: avoid the risk/reduce its probability. Monitoring: track factors indicating whether a risk is becoming more/less likely. Management: contingency plans to handle the risk if it materializes (RMMM plan).
How is risk exposure (impact) computed in risk projection?
Risk Exposure (RE) = Probability of the risk × Cost (impact) if the risk occurs. It quantifies the overall impact for prioritization.
Distinguish project risks, technical risks, and business risks.
Project risks threaten the schedule/resources/cost; technical risks threaten the quality/timeliness of the product (design, implementation); business risks threaten the viability of the software (market, budget, strategy).
What is software reliability and how is MTBF expressed?
The probability of failure-free operation for a specified time in a specified environment. MTBF (Mean Time Between Failures) = MTTF + MTTR; Availability = MTTF / (MTTF + MTTR) × 100%.
What is Function Point (FP) estimation based on?
Measuring functionality from the user's view using five information domain values: external inputs, external outputs, external inquiries, internal logical files, and external interface files—weighted and adjusted by 14 complexity factors.
State the Function Point formula.
FP = Count Total × [0.65 + 0.01 × Σ(Fi)], where Count Total is the weighted sum of the five information domain counts and Σ(Fi) is the sum of the 14 value adjustment factors (each rated 0-5).
What is LOC-based estimation and a key drawback?
Estimating size/effort using Lines of Code as the metric. Drawbacks: language-dependent, penalizes concise code, hard to estimate early, and not suitable for non-procedural languages.
State the Basic (Organic) COCOMO effort and time equations.
Effort E = a(KLOC)^b person-months; Time D = c(E)^d months. For organic: a=2.4, b=1.05, c=2.5, d=0.38. Persons = E/D.
Name the three modes of the COCOMO model and their meaning.
Organic (small, simple, experienced team), Semi-detached (intermediate size/complexity, mixed experience), and Embedded (large, complex, tight constraints). Each has different coefficient values.
What are the levels of the COCOMO model family?
Basic COCOMO (rough estimate from size), Intermediate COCOMO (adds 15 cost-driver multipliers), and Detailed/Advanced COCOMO (applies cost drivers per phase). COCOMO II updates these for modern practices.
What does a timeline (Gantt) chart show in project scheduling?
A bar chart plotting project tasks against time, showing start/end dates, durations, task overlap, milestones, and resource assignments, used to track schedule progress.
Differentiate verification from validation.
Verification: 'Are we building the product right?'—conformance to specifications (reviews, static analysis). Validation: 'Are we building the right product?'—conformance to user needs (testing, acceptance).
Distinguish error, fault/bug, and failure.
Error: a human mistake during development. Fault/Bug/Defect: the manifestation of the error in code/artifact. Failure: the observable incorrect behavior when the fault executes.
Differentiate unit testing from integration testing, and top-down from bottom-up.
Unit testing checks individual modules in isolation; integration testing checks interactions between combined modules. Top-down integration uses stubs (tests upper modules first); bottom-up uses drivers (tests lower modules first).
Differentiate white-box from black-box testing.
White-box (structural/glass-box) tests internal logic and code paths knowing the implementation. Black-box (functional) tests inputs/outputs against specifications without knowledge of internal structure.
What is basis path testing and how is cyclomatic complexity computed?
A white-box technique deriving a basis set of independent paths from the control flow graph. Cyclomatic complexity V(G) = E − N + 2 = P + 1 (P = predicate nodes); it equals the number of independent paths and minimum test cases needed.
Name common black-box test case design techniques.
Equivalence partitioning, boundary value analysis, cause-effect graphing, comparison testing, orthogonal array testing, and error guessing.
Differentiate alpha testing from beta testing.
Alpha testing is conducted by users at the developer's site in a controlled environment. Beta testing is conducted by end users at their own sites without the developer present, in a real environment.
What is regression testing and when is it performed?
Re-executing a subset of previously passed tests to ensure that recent changes (bug fixes, enhancements, integration) have not introduced new defects or broken existing functionality.
Differentiate performance testing from stress testing.
Performance testing measures responsiveness, throughput, and resource usage under expected load. Stress testing pushes the system beyond normal capacity (abnormal/peak loads) to find breaking points and recovery behavior.
Differentiate change control from version control in SCM.
Change control is the formal procedure to evaluate, approve, and track changes to configuration items. Version control manages and records different versions/revisions of artifacts, enabling retrieval and parallel development.
Differentiate reverse engineering, re-engineering, and software reuse.
Reverse engineering recovers design/specification from existing code. Re-engineering examines and alters an existing system to reconstitute it in a new form (restructure + forward engineer). Reuse builds new software from existing components/assets.
UGC NET Computer Science Software Engineering FAQ
What is in the UGC NET Computer Science Software Engineering syllabus?
UGC NET Computer Science Software Engineering is split into 7 chapters: Software Process Models, Software Requirements, Software Design, Software Quality, Estimation and Scheduling of Software Projects, Software Testing and Software Configuration Management. Together they contain 59 topics and 7 sub-topics.
How many chapters are in UGC NET Computer Science Software Engineering?
7 chapters, containing 59 topics and 7 sub-topics. The largest chapter is Software Design, with 13 topics.
Are there flashcards for UGC NET Computer Science Software Engineering?
Yes — a 60-card Software Engineering deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.