Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of...

28
Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation to Engineering

Transcript of Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of...

Page 1: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Lecture about

Software Engineering

Mohammad A Kuhail M.Sc.(York,UK)

November 2007

University of PalestineApplied and Urban Engineering College

Orientation to Engineering

Page 2: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Definition

Comparison

Why Software Engineering?

Study Plan Information

Department Objectives

Facilities

Job Opportunities

Big big terms

ConclusionReferences QA

Outline

Page 3: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Engineering

American Engineers Council’s Definition

"The creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes.

Engineering is the discipline of acquiring and applying scientific and technical knowledge to the design, analysis, and/or construction of works

for practical purposes.

Definition

Page 4: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Software Engineering

IEEE Definition

Application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software

Definition

Page 5: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Software Engineering

Knowledge, tools, methods for:

Requirements. Design. Implementation. Testing Maintenance Documentation

Definition

Page 6: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Requirements

Simply the process that encompasses eliciting, representing, and validating software requirements (What the software shall do, and how well shall it do it)

Completeness. Clearness. Testability. Testing Consistency Minimality

Definition

Page 7: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Design

a process of problem-solving and planning for a software solution.

Robustness. Extensibility. Modularity. Reuse. Usability. Security.

Definition

Page 8: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Testing

Making sure the system runs as specified.

Test planning. Test development. Test execution Test Reporting.

Definition

Page 9: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Maintenance

The modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment

Adaptability to user feedback Adaptability to new software/hardware technologies. Adaptability to general enhancements.

Definition

Page 10: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Software Engineering

Encompasses knowledge from:

Computer Engineering Computer Science Mathematics Management Quality Assurance Human Factors Engineering

Definition

Page 11: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

CE Deals with designing, developing, and operating computer systems. At its core, Computer Engineering concentrates on digital hardware devices and computers, and the software that controls them. Advanced courses focus on standard designs and techniques for specific application domains. In contrast to CS and SE, Computer Engineering emphasizes solving

problems in digital hardware and at the hardware-software interface.

Vs. Computer Engineering

Page 12: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

CS focuses on understanding, designing, and developing programs and computers. At its core, Computer Science concentrates on data, data transformation, and algorithms. Advanced courses present specialized programming techniques and specific application domains. The CS program is less structured than the CE and SE programs, giving students more flexibility to build depth or breadth in a variety of application domains or in the fundamentals of Computer Science.

Vs. Computer Science

Page 13: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

An information technologist tends to apply available technology to solve real-

world problems for people.

Areas of interest: Data Management (e.g. Data mining, Data drilling), Data storage (Database, data networking), Data security, Computer programming.

Again there is no emphasis on the software lifecycle, production, management, design, testing, documentation.

Vs. IT

Page 14: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

SE deals with building and maintaining software systems. It is more software-oriented and has a greater emphasis on large software applications than Computer Engineering. It is more applied than Computer Science, placing greater emphasis on the entire software development process, from idea to final product. It is also more disciplined than Computer Science, applying more systematic practices to help ensure that products are reliable and safe.

SE curricula are “deeper” than IT in that there are more required prerequisites

for the intermediate and advanced courses in CS and SE.

The typical SE application involves writing large programs from scratch using traditional programming languages and focusing on software architecture,

data structures and algorithm development issues

SE

Page 15: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

To develop complex software programs of the highest quality, on time, and within budget.

Hardware received a lot of care in planning, and designing because it cant be changed, but software didn’t.

Programmers only cared about writing an efficient code. Software got more complex, and its users grew. A huge team works on software. Reuse, Robustness, Quality, Ease of use became important. Safety Critical Systems.

Why Software Engineering?

Page 16: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Comprehensive Plan

166 hours 5 years

SWE PLAN

Page 17: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

University Requirements

Builds students characters Strengthens English language. Enrich your knowledge.

SWE PLAN

Page 18: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

College Requirements

Builds Mathematics Background. Builds reasoning and thinking skills. Builds a confident character. Qualifies you for the core software Engineering courses

SWE PLAN

Page 19: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Department Requirements

Builds strong software development skills. (i.e. programming, database,) Builds computer hardware design skills. (i.e. O.S., networking, digital

design) Builds relevant mathematics skills Builds relevant computing skills. Builds software engineering lifecycle aspects skills. Builds advanced skills in Software Engineering such as Software Quality

Assurance, Real-time systems, Game design, Human Factors Engineering, Software Usability, Enterprise Applications, Business Applications, Formal methods.

SWE PLAN

Page 20: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

A software engineer who is equipped with all necessary theoretical skills in the core topics of software engineering (Particularly problem solving skills)

A software engineer who is equipped with practical skills in the core topics of software engineering.

A software engineer who is excellent at English software technical writing. A software engineer who is excellent at presenting himself well. A creative, and a software engineer of initiative. A software engineer who is able to work as a team leader, and a team

member.

SWE Department Objectives

Page 21: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Working on a specific software engineering unit for students where they can develop, research, read, and communicate.

Currently you can benefit from the IT college lab. Subscription to magazines in the filed of software engineering this

includes “IEEE, Software Engineering Research Links, International Journal of Software Engineering, …etc.

A digital library that consists thousands of books, in addition to a hard copy library.

Coming soon. The Software Engineering students group. A qualified staff of one PhD., M.Sc. And many other experienced B.Sc.

developers.

Facilities

Page 22: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Basic information

In the United States, according to the U.S. Bureau of Labor, ``computer software engineers are projected to be one of the fastest growing occupations over the 2004-14 period,'' and software engineers, with starting salaries currently ranging from $63,250 to $92,750 per year, are clearly in demand.

Governments and NGOs are funding large-scale initiatives in e-government and e-learning.

Corporations of all sizes need increasingly complex enterprise-wide integrated software solutions.

Job Opportunities

Page 23: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Basic information

Type “Software Engineer” in Monster, you will get thousands of job posts in the U.S., Canada, the European countries, and the Middle East.422 Job posts in one month in UAE titled as “Software Engineer”.

Computer software engineers are projected to be one of the fastest-

growing occupations from 2004 to 2014.

Median annual earnings of computer applications software engineers who

worked full time in May 2004 were about $74,980.

Job Opportunities

Page 24: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Nature of work

Requirements Engineer. System Analyst. Software Designer. Software Architect. Software Tester. Software Quality Assurance. Software Technical writer. Programmer (eww.. Not really)

Job Opportunities

Page 25: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Safety critical systems. Enterprise Applications. Software Architecture.Real-time systems. Human factors engineering. Software Quality Assurance.

Big big terms

Page 26: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

Software Engineering

A Software Engineer is a : Good mathematician, good analyzer and problem solver, and communicator.

Is of great important to industries. Is taken care of by the University of Palestine. Has the most rapid job posts and will continue to be so. Has excellent earnings

So what are you waiting for?

Conclusion

Page 27: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

http://standards.ieee.org/software/index.html

http://ezinearticles.com/?Why-Do-We-Need-Software-Engineering?&id=402532

http://www.softeng.uwaterloo.ca/Prospective/what_is_se.htm http://en.wikipedia.org/wiki/Information_technology http://www.it.rit.edu/it/undergrad/whichpathBS.maml http://www.collegegrad.com/careers/proft44.shtml

References

Page 28: Lecture about Software Engineering Mohammad A Kuhail M.Sc.(York,UK) November 2007 University of Palestine Applied and Urban Engineering College Orientation.

QA