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

  1. 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)