7.1 the software engineering discipline 7.2 the software life cycle 報告者 : 林建任

18
7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報報報 : 報報報

Upload: suzan-mills

Post on 11-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

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 報告者 : 林建任

The Software Life Cycle

New development process 1.Requirements analysis and confirmation2.Design and validation3.Implementation and testing