Name of Notes : – Software Engineering Lecture Note
Software engineering is a branch of computer science which includes the development and building of computer systems software and applications software. Computer systems software is composed of programs that include computing utilities and operations systems. Applications software consists of user-focused programs that include web browsers, database programs, etc.
There is a lot of investment going into software engineering at the moment due to the increasing reliance on mobile technology, venture capital-backed start-ups, the growing complexity of technology, and emerging industries. The demand for skilled and qualified software engineers seems to have no end. This demand is strengthened by a changing economic landscape and fueled by the need for technology solutions. With billions of physical devices around the world that are now connected to the internet and that are collecting and sharing data, all industries are quickly becoming technology driven industries.
Software engineers have extensive knowledge of programming languages, software development, and computer operating systems, and they apply engineering principles to software creation. By applying these engineering principles to every stage of the development process, from requirements analysis to the software process, they can create customized systems for individual clients. Just as a civil engineer will make sure that a bridge has a solid foundation, a software engineer will also begin with a thorough study of requirements and work through the development process in a systematic way.
Modules / Lectures
- Introduction to Software Engineering
- Software Life Cycle Model
- Requirements Analysis and Specification
- Software Design Issues
- Function-Oriented Software Design
- Basic Concepts in Object Orientation
- Object Modeling using UML
- Object-Oriented Software Development
- User Interface Design
- Coding and Testing
- Software Project Planning
- Software Project Monitoring and Control
- Software Reliability and Quality Management
- Software Maintenance
- Computer Aided Software Engineering
- Software Reuse
- Client-Server Software Development