Title: 310313 Software Engineering ?????????????????
1310313 Software Engineering?????????????????
2???????????????
- ????????????????
- ????????????????????????????????????????
- ???????????????????????
- ??????????????????????????
- ????????????????????????
- ??????????????????????????????????
3?????????????????
- ??????????????????????????????????????????????????
??????????????????????????????? - ??????????????????????????????????????
- ??????????????????????????????????????
- ??????????????????????????????????????????????????
?????? - ?????????????????????????????????????????????
4????????????????????
- ??????????????????????
- ????????????????????
- ??????? ?????????
- ????????????????????????
- ?????????????????????????
- ??????????? ??????????
- ???????????????????????????????????????????
- ???????????????
- ?????? download ????????????
- http//course.buu.ac.th/
5????????????????????
- ??????? (???????? 4-5 ??)
- ???????????? 1 ????
- ????????????
- ???????????????????
- ????????? (?????????)
- ??????
- ?????????
6????????????????????
- ???????????
- Bernd Bruegge andAllen H. Dutoit Object-Oriented
Software Engineering Using UML,Pattern, and Java
,2nd Edition, Prentice Hall,2004
7????????????????????
- ?????????????
- Pressman, R. S ,Sofware Engineering a
practioner's approach 5th ed., McGraw-Hill, 2001.
- Fowler, Scott ,UML Distilled 2nd ed., - (Addison
Wesley) - Stephen R. Schach Classical and Object-Oriented
Software Engineering With UML and Java, McGraw
Hill, 1999 - G. Booch, J. Rumbaugh, I. Jacobson The Unified
Modeling Language User Guide - (Addison Wesley)
8?????????????
- ?????????????????????????????????????????
?????????????????????????????????
???????????????????????????????????????????? - Rational Rose 2000(CASE Tool)???? starUML ????
ArgoUML - ?????????????????????
- ?????????????????? Java, Servlet, Jsp , .NET
9(No Transcript)
10(No Transcript)
11?????????
- ??????????????
- ?????????????? 10
12????????????????
- 1.?????????/????????????????????? ????????????
- 15
- 2. ?????????????????? ??????? 4 - 5 ?? 25
- 3. ?????????????????????????????????
60 - ???????????
- ??????? 15
- ?????????? 20
- ?????????? 25
13????????????
14???????????
- ???????????????
- ?????????????????????????
- ???????????????
- ?????????????????????????
15?????????????????????????????
- ?????????????????????????????
- ??????????????????????????????????????????????????
???? - ???????????????????????????????????????????????
- ??????????????????????????? ???????????????????
??????????????????????????????????????????????????
???
16Contents
Week PowerPoint file Ch(s)
1 Introduction and Overview 1
2,3 Object-oriented Modeling with UML 2,9
4 Software Development process 15.4
5, 6 System Requirements Capture 4
7 System Analysis 5
8 System Analysis Midterm 5
9 System Design 6, 7
10 Database design, Implementation 8,9,10
11, 12 Testing, Cost Estimation 11
13 Software Quality Assurance 13, 15
14 Managing Software Development 14,16
17Team Project
- Your Client BUCC Campus Foods
- Your Goal Design a web-based architecture to
- Extend an existing product catalog
- Support flexible, dynamic pricing rules for sales
promotions - Provide web interface(s) for sales manager and
customers - Provide a web services API for B2B transactions
18BUCC Campus Today
BUCC CampusTomorrow
HTTP
Web Interface(Sales Mgr)
Application Server
WS
3rd-PartyApplications
OrderDB
ProductDB
BusinessRules
HTTP
Web Interface(Customer)
19Possible Team Tasks(subject to further
refinement)
- Write concept document, sketch architecture, list
requirements questions - Draft requirements document, list use cases,
specify user interface - Write use cases, model domain classes
- Model solution classes behavior
- Model package structure, database design, and
interface design - Draft project plan (tasks, milestones, schedule,
resource allocation, risk plan) - Initial prototype implementation of a subset of
the critical functional requirements on the
course web development server
20Alternative Projects
- Students with a well-formed idea for a team
project may petition the instructors for
permission to work on an alternative topic
21Project Grade
Task Task name Value Date out Due date
0 Group Formation, Group Management and Personal Time-log 10 June Weekly
1 Initial System Prototype Development 15
2 System Requirements Specification 15
3 System Analysis User Interface Specification 30
4 System Design Specification Implementation 30
22???????????????????
- ???????????????????????????????????
- ????! ????????????
- ??????????????????????????????..
?????????????????? - ?????????????????????? ????????????????????
- ???????????? .. ?????????????? ???????????????????
?????? ????????????????? ????????????? - ?????????????????? ???????????????????????????
??????????????????????????
23???????????????????(???)
- ??????????????????????????????????????????????????
? - ???????
- ????
- ???????
- ???????????????????????????????????
- ??????????????????????????????????????????
- ??????????????????????????????????????????????????
???? ?????????????????????????? - ?????????????????????????????????????????????????
24?????????????????????????????????????????????????
- ????????????????????????????????
- ???????????????????????????????????????????
25?????????(Software)
- A Program
- A Programming Product
- A Programming System
- A Programming System Product
Brooks, F. P. Jr, The Mythical Man-Month, 1975
26A Program
- ???????????????(??????????)?????????
?????????????? - ??????????????????????????????????????????
?????????????????????????? - ???????????????????????????
- Programming Product
- Programming System Product
27A Program
A Programming System
A Program
X 3
(Interfaces, System Interaction)
X 3
A Programming Product
A Programming Systems Product
(Generalization, Testing Documentation Maintenance
)
28A Programming Product
- ?????????????????????? ???????????????? ?????
????? ??? ?????????????????????? - ?????????????????????????????, ????????????????,
????????????????????????????? - Brooks ???????????????????????????????????????????
?????????????????????? 3 ????
29A Programming System
- ???????????????????????????????
- ???????????????????????????????
- ????????????????????????????????????????? Input
??? Output ??????????????????????????????? - ???????????????????????????????????????????
- ?????????????????????????????????????????????
- Brooks ???????????????????????????????????????????
?? (a stand-alone program) ?????? 3 ????
30A Programming Systems Product
- ?????????????????????????????????? 9 ????
- ??????????????????????????????????????????
?????????????????????????????????????????????
31?????????
- ??????????????????????????????
- ???????????????????????
32???????????????????????
- ?????????????????????????????????????? (logical)
- ????????????????????????? (developed)
???????????????????? ??????????????????? - ???????????????????????????
Pressman R. S., Software Engineering
Apractitioners Approach 5th Edition, 2001
33?????????????
??????????
????
???????????????????????????????? Hardware
34?????????????
?????????????????????
????
???????????????????????????????? Software
(???????)
35?????????????
????
???????????????????????????????? Software
(????????????)
36???????????????????????
- ????????????????? (maintainability)
- ??????????? (dependability)
- ????????????? (efficiency)
- ????????????? (usability)
37??????????????????????????
- ...to get away from ad hoc and unpredictable
software development towards a systematic,
understood one...
38Management myths
- State-of-the-art tools are the solution
- A fool with a tool is still a fool
- Getting behind schedule resolved by hiring
additional programmers - adding people to a late software project makes
it later
39(No Transcript)
40????????????????????????????????????
- ??????????????? users ??? programmers
- ??????????????(change)
- ????????????????????????????????????
????????????????? ??????? ????????????????????????
? - ??????????????????????? The responses to the
crisis - ?????????????????
- paradigms?????????? decomposition
?????????????????????????????????????????
41?????????????????
illustration of software engineering rationale
Maintenance
Maintenance
Testing
Testing
Implementation
Implementation
Design
42?????????????????
- art of computer programming ?????????????????
engineering design ??? planning techniques
????????????????????????? - ???????????????????? CASE (Computer Aided
Software Engineering) - Early software engineering
- ?????????????????????????????????????????
requirements??? design - ?????????????? re-use of components (programs,
functions, objects) - management of complexity of software
(decomposition)
43?????????????????
- OO software engineering
- Plan for change, ease change
- reuse of higher level components
- new ways of decomposition
44??????????????????????????????
Cost to change
45??????????? ?????????????????
- Fritz Bauerr
- ?????????????????????????????????????????
????????????????????????????????????????
??????????????????????????????????????????????????
???????????????????? - ?? 1984 ??????? Software Engineering Concepts ???
R. Fairley - ???????????????????????????????????????
??????????????????????????????????????????????????
??????????
46????????????????????????????
- ?????????????????????????????????? ????????????
????????????? ????????????????????????????????????
? - ??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????? - ????????????????????? ????????????????????????????
????????????????????????????
47????????????
- Software Engineering ??? ?????????????????????????
??????????????????????????????????
???????????????????? - ??????????????????????????????????
- ????????????????????????????????????????
- ?????????????????????????????????????
48?????????????????
- ???????????????????????????????????????????????
- ????????????????????????????
49?????????????????
?????
??????
??????????
????????
50?????????????????????????????
- ????????????????????????????????????????
???????????????????????????
51???????????????
- ??????????????????????????????????????????????????
??????????????????????????
52Three Ps
People
Processes
Products
53People, processes, products
- People
- education
- skills
- communication
- style
- .....
- Products
- requirements
- design
- source code
- executable
- user documentation
- test cases
- test results
- change request
- ....
- Processes
- planning
- coordination
- management
- measuring
- analysing
- designing
- coding
- .....
54????????????????????????????????????????
- Project Manager
- System Analyst
- Programmer
- Software Engineer
55???????????????? (Project Manager)
- ???????????????????????????????????????????????
???????????????????????????????? - ???????
- ?????????????
- ??????????????????????
- ????????????????????????????
56???????????????? (System Analyst)
- ????????????????????????????????????
?????????????????????????????????????????? - ???????
- ???????????????????? (Requirement Analysis)
- ????????????????????????????????????????
57?????????? (Programmer)
- ??????????????????? ????????????????????????
- ???????
- ?????? ??? ????????????
58???????????????(Software Engineer)
- ????????????????????????????????????????
Software Engineer