CEN 5011 Advanced Software Engineering Introduction Instructor Masoud
- Slides: 12
CEN 5011 Advanced Software Engineering Introduction Instructor: Masoud Sadjadi http: //www. cs. fiu. edu/~sadjadi/Teaching/ sadjadi@cs. fiu. edu CEN 5011 1 st Lecture
Acknowledgements Dr. Peter Clarke Dr. Betty Cheng Dr. Bernd Bruegge Dr. Allen Dutoit CEN 5011: Advanced Software Engineering 1 st Lecture 2
Agenda Introduction to Software Engineering CEN 5011: Advanced Software Engineering 1 st Lecture 3
What is Software Engineering? (1) Systematic approach for developing software “Methods and techniques to develop and maintain quality software to solve problems. ” [Pfleeger, 1990] “Study of the principles and methodologies for developing and maintaining software systems. ” [Zelkowitz, 1978] “Software engineering is an engineering discipline which is concerned with all aspects of software production. ” [Sommerville] CEN 5011: Advanced Software Engineering 1 st Lecture 4
What is Software Engineering? (2) “Practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate, and maintain them. ” [Boehm, 1976] “Deals with establishment of sound engineering principles and methods in order to economically obtain software that is reliable and works on real machines. ” [Bauer, 1972] CEN 5011: Advanced Software Engineering 1 st Lecture 5
Questions Addressed by SE How do we ensure the quality of the software that we produce? How do we meet growing demand still maintain budget control? How do we avoid disastrous time delays? CEN 5011: Advanced Software Engineering 1 st Lecture 6
Why apply SE to Systems? Provide an understandable process for system development. Develop systems and software that are maintainable and easily changed. Develop robust software and system. Allow the process of creating computing-based systems to be repeatable and manageable. CEN 5011: Advanced Software Engineering 1 st Lecture 7
How can we apply SE? 1. Modeling 2. Problem-solving 3. Knowledge acquisition 4. Rationale-driven CEN 5011: Advanced Software Engineering 1 st Lecture 8
1. Modeling “A model is an abstract representation of a system that enables us to answer questions about the system. ” Why use a model? – Systems are too large, too small, too complicated, or too expensive, to experience firsthand. Models allow – Visualization – Comprehension CEN 5011: Advanced Software Engineering 1 st Lecture 9
2. Problem Solving Formulate the problem Analyze the problem Search for solutions Decide on the appropriate solution Specify the solution CEN 5011: Advanced Software Engineering 1 st Lecture 10
3. Knowledge Acquisition Domain specific knowledge. New knowledge can affect the development process. Knowledge acquisition is nonlinear – affects several of the software development models. Risk assessment is important. CEN 5011: Advanced Software Engineering 1 st Lecture 11
4. Rationale Management Assumptions made about systems change constantly. Application domain models stabilize, solution domain models are in constant flux. – Changes to the solution models due to: design and implementation faults new technology Need to understand the context in which each design decision was made. CEN 5011: Advanced Software Engineering 1 st Lecture 12
- Tcole advanced instructor course
- Tcole advanced instructor course
- Tcole advanced instructor course
- Advanced topics in software engineering
- Dr masoud mohammadi
- Masoud sadjadi
- Masoud talebian
- Branch flow model
- Masoud tajfard
- Masoud rostami
- System architecture example
- Forward engineering and reverse engineering
- Software maintenance process models ppt