Download Overview Introduction to Software Engineering and more Schemes and Mind Maps Introduction to Computers in PDF only on Docsity!
Software EngineeringSoftware Engineering OverviewOverview
Inst.Inst. Nguyễn
Nguyễn Minh
Minh Huy
Huy
OverviewOverview
Introduction to Software Engineering – Nguyễn Minh Huy
ContentsContents ^ Basic concepts.Basic concepts. ^ Software quality.Software quality. ^ Brief history.Brief history. ^ Software engineering career.Software engineering career.
Introduction to Software Engineering – Nguyễn Minh Huy
Basic conceptsBasic concepts ^ What is software?What is software?
^ Software vs. Program?Software vs. Program?
^ Software =Software = Program
Program
SS^ + Data + Documents.+ Data + Documents.
^ Software vs. Hardware?Software vs. Hardware?
^ Control hardware.Control hardware.^ Flexibility:Flexibility:^ Flexibility:Flexibility:^
Adapt to changes.Adapt to changes. Can be updated.Can be updated. ^ Ubiquitous computing.Ubiquitous computing.
Introduction to Software Engineering – Nguyễn Minh Huy
Basic conceptsBasic concepts ^ Types of software:Types of software:
^ Users: general, specific.Users: general, specific. ^ Purposes: utility, business, game.Purposes: utility, business, game. ^ Hardware access level: system, tool, app.Hardware access level: system, tool, app. ^ Computer devices: server, desktop, mobile.Computer devices: server, desktop, mobile. ^ Internet: web, desktop.Internet: web, desktop.
Introduction to Software Engineering – Nguyễn Minh Huy
Basic conceptsBasic concepts ^ Software engineersSoftware engineers –
^ Who are trained to join the field.Who are trained to join the field. ^ Have knowledge and professional skills.Have knowledge and professional skills. ^ Software engineer vs.:Software engineer vs.:
^ Programmer, developer.Programmer, developer. ^ Hardware engineer?Hardware engineer? ^ System engineer?System engineer?
^ Social position??Social position??
Introduction to Software Engineering – Nguyễn Minh Huy
ContentsContents ^ Basic concepts.Basic concepts. ^ Software qualitySoftware quality
..
^ Brief history.Brief history. ^ Software engineering career.Software engineering career. Introduction to Software Engineering – Nguyễn Minh Huy
Software qualitySoftware quality ^ How is good software?How is good software?
^ As developers:As developers:
^ MaintainabilityMaintainability: easy to fix.
: easy to fix.
^ ExtensibilityExtensibility: easy to update.
: easy to update.
Introduction to Software Engineering – Nguyễn Minh Huy
ContentsContents ^ Basic concepts.Basic concepts. ^ Software quality.Software quality. ^ Brief history.Brief history. ^ Software engineering career.Software engineering career.
Introduction to Software Engineering – Nguyễn Minh Huy
Brief historyBrief history ^ Stage 2: TeenagerAStage 2: TeenagerA
^ NATO conference 1968.NATO conference 1968. ^ Apply scientific methods:Apply scientific methods:
^ Discipline.Discipline. ^ Professional approaches.Professional approaches.^ WellWell
- -organized activities.organized activities. ^ WellWell
- -organized activities.organized activities.
^ Software process:Software process:
^ WellWell-
-defined stepdefined step-
-byby--steps.steps.
^ Predictable.Predictable. ^ Technical documents.Technical documents.
Introduction to Software Engineering – Nguyễn Minh Huy
Brief historyBrief history ^ Stage 3: GrownStage 3: Grown-
-upAupA
^ User needs:User needs:
^ More complex.More complex. ^ Frequently change.Frequently change.
^ HeavyHeavy-
-weight process.weight process.
^ Rapid, iterate methods.Rapid, iterate methods.^ Rapid, iterate methods.Rapid, iterate methods. Rapid application development (RAD):Rapid application development (RAD):^ ^
Split development into loops.Split development into loops. Get feedback frequently.Get feedback frequently. Reduce documents.Reduce documents. People oriented.People oriented.
Introduction to Software Engineering – Nguyễn Minh Huy
Software engineering careerSoftware engineering career ^ The big picture:The big picture:
^ Standish Group, 2011Standish Group, 2011 -
^ 20% FAILED!20% FAILED! ^ 50% HAVE PROBLEMS!50% HAVE PROBLEMS! ^ 30% SUCCESSFUL!30% SUCCESSFUL!
^ No silver bulletANo silver bulletA^ No silver bulletANo silver bulletA
^ Software process.Software process. ^ High level language (2High level language (
ndnd, 3, 3
rdrd).).
^ Object Oriented Programming.Object Oriented Programming.thth ^44
- -generation programming language.generation programming language.
Introduction to Software Engineering – Nguyễn Minh Huy
Software engineering careerSoftware engineering career ^ Work characteristics:Work characteristics:
^ AdAd-
-hoc (often).hoc (often).
^ High work pressure:High work pressure:
^ Overtime work (OT).Overtime work (OT). ^ “Worker in the office”.“Worker in the office”. Obsolete knowledge and technologies.Obsolete knowledge and technologies.
^ Obsolete knowledge and technologies.Obsolete knowledge and technologies.
^ High competitive.High competitive. ^ “No country for old men”.“No country for old men”.
Introduction to Software Engineering – Nguyễn Minh Huy
ProjectProject ^ Project preparation:Project preparation:
^ Registration: team members & project name.Registration: team members & project name. ^ Working rules: all members must follow.Working rules: all members must follow. ^ Workspace:Workspace:
^ Team website:Team website:
Team information: members, rules, project description.Team information: members, rules, project description. Team information: members, rules, project description.Team information: members, rules, project description. Project schedule: weekly plan, report, and resources.Project schedule: weekly plan, report, and resources. ^ Working place.Working place.
^ KickKick-
-off meeting.off meeting.
Introduction to Software Engineering – Nguyễn Minh Huy
DiscussionDiscussion ^ Career path:Career path:^ Think about your “CAREER PATH”:Think about your “CAREER PATH”:
- Draw time arrow, 4 milestones: graduate,5Draw time arrow, 4 milestones: graduate,5-
-year,10year,10-
-year, 20year, 20-
-year.year.
- Answer 3 questions at each milestone:Answer 3 questions at each milestone:
- Still work in software engineering? If no, why not?+ Still work in software engineering? If no, why not? + Expected work position?+ Expected work position?+ Expected work position?+ Expected work position? + Expected salary?+ Expected salary?
- Describe final goals of your career path.Describe final goals of your career path. Introduction to Software Engineering – Nguyễn Minh Huy