7.1 the software engineering discipline 7.2 the software life cycle 報告者 : 林建任
TRANSCRIPT
![Page 1: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/1.jpg)
7.1 The Software Engineering Discipline 7.2 The Software Life Cycle
報告者 :林建任
![Page 2: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/2.jpg)
The Software Engineering Discipline
Distinction between traditional and software engineering
• The ability to construct systemsfrom generic prefabricated components
• The lack of quantitative techniques─metrics for measuring the properties of software
![Page 3: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/3.jpg)
The Software Engineering Discipline
The levels in research• Practitioners ─Those who work toward developing
techniques for immediate application • Theoreticticians ─Those who search for underlying principles
and theories where more stable techniques will be constructed
![Page 4: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/4.jpg)
The Software Engineering Discipline
CASE• CASE is called Computer –aided Software
Engineering• One of the applications of computer
technology to the software development process
• To continue to streamline and simplify the software develoment process
![Page 5: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/5.jpg)
The Software Engineering Discipline
CASE tools• Project planning systems ─to assist in cost estimation, project scheduling, and personnel
allocation
• Project management systems ─to assist in monitoring the progress of the development project
• Documentation tools ─to assist in writing and organizing documentation
![Page 6: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/6.jpg)
The Software Engineering Discipline
CASE tools• Prototyping and simulation systems • ─to assist in the development of prototypes
• Interface design systems• ─to assist in the development of GUIs
• Programming systems• ─to assist in writing and debugging programs
![Page 7: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/7.jpg)
The Software Engineering Discipline
IDEs(Integrated Develoment Enviorments)• To combine tools for developing software into
a single , integrated package
![Page 8: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/8.jpg)
The Software Engineering Discipline
Professional and Standardization Organizations• ISO(International Organization for
Standardization)• ACM(The Association for Computing Machinery)• IEEE(The Institute of Electrical and Electronics
Engineering)
![Page 9: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/9.jpg)
The Software Life Cycle
The most fundamental concept in software engineering is the software life cycle
• The maintenance phase tends to consist of correcting or updating
• Errors are discovered, changes in the software’s application occur that requires
![Page 10: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/10.jpg)
The Software Life Cycle
When problems occurs?• Errors are discovered• changes in the software’s application occur
that requires corresponding changes in the software
• Changes made during a previous modification
![Page 11: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/11.jpg)
The Software Life Cycle
The Traditional Development Phase• Requirements Analysis• Design• Implementation• Testing
![Page 12: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/12.jpg)
The Software Life Cycle
Requirements Analysis• The software life cycle begins with
requirements analysis• The goal is to specify what services the
proposed system will provide to identify and conditions on those services and to define how the outside world will interact with the system
![Page 13: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/13.jpg)
The Software Life Cycle
Requirements Analysis• It involves significant input from the
stakeholder of the proposed system• The ultimate user is an entity or the mass
market• It consists of compiling and analyzing the
needs of the software users
![Page 14: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/14.jpg)
The Software Life Cycle
Design• It involves creating a plan for the construction
of the proposed system• It is about developing a solution to the problem• The internal structure of the software system is
established in this stage• Diagramming and modeling play important
roles in the design of software
![Page 15: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/15.jpg)
The Software Life Cycle
Implement• It involves the actual writing of problems,
creation of data files, and development of databases
![Page 16: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/16.jpg)
The Software Life Cycle
ImplementDistinctions between a software analyst and a
programmerA software analyst(or a system analyst) is involved with the
entire development process and emphasize the requirements analysis and design steps
A programmer is involved primarily with the implementation step
![Page 17: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/17.jpg)
The Software Life Cycle
Testing • Each intermediate step in the entire
development process should be tested for accuracy. Hence, it is no longer viewed as a separate step in the software development
![Page 18: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任](https://reader037.vdocument.in/reader037/viewer/2022110102/56649e175503460f94b02ae1/html5/thumbnails/18.jpg)
The Software Life Cycle
New development process 1.Requirements analysis and confirmation2.Design and validation3.Implementation and testing