Introduction to Software Engineering
Categories
Defining Software
Characteristics of software engineers
Domains
Definition of Software Engineering
Developed or engineered, not manufactured, custom build
E.g. Whatsapp, Telegram, Facebook
Instructions, data structures, documentation
Dual Role
Product, Vehicle for delivering a product
Webapps
Establishment & use of sound engineering principal to obtain economically software that is reliable & works efficiently on real machines
Application of a systematic, disciplined, quantifiable approach toi the development, operation, and maintenance of software
Importance
Understand the problem
Design becomes a pivotal activity
Software should exhibit high quality
Software should be maintainable
Practice by Polya
1.Understand the problem
- Plan a solution
3.Carry out the plan
4.Examine the result for accuracy
Process framework
Framework activities(all software process)
Umbrella activities(entire software process)
Communication
Planning
Modeling
Construction
Deployment
Software project tracking and control
Risk management
Software quality assurance
Technical reviews
Measurement
Software configuration management
Reusability management
Work product preparation and production
Responsible
Aware of needs of team members
Honest about design flaws and offers constructive criticism
Resilient under pressure
Sense of fairness
Attention to detail
Pragmatic
System software: compiler
Application software: cinema ticketing
Engineering/ Scientific Software: volcanology
Embedded Software: braking system
Product-Line Software: inventory control products
Web/ Mobile applications: whatsapp
AI software: robotics
Legacy Software
Adapt to new environment
Enhancement
Extended to make it interoperable
Re-architected to make it viable within a network environment
Mobile Applications
Cloud Computing
Product Line Software
Goh Jie Xin(Big Boss)
Soo Xiao Tong(Calefare)
Chew Shi Liang(Calefare)