A layered Technology, The importance of software, software myths, software engineering paradigms, Software Process Models: Linear Sequential Model, Prototyping Model, RAD Model, Evolutionary Software Process Models: Incremental Model, Spiral Model Component Assembly Model, Formal Methods, Fourth-Generation Techniques, Unified Modeling Language, Basic structures and modeling classes, Common Modeling techniques, relationships, common mechanism, class diagrams.
The Elements of the Analysis Model Data Modifying, Functional Modeling and Information Flow and Behavior Modeling, Mechanics of Structured Analysis, Data Dictionary. Requirement analysis, tasks, analyst, software prototyping, specification principles, representation and the software requirements specification. Basic idea of behavioral modeling in UML. State diagrams, Interaction diagrams, Use case diagrams. Introduction to Open Source Software Engineering Tools: Visual Paradigm, AgroUML.
Size Estimation, Cost Estimation, Models, Static, single variable models, Static, Multivariable Models, COCOMO, The Putnam Resource Allocation Model, Risk Identification and Projection: RMMM, Project scheduling and Tracking. Object- oriented concepts and principles. Identifying the elements of an object model. Object oriented projects metrics and estimation.
Design Principles, Design Concepts: Effective Modular Design, Design Heuristics, Design Documentation, Design Methods: Data Design, Architectural Design, Interface Design, Human Computer Interface Design, Procedural Design. Advanced structured modeling in UML, advanced classes and relationships, interfaces, types and roles, instances and object diagram.
Fundamentals, White Box Testing, Black Box Testing, software testing strategies, verification and Validation, System Testing, Unit testing, Integration testing and Debugging. Software Maintenance Maintainability – maintenance Tasks, Characteristics of a good quality software.