Lecture 1 Flashcards
What are the 3 phases of an engineering project?
- Requirements are defined by the client and are refined and agreed upon by the contractor.
- Architects and engineers draw up plans according to best engineering practices.
- The plans are then implemented by builders, under the supervision and inspection of the engineers.
What is software engineering
Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.
what are the “aspects of software production”?
Not just technical process of development. Also project management and the development of tools, methods etc. to support software production
What are the 4 SOEN fundamentals?
Systems should be developed using a managed and understood development process. Of course, different processes are used for different types of software.
Reliability and performance are important for all types of system.
Understanding and managing the software specification and requirements (what the software should do) are important.
Where appropriate, you should reuse software that has already been developed rather than writing new software.
What are the 4 attributes of good software?
Acceptability
Dependability and security
Efficiency
Maintainability
What is acceptability?
Software must be acceptable to the type of users for which it is designed. This means that it must be understandable, usable and compatible with other systems that they use.
What is Dependability and Security?
Software dependability includes a range of characteristic including reliability, security and safety. Dependable software should not cause physical or economic damange in the event of a system failure. Software has to be secure so that malicious users cannot access or damage the system.
What is efficiency?
Software should not make wasteful use of system resource such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, resource util, etc.
What is maintainability
Software should be written in such a way that it can evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable requirement of a changing business environment.`
What are the main SOEN activities
Specification
Development
Validation
Evolution
What is requirement/specification?
The process of establishing what services are required and the constraints on the system’s operation and development.
What are the 3 elements of the requirements?
Requirements elicitation and analysis
What do the system stakeholders require or expect from the system?
Requirements specification
Defining the requirements in detail
Requirements validation
Checking the validity of the requirements
What is software development.
Software development, where the software is designed and programmed.
The process of converting the system specification into an executable system.
What are the 2 steps of Software development
Design: Design a software structure that realizes the specification
Implementation: Translate this structure into an executable program
What are the 4 design activities
Architectural design
Component design
persistence and database design
Interface Design