Thursday, 15 December 2016

Software Engineering




















Software engineering is afield of engineering,  for designing and writing programs for computers or other electronic devices.A software engineer, or programmer, writes software (or changes existing software) and compiles software using methods that make it better quality. Better quality software is easier to use, and the code is easier to understand, to maintain, and to add new features. Becoming a software engineer requires university-level classes and practice writing code. Software engineering can be very difficult work. Software engineering is often done as part of a team.


Unit I Introduction to software engineering: Evolution and impact of software engineering, Software life cycle models, Waterfall model, Prototyping model, Evolution and spiral models, Feasibility study, Functional and non-functional requirements, Requirement gathering, Requirement analysis and specification.

Unit II Issues in software design: Basic issues in software design, Modularity, Cohesion, Coupling and layering, Function oriented software design, Data flow diagram and structure chart.

Unit III Object modelling: User interface design, unified process, Object modelling using UML, use case model development, basic of design patterns, types of patterns, Coding standards and code review techniques.

Unit IV Testing: Fundamentals of testing, Test coverage analysis and test case design techniques, Static and dynamic analysis, White box and black box testing, Mutation testing, Software reliability metrics, Reliability growth modelling.

Unit V Software project management: Project management, Project planning and control, Cost estimation, Project scheduling using PERT and GANTT charts, Software configuration management.

Unit VI Quality management : Quality management, ISO and SEI CMMI, PSP and six sigma, Computer aided software engineering, Software maintenance, Software reuse, Component-based software development Advance techniques of software engineering: Agile development methodology, Scrum, Aspect-oriented programming, Extreme Programming, Adaptive software development, Rapid application development (RAD), Software coloning.




2 comments: