JNTUA B.Tech. R20 Regulations

########## JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY ANANTAPUR B.Tech IV-I Sem L T P C

##### 3 0 0 3

(20A05704c) SOFTWARE ENGINEERING (Open Elective Course - III) SOFTWARE ENGINEERING (Open Elective Course - III) Course Objectives:	(20A05704c) SOFTWARE ENGINEERING (Open Elective Course - III)
• To learn the basic concepts of software engineering and life cycle models • To explore the issues in software requirements specification and enable to write SRS documents for software development problems • To elucidate the basic concepts of software design and enable to carry out procedural and object oriented design of software development problems • To understand the basic concepts of black box and white box software testing and enable to design test cases for unit, integration, and system testing • To reveal the basic concepts in software project management
Course Outcomes (CO):
After completion of the course, students will be able to • Obtain basic software life cycle activity skills. • Design software requirements specifications for given problems. • Implement structure, object oriented analysis and design for given problems. • Design test cases for given problems. • Apply quality management concepts at the application level.
UNIT - I	Basic concepts in software engineering and software project management	Lecture 8Hrs
Basic concepts: abstraction versus decomposition, evolution of software engineering techniques, Software development life cycle (SDLC) models: Iterative waterfall model, Prototype model, Evolutionary model, Spiral model, RADmodel, Agile models, software project management: project planning, project estimation, COCOMO, Halstead's Software Science, project scheduling, staffing, Organization and team structure, risk management, configuration management.
UNIT - II	Requirements analysis and specification	Lecture 8Hrs
The nature of software, The Unique nature of Webapps, Software Myths, Requirements gathering and analysis, software requirements specification, Traceability, Characteristics of a Good SRS Document, IEEE 830 guidelines, representing complex requirements using decision tables and decision trees, overview of formal system development techniques, axiomatic specification, algebraic specification.
UNIT - III	Software Design	Lecture 9Hrs
Good Software Design, Cohesion and coupling, Control Hierarchy: Layering, Control Abstraction, Depth and width, Fan-out, Fan-in, Software design approaches, object oriented vs. function oriented design. Overview of SA/SD methodology, structured analysis, Data flow diagram, Extending DFD technique to real life systems, Basic Object oriented concepts, UML Diagrams, Structured design, Detailed design, Design review, Characteristics of a good user interface, User Guidance and Online Help, Mode-based vs Mode-less Interface, Types of user interfaces, Component-based GUI development, User interface design methodology: GUI design methodology.
UNIT - IV	Coding and Testing	Lecture 9Hrs
Coding standards and guidelines, code review, software documentation, Testing, Black Box Testing, White Box Testing, debugging, integration testing, Program Analysis Tools, system testing, performance testing, regression testing, Testing Object Oriented Programs.
UNIT - V	Software quality, reliability, and other issues	Lecture 9Hrs
Software reliability, Statistical testing, Software quality and management, ISO 9000, SEI capability maturity model (CMM), Personal software process (PSP), Six sigma, Software quality metrics, CASE and its scope, CASE environment, CASE support in software life cycle, Characteristics of software maintenance, Software reverse engineering, Software maintenance processes model, Estimation maintenance cost. Basic issues in any reuse program, Reuse approach, Reuse at organization level.
Textbooks: