Explore
Login
Register
/
PDF
Clone
Register
Report Bug
PDF
View
1
Study
What is software?
Computer programs and associated documentation. Software products may be developed for a particular customer or for a general market.
What is software engineering?
An engineering discipline that is concerned with all aspects of software production.
Difference between software engineering and computer science
Computer science focuses on theory and fundamentals, while software engineering is concerned with developing and delivering useful software.
Difference between software engineering and system engineering
System engineering is concerned with all aspects of computer-based systems development, including hardware, software, and process engineering. Software engineering is a part of this more general process.
Essential attributes of good software
Maintainability, Dependability and security, Efficiency, Acceptability.
Software process activities
Software specifications, Software development, Software validation, Software evolution.
General issues that affect software
1. Security and trust, 2. Scale.
Types of Ethical Principles in software engineering
1. Public, 2. Client and employer, 3. Product, 4. Judgement, 5. Management, 6. Profession, 7. Colleagues, 8. Self.
What is software process?
A structured set of activities required to develop a software system.
What is a software model?
A software model is like a simplified picture of a process. It shows a description of a process from a particular perspective.
2
Study
Waterfall model
1. Plan-driven model 2. Separate phases of specification and development
Draw a waterfall model
Project-based software engineering drawing
A project-based software engineering drawing typically showcases the project's development stages, including planning, analysis, design, implementation, testing, deployment, and maintenance.
Platforms
Platforms are software or hardware products that include functionality for building new applications. Example: FACEBOOK
Software Execution Models
1. Standalone: The software executes entirely on the customer’s computers. 2. Hybrid: Part of the software’s functions is implemented on the customer's computer, but some features are implemented on the product developer's server. 3. Software as a Service: All of the product’s features are implemented on the developers’ servers, and the customer accesses these through a browser or a mobile app.
Product Visions
Product visions are simple statements that define the essence of the product to be developed.
3
Study
What does the software product management do?
Software product management takes overall responsibility for the product and is involved in planning, development, and product marketing.
Draw the software product management drawing.
What is the use of prototyping?
Prototyping may be used to help identify fundamental software components or services and to test technology.
What are the principles of Agile Methods?
1. Customer involvement 2. Incremental delivery 3. People not process 4. Embrace change 5. Maintain simplicity
What are the Extreme Programming Practices?
1. Incremental planning 2. Small releases 3. Simple design 4. Test first development 5. Refactoring
What is Scrum?
Scrum is an agile method that focuses on managing iterative development rather than specific agile practices.
What are Scrum Terminologies?
1. Scrum 2. Scrum Master 3. Sprint 4. Velocity
4
Study
What is Model Driver Engineering (MDE)?
Model Driver Engineering is still at an early stage of development and it is unclear whether or not it will have a significant effect on software engineering practice.
Pros of Model Driven Engineering (MDE)
- Allows systems to be considered at higher levels of abstraction - Generating code automatically means that it is cheaper to establish systems to new platforms.
Cons of Model Driven Engineering (MDE)
- Models for abstraction and not necessarily right for implementation - Savings from generating code may be outweighed by the costs of developing translators for new platforms.
What is System Modeling?
System Modeling is the process of developing abstract models of a system with each model presenting a different view or perspective of that system.
Types of Models
1. A computation independent model (CIM) 2. A platform independent model (PIM) 3. Platform specific model (PSM)
Draw the Multiple Platform Specific Models
UML Diagram Types
1. Activity diagrams 2. Use case diagrams 3. Sequence diagrams 4. Class diagrams 5. State diagrams.
Types of System Perspectives
1. External perspective 2. Interaction perspective 3. Structural perspective 4. Behavioral perspective
5
Study
Draw Context of the Mentcare System
Tabular Description of the Transfer data Use Case
1. Actors 2. Description 3. Data 4. Stimulus 5. Response 6. Comments
Key Points of Model Driven Agile (MDA)
1. Context models show how a system is positioned in an environment 2. Behavioral models describe dynamic behavior 3. Activity diagrams represent process steps 4. State diagrams model system behavior in response to events 5. Model Driven Engineering transforms models to executable code
Draw Readers of different types of requirements specification
Properties of Metrics for specifying nonfunctional requirements
1. Speed 2. Size 3. Ease of use 4. Reliability 5. Robustness 6. Portability
Types of requirements
1. User Requirements 2. System Requirements
User Requirements
Statements in natural language plus diagrams written for customers
System Requirements
Structured document with detailed descriptions of the system's functions, services, and operational constraints