click below
click below
Normal Size Small Size show me how
Compsci #6
From 6 [software engineering]
| Term | Definition |
|---|---|
| Software products | Generic software systems offer broad functionality for many customers, while custom software is essential for large organizations |
| Software product line | A set of software products that share a common core. Each member of the product line includes customer-specific adaptations and additions |
| Project-based software engineering | Starts with a set of software requirements owned by an external client. A software company designs the software, changing the software if the customer wants. Custom software has a 10+ year lifetime and must be supported over that time |
| Product-based software engineering | Starts with a company finding a business opportunity. Then the company designs software, controlling the development timeline, features, and updates. Rapid delivery is crucial to capture the market |
| Platform | A software product that includes functionality so that new applications can be built on it (ex Facebook) |
| Software execution models | Stand-alone, Hybrid, Software service |
| Stand-alone | The software executes entirely on the customer's computer |
| Hybrid | Some of the software's functionality is implemented on the customer's computer, some are on the product developer's servers |
| Software service | All of the product's features are implemented on the developer's servers and the customer accesses these through a browser or mobile app |
| Product prototyping | Developing an early version of a product to test your ideas and convince company funders that your product has real market potential |
| Feasibility demonstration | Executable system that tests new ideas to see if they work and to show management how its features are better than competitors |
| Customer demonstration | Take a prototype and extend it with ideas for specific customer features. Before making this prototype, user studies are needed |
| Lack of prefabricated components | Not enough ready made components to build software. The cloud provides platforms with ready made functions for making cloud-based applications |
| Lack of metrics | Software quality factors are correctness of the output, reliability (failure rate), efficiency, and usability. No perfect metrics to measure these factors |
| Professional Organizations | Codes of professional ethics. Organizations - ACM, IEEE, etc |
| Computer Aided Software Engineering(CASE) tools | Set of software application programs, which are used to automate Software Development Life Cycle(SDLC) activities |
| Development phase of the software life cycle | Requirements Analysis, Design stage, Implementation stage, Testing state |
| Requirements Analysis | Requires significant input from the stakeholders. Identify the specifications of the software and the tools needed. Record all collected data and the analysis of this data into documents |
| Design stage | Select a specific software engineering method, tools to develop, diagrams that show and clarify the design. Includes data flow diagram, UML, and human interface |
| Waterfall Model | Traditional method |
| Incremental Model | Prototyping |
| Agile methods | Modern method |
| Implementation stage | Create system from design. Write programs, create data files, and develop databases. Role of a software analyst |
| Testing stage | Validation testing - confirm that system meets specifications. Defect testing - find bugs |