logo

8. Software Engineering and Information System (ACtE08)

Computer Engineering - Nec (Nepal Engineering Council)

No MCQ questions available for this chapter.

8. Software Engineering and Object-Oriented Analysis & Design (ACtE08)

8.1 Software Process and Requirements (ACtE0801)

Software Characteristics

  • Correctness: Meets requirements.
  • Efficiency: Uses optimal resources.
  • Reliability: Performs consistently.
  • Maintainability: Easy to modify.

Software Quality Attributes

  • Functional: Required operations.
  • Non-Functional: Performance, security, usability.

Software Process Models

  • Agile Model: Iterative, flexible, user collaboration.
  • V-Model: Verification and validation at each stage.
  • Iterative Model: Repeated cycles of development.
  • Prototype Model: Rapid prototype development.
  • Big Bang Model: No structured planning.

Software Requirements

  • Functional Requirements: Describe system behavior.
  • Non-Functional Requirements: Define constraints like security.
  • User Requirements: Needs of end users.
  • System Requirements: Hardware/software specifications.

Software Requirement Documents (SRS)

  • Describes system requirements in detail.

Requirement Elicitation & Analysis

  • Techniques: Interviews, Surveys, Prototyping.

Requirement Validation & Management

  • Ensures correctness, consistency, and completeness.

8.2 Software Design (ACtE0802)

Design Process

  • Translates requirements into architecture.

Design Concepts

  • Abstraction: Hiding complexity.
  • Encapsulation: Data hiding.
  • Modularity: Breaking into smaller parts.

Software Architecture

  • System Organization: Defines software structure.
  • Modular Decomposition: Splitting software into independent modules.
  • Control Styles: Centralized or Distributed control.

Architectural Patterns

  • Client-Server: Divides system into server and clients.
  • Distributed Systems: Works on multiple nodes.
  • Component-Based Engineering: Reusable software components.

8.3 Software Testing, Cost Estimation, Quality & Configuration Management (ACtE0803)

Software Testing

  • Unit Testing: Tests individual components.
  • Integration Testing: Checks interaction between modules.
  • System Testing: Tests the complete system.
  • Acceptance Testing: Verifies customer requirements.

Software Cost Estimation

  • Algorithmic Cost Modeling: Uses mathematical models.
  • COCOMO Model: Cost Estimation Model.

Software Quality Assurance (SQA)

  • Formal Technical Reviews (FTR): Evaluates design.
  • ISO Standards & CMMI: International standards.

Configuration Management

  • Version Control: Tracks software changes.
  • Change Management: Manages software modifications.

8.4 Object-Oriented Fundamentals and Analysis (ACtE0804)

Object-Oriented Concepts

  • Objects: Instances of classes.
  • Classes: Blueprints for objects.
  • Inheritance: Code reuse mechanism.
  • Polymorphism: Same interface, different behaviors.

Unified Modeling Language (UML)

  • Use Case Diagrams: Shows user interactions.
  • Class Diagrams: Represents object relationships.
  • Sequence Diagrams: Shows message flows.

8.5 Object-Oriented Design (ACtE0805)

From Analysis to Design

  • Elaborates Use Cases into Designs.

Diagrams Used in Design

  • Collaboration Diagram: Shows object interaction.
  • Class Diagram: Defines object relationships.

8.6 Object-Oriented Design Implementation (ACtE0806)

Implementation Process

  • Mapping Design to Code: Converting UML to programming.
  • Creating Class Definitions: Defining attributes & methods.

Exception & Error Handling

  • Ensures robustness and stability.