Software Engineer II designs and develops software applications. Performs coding, debugging, testing and troubleshooting throughout the application development process. Being a Software Engineer II requires a bachelor's degree. Typically reports to a manager.
2. • Process models
Traditional and agile models
• Requirement engineering
Different phases
• Software Design
Conceptual and architectural design
• Modeling
UML diagrams
• Software Testing
What you have learned
3. • Software Development Process Models
• Project Management Concepts,
• Project Metrics
• Software Project Planning
• Risk Analysis and Management
• Project Schedules and Tracking
• Software Quality Assurance
• Requirement Engineering Processes
• Software Re-engineering.
Software Engineering II
4. 1. The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software; that
is, the application of engineering to software.
Software Engineering
IEEE
5. ‘All aspects of software production’
Software engineering is not just concerned with
the technical processes of software development
but also with activities such as software project
management and with the development of tools,
methods and theories to support software
production.
-Sommerville
Software Engineering
8. The Balancing Act!
Potentially conflicting requirements
Cost vs. Efficiency
Cost vs. Reliability
Efficiency vs. User-interface
Challenge is to balance these requirements.
17. Software Engineering Phases
1. Vision – focus on why
2. Definition – focus on what
3. Development – focus on how
4. Maintenance – focus on change
Vision Definition Development Maintenance
18. Different Lifecycle Models
1. Build-and-fix model
2. Waterfall model
3. Rapid prototyping model
4. Incremental model
5. Extreme programming
6. Synchronize-and-stabilize model
7. Spiral model
8. Object-oriented life-cycle models
19. Build and Fix Model
Build first
version
Modify until
client is satisfied
Maintenance
phase
Retirement
Development
Maintenance
22. Text books
R. S. Pressman, Software Engineering: A
Practitioner’s Approach, 7th Edition, McGraw Hill
Education.
I. Sommerville, Software Engineering, 9th Edition,
Pearson Education, 2011.