Concepts of Software Engineering, Software Engineering paradigms, Different phases of software System Development, Different types of information, and qualities of information. Project Management Concepts, Software process and project Metrics, Software Project Planning, Risk Analysis and Management, Project Scheduling and Tracking. Analysis Concepts and principles: requirement analysis, Analysis modeling, data modeling. Design concepts and principles, Architectural design, User Interface design, Object Oriented software development, and design: Iterative Development and the Unified Process. Sequential waterfall life cycles, Inception. Use case model for requirement writing, Elaboration using System Sequence Diagram, and Domain Model. Visualizing concept classes. UML diagrams, Interaction, and Collaboration diagrams for designing Software. Designing Objects with responsibilities. GRASP patterns with General Principles in assigning responsibilities: Information expert, Creator, Low Coupling and High Cohesion, Creating design class diagrams, and mapping design to codes. Advanced GRASP patterns: Polymorphism, Pure Fabrication, Indirection, Project Variation. GoF Design Patterns: Adapter, Factory, Singleton, Strategy, Composite, Fa.Sade, and Observer. Software Testing: White Box and Black Box testing. Basis Path Testing. Testing for the specialized environment. Software testing strategies: Unit Testing, Integration Testing, Validation Testing, System Testing, and Art of debugging. Analysis of System Maintenance and upgrading: Software repair, downtime, error, faults, specification, and correction, Maintenance cost models, documentation. Software Quality Assurance, Quality factors. Software quality measures. The cost impact of Software defects. Concepts of Software reliability, availability, and safety. Function-based metrics and bang metrics. Metrics for analysis and design model. Metrics for source code, testing, and maintenance.
0 Comments