Interactive Learning Experience
What's the difference between software you buy off the shelf and software built just for you?
Click to explore!
Click to explore!
What might this mean for users of generic software?
For generic software users:
What makes software "good"? Let's explore the essential qualities!
Software that grows with you
Software you can trust
Software that respects resources
Software people want to use
Think about software you use daily. What other qualities make it great?
Other important attributes might include:
Beyond the usual challenges, what new problems will software engineering face?
Click on each challenge below to learn more:
Should software engineers need licenses like doctors or lawyers?
What do you think? Vote below:
What societal challenges come with building intelligent drone systems?
Match each system type with the best development approach!
Which process model fits best?
Sequential phases, detailed planning, fixed requirements
Build in small pieces, get feedback, adapt as you go
Assemble from existing components, configure and customize
Safety-critical, fixed requirements, needs extensive testing
Innovative, evolving requirements, needs user feedback
Replacing existing system, standard business processes
User-focused, needs experimentation, evolving features
Why do we need TWO types of requirements? Let's find out!
Written for: Customers & Users
Language: Natural language, simple terms
Example: "The system should allow users to search for books by title, author, or ISBN"
Written for: Developers & Engineers
Language: Technical, precise, detailed
Example: "The search function shall query the database using SQL SELECT statements with WHERE clauses matching title, author_name, or isbn fields, returning results within 2 seconds"