|Code ||Course Title ||Credit Hours
|| MS Thesis
List of Elective Courses
SEE–5071 Software Requirements Engineering
Role of requirements engineering in system development, Fundamental concepts and activities of requirements engineering, Information elicitation techniques, Fundamentals of goal-oriented requirements engineering, Modeling behavioral goals, Modeling quality goals, Goal modeling heuristics, Deriving operational requirements from goals, Requirements Specification, Requirements verification and validation, Management of inconsistency and conflict, requirements engineering risks, requirement change control board and process, the role of quality goals in the requirements selection process, Techniques for requirements evaluation, selection and prioritization; Requirements management; Requirements traceability and impact analysis.
1. Software Requirements, Karl E. Wiegers, Microsoft Press, 2003(or Latest Edition). 2. Software Requirements Specification, David Tuffley, CreateSpace Independent Publishing Platform, 2010 (or Latest Edition). 3. System Requirements Engineering, Loucopoulos and Karakostas, McGraw-Hill, 1995(or Latest Edition). 4. Requirements Engineering: Processes and Techniques, Gerald Kotonya and Sommerville, John-Wiley Sons,1998 (or Latest Edition).
SEE–5073 Software Quality Assurance
What Is Software Quality: Quality Assurance, Quality Engineering Software Testing: Testing: Concepts, Issues, and Techniques, Test Activities, Management, and Automation, Coverage and Usage Testing Based on Checklists and Partitions, Input Domain Partitioning and Boundary Testing, Coverage and Usage Testing Based on Finite-State Machines and Markov Chains, Control Flow, Data Dependency, and Interaction Testing, Testing Techniques: Adaptation, Specialization, and Integration. Quality Assurance Beyond Testing: Defect Prevention and Process Improvement, Software Inspection, Formal Verification, Fault Tolerance and Failure Containment, Comparing Quality Assurance Techniques and Activities. Quality Assurance Beyond Testing: Defect Prevention and Process Improvement, Software Inspection, Formal Verification, Fault Tolerance and Failure Containment, Comparing Quality Assurance Techniques and Activities. Quantifiable Quality Improvement: Feedback Loop and Activities for Quantifiable Quality Improvement, Quality Models and Measurements, Defect Classification and Analysis. Risk Identification for Quantifiable Quality Improvement, Software Reliability Engineering.
1. Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement, Jeff Tian, Wiley-IEEE Computer Society Press, 1st Edition, 2005(or Latest Edition). 2. Mastering Software Quality Assurance: Best Practices, Tools and Techniques for Software Developers”, Murali Chemuturi, J. Ross Publishing, 2010 (or Latest Edition).
MS (SE) Elective Courses
SEE–6071 Software System Architecture
Definition and overview of software architecture, the architecture business cycle, Understanding and achieving quality attributes, Attribute-driven design, Documenting software architecture, Evaluating software architecture, Architecture reuse Life-cycle view of architecture design and analysis methods, The QAW, a method for eliciting critical quality attributes, such as availability, performance, security, interoperability, and modifiability, Architecture Driven Design, Evaluating a software architecture (ATAM, CBAM, ARID), Principles of sound documentation, View types, styles, and views; Advanced concepts such as refinement, context diagrams, variability, software interfaces, and how to document interfaces; Documenting the behavior of software elements and software systems; Choosing relevant views; Building a documentation package, Future of Software Design, Architecture Description Languages, Introduction to AADL , AADL: Continued , Testing Architectures, Feature Modeling in SPLs, Testing a Family of Products.
1. Software Architecture: Foundations, Theory, and Practice, Taylor, Medvidovic, and Dashofy, Wiley, 1st Edition, 2009(or Latest Edition). 2. Architecting Software Intensive Systems: A Practitioners Guide, Anthony J. Lattanze, Auerbach Publications, 2008(or Latest Edition). 3. Software Architecture in Practice, Bass, Clements, and Kazman, 2nd Edition, Addison-Wesley Professional, 2003(or Latest Edition). 4. Evaluating Software Architectures: Methods and Case Studies, Clements,Kazman, Klein, Addison-Wesley Professional, 2001(or Latest Edition). 5. Software Product Lines: Practices and Patterns, P. Clements and L.Northrup, Addison-Wesley, 2002(or Latest Edition).
SEE–6072 Software Risk Management
Risk-Management Discovery, Risk-Management Process, Process steps, inputs, and outputs, Methods and tools, reusable process component. Risk-Management Infrastructure, Training metrics, establishing a baseline for quantitative process improvement, infrastructure, there is no strategic plan in place to institutionalize risk management. Senior managers, engineering managers, and change agents should benefit from these organizational building blocks. Risk-Management Implementation, standard process, Risk management activities, lifecycle planning, budgeting, scheduling, and staffing. Crisis and Control, risk-management evolution stages, Effective and ineffective practices.
Managing Risk: Methods for Software Systems Development, Elaine M.Hall, Addison-Wesley (or Latest Edition).
SEE–6073 Software Measurements & Metrics
Introduction to foundations of measurement theory, models of software engineering measurement, software products metrics, software process metrics and measuring management. Measurement theory (overview of software metrics, basics of measurement theory, goal-based framework for software measurement, empirical investigation in software engineering). Software product and process measurements (measuring internal product attributes: size and structure, measuring external product attributes: quality, measuring cost and effort, measuring software reliability, software test metrics, object-oriented metrics) Measurement management.
1. A Rigorous and Practical Approach Software Metrics, N.E. Fenton, S.L.Pfleeger, PWS Publishing (or Latest Edition). 2. Metrics and Models in Software Quality Engineering, Stephen H.Kan, Addison-Wesley Professional (or Latest Edition). 3. Software Engineering Measurement, John C. Munson, Auerbach Publications (or Latest Edition).
SEE–6074 Software Configuration Management
Source Code Management, Build Engineering, Environment Configuration, Change Control, Release Management, Deployment, Architecting Your Application for CM, Hardware Configuration Management, Rightsizing Your Processes, Overcoming Resistance to Change, Personality and CM: A Psychologist Loods at the Workplace, Learning From Mistakes, Establishing IT Controls and Compliance, Industry Standards and Framework.
1. Software configuration management handbook, Alexis Leon, Artech House, 2005 (or Latest Edition) 2. Software Configuration Management Patterns: Effective Teamwork, Practical Integration, Stephen P. Berczuk, Brad Appleton, Addison Wesley, 2004 (or Latest Edition).
SEE–6076 Component Based Software Engineering
Introduction to CBSE, Reuse, Basic Concepts in CBSE, Modeling components with UML, Open-COM component model, Fractal component model, Component Models and Technology, Component contracts component specification techniques, Component integration and Predictable composition, Service Oriented Computing - Key Concepts and Principles, SOA.
1. Component Software: Beyond Object Oriented Programming, Clemens Szyperski, Second Edition, Addison Wesley, 2002 (latest ed.). 2. Building reliable component based software systems, Ivica Crnkovic, Magnus Larsson. Artech House, 2002 (latest ed.). 3. Service-oriented Computing: Semantics, Processes, Agents, Munindar P.Singh and Michael N. Huhns, 2005 (latest ed.)
SEE–6077 Design Patterns
Overview of Object-Oriented Analysis and Design, Design Patterns (Concepts, Major issues, Reuse of ideas), Creational Patterns, Structural Patterns, Behavioral Patterns. Applications of design patterns for: Organization of Work, Access Control, Service Variation and Service Extension, Object Management and Adaptation, Architectural Patterns, Patterns for Distribution, Patterns for Interactive Systems, Adaptable Systems. Frameworks and Patterns, Idea of frameworks, Patterns for flexibility, achieving benefits of frameworks, Failures of frameworks.
1. Design Patterns: Elements of Reusable OO Software, Ralph Johnson, John Vlissides, Richard Helm, Erich Gamma, Addison-Wesley Professional, 1994 (latest ed.) 2. Pattern Hatching: Design Patterns Applied, Vlissides, Addison-Wesley Professional, 1998.
SEE–6078 Complex Networks
What are networks and why networks, Erdos-Renyi random, small-world and scale-free network models, Calculation of basic measures in networks, Degree and eccentricity Centrality, Shortest path between start and end nodes, case study of calculation, Clustering coefficient, Matching index and case study, Network tools overview, Pajek, Network Workbench, Gephi, Visone, Cytoscape, Centibin, Network Simulation (Agent-based simulation of networks), Biological networks, Social Networks, Scientometric study using Networks, Modelling Communication Networks as graphs/networks, Disk Graph models such as WSNs.
1. Dynamical Processes on Complex Networks, Alain Barrat, Marc Barthélemy, Alessandro Vespignani, Cambridge University Press, 2012.(latest ed.) 2. The Structure and Dynamics of Networks, Mark Newman, Albert-Lazlo Barabasi, Duncan J. Watts, Princeton University Press, 2006 (latest ed.) 3. Exploratory Social Network Analysis with Pajek (Structural Analysis in the Social Sciences), Wouter De Nooy, Andrej Mrvar and Vladimir Batagelj, Cambridge University Press, Second Edition, 2011 (latest ed.) 4. Analysis of Biological Networks (Wiley Series in Bioinformatics), Björn H.Junker and Falk Schreiber, Wiley- Interscience, 2008 (latest ed.)
SEE–6079 Agent-Based Modeling
Introduction to Agent-based Models, Introduction to NetLogo, Describing ABMs, First ABM Development, Animation to Science, Model Verification & Validation, Emergence, Adaptive Behavior, Prediction, Cognitive AB Computing Framework, Complex Network Modeling, Exploratory AB Modeling, Descriptive AB Modeling, Validated AB Modeling.
1. Agent-Based and Individual-Based Modeling: A Practical Introduction by Steven F. Railsback and Volker Grimm, 2011 (latest ed.). 2. Managing Business Complexity: Discovering Strategic Solutions with Agent-Based Modeling and Simulation, Michael J. North and Charles M.Macal, 2007.
SEE–6080 Formal Methods
Introduction to Formal methods, Introducing Z, Elements of Z, Logic, Using Predicates in Z, Schemas and Schema Calculus, Formal Reasoning, Case Studies in Z, Computer Graphics and Computational Geometry. Rule-Based Programming, Graphical User Interface, Safety-Critical Protection System, Modeling Large Systems, Object- Oriented Programming Model and Z, Concurrency and Real-time, Refinement, Program Derivation and Formal Verification, Converting Z into Code.
1. The Way of Z: Practical Programming with Formal Methods by Jonathan Jacky, Cambridge University Press (November 28, 1996). ISBN-10:0521559766 2. Z: An Introduction to Formal Methods by Antoni Diller, Wiley; 2nd Edition (July 27, 1994). ISBN-10: 0471939730 3. Model Checking by Edmund M. Clarke Jr., Orna Grumberg, Doron A.Peled , MIT Press, 1st Edition (1999). ISBN-13: 978-0262032704. 4. Reactive Systems: Modelling, Specification and Verification by Luca Aceto, Anna Ingólfsdóttir, Kim Guldstrand Larsen and Jiri Srba, Cambridge University Press (August 13, 2007). ISBN-10: 0521875463 5. Fundamentals of Algebraic Specifications: Equations and Initial Semantics, H. Ehrig & B. Mahr, Springer- Verlag (1985), ISBN 0-387-13718-1. 6. Systems and Software Verification: Model-Checking Techniques and Tools. By B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L.Petrucci, and P. Schnoebelen, Springer, 1st Edition , 2001. ISBN-10:3642074782 7. Algebraic Specifications in Software Engineering by I. Van Horebeek & J.Lewi, Springer; 1st Edition (December 19, 1989). ISBN-10: 3540516263