SE (SOFTWARE ENGINEERING)

DCRUST SYLLABUS

CSE309C   SOFTWARE ENGINEERING

CATEGORY : ENGINEERING SCIENCE COURSE

Course Objectives:

  1. To enable students to apply a systematic application of scientific knowledge in creating and building cost effective software solutions to business and other types of problems.
  2. To make students understand different phases to make a software & study them in detail.
  3. To make students understand different testing techniques for different projects, making the students understand to develop quality software, its maintenance & software reliability.
  4. To make students aware about the design models & its principles (data design, component design, interface design & architectural design).

Unit I

Introduction:- Evolving role of software, Software Characteristics, Software crisis, Software myths, Software process, Software development Models: Waterfall Model, Prototype Model, Spiral, Model, RAD Model, Iterative Model, Incremental Model, Aspect-oriented Model, Agile Methodology: Pair and mob programming,  high performance teams with core protocols, test driven development, behaviour driven development, continuous delivery, clean code, refactoring, extreme programming, Scrum.

Click on any topic to read about the topic.

Unit II

Requirements, Analysis & Specification:- Software Requirements engineering, Requirement Engineering Process, Requirement Engineering Tasks, Types of requirements, SRS.

System Modeling:- Data Modeling, Functional modeling and information flow: Data flow diagrams, Behavioral Modeling, The mechanics of structured analysis: Creating entity/ relationship diagram, data flow model, control flow model, the data dictionary.

Click on any topic to read about the topic.

Unit III

System Design:- Design principles, the design process; Design concepts: Abstraction, refinement, modularity, software architecture, control hierarchy, structural partitioning, data structure, software procedure, information hiding; Effective modular design: Functional independence, Cohesion, Coupling; Design Heuristics for effective modularity, Data Design, Architecture Design, Interface Design.

Software Testing And Maintenance:- Testing terminology: error, bug/defect/fault, failure, Verification and validation, Test case design, Static testing, Dynamic testing, Black box testing, Boundary value analysis, White box testing, basis path testing, Unit testing, Integration testing, Acceptance Testing, debugging, debugging process debugging approaches. Software maintenance categories, Models.

Click on any topic to read about the topic.

Unit IV

Software Quality Models And Standards:- Quality concepts, Software Quality Assurance, SQA activities, Formal approaches to SQA; Statistical software quality assurance; CMM, The ISO 9126 Standard, Configuration Management, Software reengineering, reverse engineering, restructuring, forward engineering,

Software Project Management:- Project management concepts, Planning the software project, Software Estimations, empirical estimation COCOMO, staffing, team structures, staffing, risk analysis and management..

Click on any topic to read about the topic.

TEXT /REFERENCE BOOKS:

  1. Software Engineering – A Practitioner’s Approach, Roger S. Pressman, 1996, MGH.
  2. Fundamentals of software Engineering, Rajib Mall, PHI
  3. Software Engineering by Ian sommerville, Pearson Edu., 5th edition, 1999,AW,
  4. Software Engineering – David Gustafson, 2002, T.M.H
  5. Software Engineering Fundamentals Oxford University, Ali Behforooz and Frederick J. Hudson1995, JW&S
  6. An Integrated Approach to Software Engineering by Pankaj jalote, 1991, Narosa.

Course Outcomes:  After successful completion of the course, a student will be able to :-

  1. Understand basic concepts of software engineering, implement Software life cycle models and have knowledge of different estimation models.
  2. Understand requirement and modeling concepts in software development.
  3. Understand the different design principles of a software project and prepare soft testing strategies.
  4. Understand and incorporate the Software Quality standards and build a robust software
error: You can only copy the programs code and output from this website. You are not allowed to copy anything else.