8. Software Engineering and Information System (ACtE08)
Computer Engineering - Nec (Nepal Engineering Council)
No MCQ questions available for this chapter.
Chapters
- 1. Concept of Basic Electrical and Electronics Engineering
- 2. Digital Logic and Microprocessor (AExE02)
- 3. Programming Language and Its Applications
- 4. Computer Organization and Embedded System (ACtE04)
- 5. Concept of Computer Network and Network Security System (ACtE05)
- 6. Theory of Computation and Computer Graphics (ACtE06)
- 7. Data Structures and Algorithm, Database System, and Operating System (ACtE07)
- 8. Software Engineering and Information System (ACtE08)
- 9. Artificial Intelligence, Data Science, and Internet of Things (ACtE09)
- 10. Project Management and Innovation (ACtE10)
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.