Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer ScienceSoftware Engineering Slide 1 Review l The need for software engineering l Processes Waterfall Iterative waterfall Evolutionary Formal systems.

Similar presentations


Presentation on theme: "Computer ScienceSoftware Engineering Slide 1 Review l The need for software engineering l Processes Waterfall Iterative waterfall Evolutionary Formal systems."— Presentation transcript:

1 Computer ScienceSoftware Engineering Slide 1 Review l The need for software engineering l Processes Waterfall Iterative waterfall Evolutionary Formal systems Reuse-oriented Iterative Incremental Spiral

2 Computer ScienceSoftware Engineering Slide 2 Barzun's Laws of Learning The simple but difficult arts of paying attention, copying accurately, following an argument, detecting an ambiguity or a false inference, testing guesses by summoning up contrary instances, organizing one's time and one's thought for study -- all these arts -- cannot be taught in the air but only through the difficulties of a defined subject. They cannot be taught in one course or one year, but must be acquired gradually in dozens of connections.

3 Computer ScienceSoftware Engineering Slide 3 The software design process

4 Computer ScienceSoftware Engineering Slide 4 The testing process

5 Computer ScienceSoftware Engineering Slide 5 System evolution

6 Computer ScienceSoftware Engineering Slide 6 Requirements document l Supported activity list l HCI description l Solved problems list l Information sources list l Information-requesting organizations l Checks and Balances l Security and fault-tolerance requirements l Interoperating systems list l Estimates of information capacity and growth l Project time frame l Prioritization of requirements l Ethical concerns

7 Computer ScienceSoftware Engineering Slide 7 Eliciting and Validating Requirements – Start of Design l Informal Scenarios Detailed walkthrough of scenario l UCCD – Use-case centered design l Use-cases – Use-case diagrams l Scenarios l Primary Classes Nouns  classes Properties (State, service, multiple/common attributes/methods, essential requirement)

8 Computer ScienceSoftware Engineering Slide 8 UML l Use-Case diagrams l Deployment Diagrams l Class Diagrams l State Diagrams l Sequence diagrams l Object diagrams

9 Computer ScienceSoftware Engineering Slide 9 Architecture l Skeleton l Top level design of system l Persistence l HCI

10 Computer ScienceSoftware Engineering Slide 10 Design with Reuse l Component-based development Provides/Requires interfaces Frameworks - MVC l Application families Resource management system – specialized for LMS l Design Patterns Observer

11 Computer ScienceSoftware Engineering Slide 11 Architecture - Distributed l Performance l Security l Safety l Availability l Maintainability l Models Repository, Client-server, centralized/event-triggered control, Object Models

12 Computer ScienceSoftware Engineering Slide 12 Distributed Systems l Client-server Server-consumer model Data management, application processing, presentation Thin and fat clients l Three Tier Architectures l Distributed objects Peer to peer CORBA

13 Computer ScienceSoftware Engineering Slide 13 ORB-based object communications

14 Computer ScienceSoftware Engineering Slide 14 Verification and Validation l Verification Are we building the product right? l Validation Are we building the right product? l Unit and integration testing l Black box versus White box testing

15 Computer ScienceSoftware Engineering Slide 15 Engineer Software Engineer Responsibilities: ·Design and develop in C tests to validate ASIC hardware and software features and functionality ·Design and develop tests for hardware and software specification conformance ·Analyze protocol and software design - code, and create detailed test descriptions ·Develop software and/or system configurations to execute test descriptions ·Execute test in VERA simulator, on FPGA boards, or on a system-level box Key Role: Contribute significantly to a project involving the design and development of software for a scanning and message forwarding system. Qualifications: l BS or MS degree in CS l 2+ years of experience in C++ programming l Experience with Java and object-oriented analysis and design l Experience with Sun workstations running Solaris l Experience with using tools such as Rogue Wave and Purify

16 Computer ScienceSoftware Engineering Slide 16 More : The responsibilities of this role include: Defining the functional requirements of the Applications Software solution and designs solution to meet those requirements Analyzing situations or data to determine feasibility of design within time and cost requirements Designing and developing Software applications Consulting with other engineering staff to evaluate interface between hardware and software to maximize performance of the applications Writing code for individual components of Multi-Tier applications Building and executing Database Server scripts Maintaining documentation of code and performs bug fixes Consulting with clients concerning maintenance of applications


Download ppt "Computer ScienceSoftware Engineering Slide 1 Review l The need for software engineering l Processes Waterfall Iterative waterfall Evolutionary Formal systems."

Similar presentations


Ads by Google