SOFTWARE ENGINEERING

advertisement
With effect from Academic Year 2014-15
IT224
SOFTWARE ENGINEERING
Instruction
Duration of Semester-End Examination
Semester-End Examination
Sessional
Credits
4 periods per week
3 Hours
75 Marks
25 Marks
3
Course Objectives:
This course introduces the students to
1. Understand the software life cycle models.
2. Understand the importance of the software development process.
3. Understand the importance of software quality and review techniques.
Course Outcomes:
1. An ability to apply knowledge of mathematics, science, and engineering.
2. An ability to design and conduct experiments, as well as to analyze and interpret data, conduct
tests using various testing methods to verify and validate the results.
3. An ability to identify, formulate and implement software projects.
Pre-requisites: Knowledge of design, coding, and debugging programs.
UNIT-I
Software and Software Engineering:The Nature of Software, Software Engineering. The
Software Process, Software Engineering Practice.Process Models: A Generic Process Model,
Prescriptive Process Models, Specialized Process Models, The Unified Process, Process
Technology, Product and Process, Process Assessment and Improvement, The CMMI, The
people CMM,Introduction to Agile development.
Understanding Requirements: Requirements Engineering, Establishing the Groundwork,
Eliciting Requirements, Developing Use Cases, Building the Requirements Model, Negotiating
Requirements, Validating Requirements.
Requirements Modeling: Requirements Analysis, Scenario-Based Modeling, Problem Analysis,
Data Flow Diagrams, Data Dictionaries, Entity-Relationship diagrams, Software Requirement
and Specifications, Behavioral and non-behavioral requirements, Software Prototyping.
UNIT-II
Design Concepts: Design within the Context of Software Engineering, The Design Process,
Design Concepts. Cohesion & Coupling, Classification of Cohesiveness & Coupling, Function
Oriented Design, Object Oriented Design, User Interface Design.
Architectural Design: Software Architecture, Architecture Styles.
Component level Design: Designing Class-Based Components, Conducting Component-Level
Design, Designing Traditional Components, Component-Based Development.
UNIT-III
Quality Concepts: Software Quality, Achieving Software Quality.
Review Techniques: Cost Impact of Software Defects.
Software Quality Assurance: Background Issues, Elements of Software Quality Assurance,
SQA Tasks, Goals and Metrics, Formal Approaches to SQA, Statistical Software Quality
Assurance, Software Reliability, The ISO 9000 Quality Standards, The SQA Plan.
UNIT-IV
Software Testing Strategies: A Strategic Approach to Software Testing, Strategic Issues,
Validation Testing, System Testing, The Art of Debugging. Testing Tools –Rational functional
tester, Win Runner, Load Runner, Testing Standards,Selenium software testing tool.
Testing Conventional Applications:
Software Testing Fundamentals, Internal and External Views of Testing, White-Box Testing,
Basis Path Testing, Control Structure Testing, Black–Box Testing, Software Configuration
Management.
Product Metrics: A Framework for Product Metrics, Size Metrics like LOC, Token Count,
Function Count, Design Metrics, Data Structure Metrics, Information Flow Metrics, Metrics for
Testing, Metrics for Maintenance.
UNIT-V
Estimation: Observations on Estimation, The Project Planning Process, Software Scope and
Feasibility, Resources, Software Project Estimation, Decomposition Techniques, Empirical
Estimation Models, Specialized Estimation Techniques.
Risk Management: Reactive versus Proactive Risk Strategies, Software Risks, Risk
Identification, Risk Projection, Risk Refinement, Risk Mitigation, Monitoring, and Management,
The RMMM Plan.
Text Books:
1. Roger S.Pressman, “Software Engineering: A Practitioners Approach” ,7th edition,
McGrawHill, 2009.
Suggested Reading:
1. Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, “Fundamentals of Software Engineering”,
PHI, 2nd edition.
2. Ali Behforoz and Frederic J.Hadson, “Software Engineering Fundamentals”, Oxford
Semester-End Press, 1996.
3. PankajJalote “An Integrated Approach to Software Engineering “, 3rd edition, Narosa
Publishing house, 2008.
4. James F.Peters, WitoldPedrycz, “Software Engineering-An engineering Approach”, John
Wiley Inc., 2000.
Download