course 254 451 software engineering michael bruecknerphone055-261 000-4 (ext. 3233) อ....
TRANSCRIPT
Course 254 451 Course 254 451 Software EngineeringSoftware Engineering
Michael BruecknerMichael Brueckner phonephone 055-261 000-4 (ext. 3233)055-261 000-4 (ext. 3233)
ออ..มิ�ช่�ามิ�ช่�า emailemail [email protected]@nu.ac.thofficeoffice SC2-417, by appointmentSC2-417, by appointment
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering22
Software EngineeringSoftware Engineering
uses appropriate engineering principles in uses appropriate engineering principles in order to obtain economically software that order to obtain economically software that is is reliablereliable works efficiently on real machinesworks efficiently on real machines
studies such principlesstudies such principles
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering33
Basic Questions of SEBasic Questions of SE
What is the problem to be solved?What is the problem to be solved? Which characteristics do the problem Which characteristics do the problem
related entities have?related entities have? How will the solution be realized?How will the solution be realized? How will the solution be constructed?How will the solution be constructed? How can errors be uncovered?How can errors be uncovered? How to deal with support after release to How to deal with support after release to
the customer?the customer?
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering44
SE Process Model-2SE Process Model-2
Basic SE process modelsBasic SE process models Linear Model (Waterfall)Linear Model (Waterfall) Evolution Model (Prototyping)Evolution Model (Prototyping) Formal Transformation ModelFormal Transformation Model Reusable Components ModelReusable Components Model
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering55
Project ManagementProject Management
We focus We focus เพ่�งความสนใจเพ่�งความสนใจ on IS projectson IS projects We focus on practical We focus on practical ที่��ขึ้��นอยู่��กั�บความเป็�นที่��ขึ้��นอยู่��กั�บความเป็�นจริ�งจริ�ง stepssteps
We cover the whole lifecycle of a projectWe cover the whole lifecycle of a project We don‘t want to use many software toolsWe don‘t want to use many software tools
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering66
Project Management / OverviewProject Management / Overview
Introducing Project ManagementIntroducing Project Management Some TermsSome Terms
The Lifecycle of ProjectsThe Lifecycle of Projects
LifecycleAll processes from the start till the end of a project. Usually the lifecycle is divided into phases with certain milestones. Some phases maybe have to be worked out two or more times.
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering77
Project Management / IntroductionProject Management / Introduction
First question: Do we need a project?First question: Do we need a project? Standard Software SolutionStandard Software Solution OutsourcingOutsourcing Co-operationCo-operation To much to do (feasibility To much to do (feasibility ซึ่��งเป็�นไป็ได้ ซึ่��งเป็�นไป็ได้ ))
New processes = no softwareNew processes = no software
OutsourcingGive some work out of the company and let it be done by special
partners. This leads to a concentration on your main business.
FeasibilityThe ability to do a complex work or project: technical, economic, legal, operational, schedule.
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering88
Standard Software SolutionStandard Software Solution
Can you solve Can you solve แกั แกั ป็"ญหาป็"ญหา the problem by the problem by a standard software?a standard software?
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering99
Project Management / IntroductionProject Management / Introduction
Project Management is Information Management Project Management is Information Management applied applied ที่��ป็ริะยู่&กัต์(ได้ ที่��ป็ริะยู่&กัต์(ได้ to projectsto projects Problem analysis (getting information)Problem analysis (getting information) Requirements (analyse Requirements (analyse ว�เคริาะห(ว�เคริาะห( problem solutions)problem solutions) Design the solutionDesign the solution Programming & ImplementationProgramming & Implementation Testing & Quality AssuranceTesting & Quality Assurance Installation & ServiceInstallation & Service Migration SpecificationMigration Specification
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1010
Software MigrationSoftware Migration
Migration: make software available in a Migration: make software available in a different environmentdifferent environment
Example: MS Access to MySQLExample: MS Access to MySQL
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1111
Project Management / Some TermsProject Management / Some Terms
ProjectProject Project ManagementProject Management PhasePhase MilestoneMilestone Deliveries = Project DocumentDeliveries = Project Document Work Breakdown StructureWork Breakdown Structure Time schedulingTime scheduling Work schedulingWork scheduling
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1212
Project Management / ProjectProject Management / Project
Examples:Examples:
I build my own PC from spare parts: 1 person with I build my own PC from spare parts: 1 person with limited budget, 1 month time schedulelimited budget, 1 month time schedule
Bring a man on the moon: 25.000 people with Mio. Bring a man on the moon: 25.000 people with Mio. USD-budget, 7 years time scheduleUSD-budget, 7 years time schedule
Implementation of an information system: 50 people, Implementation of an information system: 50 people, 1 Mio. budget, 6 months time schedule1 Mio. budget, 6 months time schedule
A project is a temporary ที่��เป็�นกัาริชั่��วคริาว endeavor ความพ่ยู่ายู่าม with a budget งบป็ริะมาณ and a timeline to achieve ส+าเริ,จ particular aims and to which project management can be applied.
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1313
Project Management / DefinitionProject Management / Definition
PM standardizes PM standardizes ที่+าให เป็�นมาต์ริฐานที่+าให เป็�นมาต์ริฐาน and structures and structures สริ างสริ างโคริงสริ างโคริงสริ าง the basic the basic จ+าเป็�นที่��ส&ด้จ+าเป็�นที่��ส&ด้ taskstasks in a projectin a project
PM aims at completing a project in the most cost-effective PM aims at completing a project in the most cost-effective
and efficient and efficient ซึ่��งม�ป็ริะส�ที่ธิ�ภาพ่ซึ่��งม�ป็ริะส�ที่ธิ�ภาพ่ way way
Project Management is the application of knowledge, skills, tools, and techniques to the activities in a project. Project management comprises five basic tasks – Initiating ริ�เริ��ม , Planning วางแผน , Executing ด้+าเน�นกัาริ , Controlling ต์ริวจสอบ , Closing จบ
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1414
Project Management / PhaseProject Management / Phase
Example:Example: Project StartProject Start (Phase) (Phase)
Activities: get the manpower Activities: get the manpower กั+าลั�งคนกั+าลั�งคน , get the money, get the , get the money, get the room and equipment, define the project‘s deadline room and equipment, define the project‘s deadline กั+าหนด้เวลัากั+าหนด้เวลัาส&ด้ที่ ายู่ที่��ต์ องที่+าให เสริ,จส&ด้ที่ ายู่ที่��ต์ องที่+าให เสริ,จ
Milestone: Project application Milestone: Project application กัาริขึ้อกัาริขึ้อ is signedis signed Documents: „Project Structure“, „Project Plan“ (time and Documents: „Project Structure“, „Project Plan“ (time and
budget), „Project Mission“ budget), „Project Mission“ จ&ด้ม&�งหมายู่จ&ด้ม&�งหมายู่
A Project Phase is a set of activities in a project which form a major ส�วนใหญ� part of the work. The project phase is completed with a project milestone and defined documents that have to be delivered.
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1515
Project Management / MilestoneProject Management / Milestone
Example:Example: End of ProjectEnd of Project (Milestone): (Milestone): Completes the phase "Installation and Maintenance“Completes the phase "Installation and Maintenance“ Delivered documents: "Project Completion Approval" signed by Delivered documents: "Project Completion Approval" signed by
Project BoardProject Board
A Milestone completes a project phase. It is defined as a date at which required ต์ องกัาริ documents have to be delivered.
MS1
Phase 1 Phase 2
MS2
. . .
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1616
Project Management / Deliveries, Project DocumentProject Management / Deliveries, Project Document
For some results in the project there must be For some results in the project there must be
substitute substitute คนหริ3อส��งที่��เขึ้ าแที่นที่��คนหริ3อส��งที่��เขึ้ าแที่นที่�� documents, such as for executable code.documents, such as for executable code.
A Project Document is a document which has a defined scope ขึ้อบเขึ้ต์ and content สาริ relevant เขึ้ าป็ริะเด้,น to the project. Every Project Document must have an author (responsible for delivering ส�ง at time เกั�ด้ขึ้��นเหมาะสมกั�บเวลัา and in sufficient พ่อเพ่�ยู่ง quality) and a review กัาริที่บที่วน team (one or many persons).
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1717
PM / Work Breakdown Structure-1PM / Work Breakdown Structure-1
The Work Breakdown Structure (WBS) is a plan which defines all the work that has to be done until the project is completed.
Information Information investigationinvestigation
10 days10 days Keywords fromKeywords from
"Principles of IS""Principles of IS"
"Journal of IM" / Web"Journal of IM" / Web
Scheduling (16 Scheduling (16 lectures, 15 labs)lectures, 15 labs)
2 days2 days How many slides per How many slides per class, types of exercisesclass, types of exercises
ExcelExcel
Outline of slidesOutline of slides
..........
40 days40 days Analyzing keywordsAnalyzing keywords
BrainstormingBrainstorming
..........
Example / Part of the WBS of a course
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1818
PM / Work Breakdown Structure-2PM / Work Breakdown Structure-2
Sometimes you add Sometimes you add ริวมริวม the dependencies the dependencies กัาริพ่��งพ่าอาศั�ยู่กัาริพ่��งพ่าอาศั�ยู่ / / เม3องขึ้��นเม3องขึ้��น to the WBSto the WBS
This called a task network (Pressman, p. This called a task network (Pressman, p. 180/181)180/181)
Here you see the dependencies of the tasks and a timeline
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering1919
Project Management / Work SchedulingProject Management / Work Scheduling
During work scheduling you During work scheduling you assign assign มอบหมายู่มอบหมายู่ people people (project staff) to every task (project staff) to every task in the work breakdown in the work breakdown structure.structure.
You have to take into You have to take into account account พ่�จาริณาพ่�จาริณา the skill the skill ความเชั่��ยู่วชั่าญความเชั่��ยู่วชั่าญ and the and the availability availability ใชั่ ป็ริะโยู่ชั่น(ได้ ใชั่ ป็ริะโยู่ชั่น(ได้ of of the staff.the staff.
Writing the storyboard
Review
Setting up the budget
Casting
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering2020
Project Management / Time SchedulingProject Management / Time Scheduling
The Time Scheduling results เป็�นผลั in a time plan that shows the work breakdown structure on a calendar ป็ฏิ�ที่�น
/ ริายู่กัาริแสด้งเวลัาน�ด้ .
Take into account how many people work on a specific task.
Let‘s say: 40 days for slide creation
1 person needs 40 days
40 persons need 1 day.
But: This is not always true. Think: On woman needs 9 months to give birth. And 9 women?
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering2121
Project Management / Time SchedulingProject Management / Time Scheduling
Another example: Document reviewAnother example: Document review People need to read the document carefullyPeople need to read the document carefully Depends on the difficultyDepends on the difficulty Depends on the page numberDepends on the page number => it will take a least time to review a document, you => it will take a least time to review a document, you
cannot share the workcannot share the work
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering2222
The Project Lifecycle 1 / WaterfallThe Project Lifecycle 1 / Waterfall
Systems Investigation Systems Investigation (Start of Project)(Start of Project)
RequirementsRequirements DesignDesign ImplementationImplementation Rollout & InstallationRollout & Installation MaintenanceMaintenance End of Project Deliveries End of Project Deliveries
(Stop of Project)(Stop of Project)
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering2323
The Project Lifecycle 2 / PrototypingThe Project Lifecycle 2 / Prototyping
Determine requirementsDetermine requirements Analyze alternativesAnalyze alternatives Specify designSpecify design ImplementationImplementation User reviewUser review
Iteration 1Iteration 1
Determine requirementsDetermine requirements Analyze alternativesAnalyze alternatives Specify designSpecify design Implement designImplement design User reviewUser review
Iteration 2Iteration 2 ......
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering2424
ControllingControlling
Plan (schedule) against realityPlan (schedule) against reality Ways of controllingWays of controlling
Percentage ready („90% Reports“)Percentage ready („90% Reports“) Number of modules ready for testNumber of modules ready for test
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering2525
Systems Investigation / Start of ProjectSystems Investigation / Start of Project
Is the most critical phase in a project / Is the most critical phase in a project / Possible problemsPossible problems Poor problem definition and analysis Poor problem definition and analysis Solving the wrong problemSolving the wrong problem
Do things right – of course, but also: Do the Do things right – of course, but also: Do the right things!right things!
Poor communicationPoor communication Project is not feasible (too ambitious)Project is not feasible (too ambitious) Lack of top management supportLack of top management support
(c) Michael Brueckner 2005/2006 - Software Engineering(c) Michael Brueckner 2005/2006 - Software Engineering2626
Project Management Success Project Management Success Tips ;-)Tips ;-)
Every task seems easy if you don’t have to do the Every task seems easy if you don’t have to do the work.work.
Things should be as simple as possible but no Things should be as simple as possible but no simpler.simpler.
Good engineering is expensive; poor engineering is Good engineering is expensive; poor engineering is more so.more so.
Never be where you are not wanted.Never be where you are not wanted.
If you have a “yes man” working for you, one of you If you have a “yes man” working for you, one of you is redundant.is redundant.
If everybody thinks alike, nobody thinks at all.If everybody thinks alike, nobody thinks at all.